solc-typed-ast 9.1.2 → 9.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/ast/documentation.d.ts +23 -0
  2. package/dist/ast/documentation.d.ts.map +1 -0
  3. package/dist/ast/documentation.js +91 -0
  4. package/dist/ast/documentation.js.map +1 -0
  5. package/dist/ast/implementation/declaration/contract_definition.d.ts +14 -2
  6. package/dist/ast/implementation/declaration/contract_definition.d.ts.map +1 -1
  7. package/dist/ast/implementation/declaration/contract_definition.js +17 -23
  8. package/dist/ast/implementation/declaration/contract_definition.js.map +1 -1
  9. package/dist/ast/implementation/statement/block.d.ts +3 -2
  10. package/dist/ast/implementation/statement/block.d.ts.map +1 -1
  11. package/dist/ast/implementation/statement/block.js +1 -1
  12. package/dist/ast/implementation/statement/block.js.map +1 -1
  13. package/dist/ast/implementation/statement/do_while_statement.js +1 -1
  14. package/dist/ast/implementation/statement/do_while_statement.js.map +1 -1
  15. package/dist/ast/implementation/statement/emit_statement.js +1 -1
  16. package/dist/ast/implementation/statement/emit_statement.js.map +1 -1
  17. package/dist/ast/implementation/statement/expression_statement.js +1 -1
  18. package/dist/ast/implementation/statement/expression_statement.js.map +1 -1
  19. package/dist/ast/implementation/statement/for_statement.d.ts.map +1 -1
  20. package/dist/ast/implementation/statement/for_statement.js +1 -1
  21. package/dist/ast/implementation/statement/for_statement.js.map +1 -1
  22. package/dist/ast/implementation/statement/if_statement.js +1 -1
  23. package/dist/ast/implementation/statement/if_statement.js.map +1 -1
  24. package/dist/ast/implementation/statement/return.js +1 -1
  25. package/dist/ast/implementation/statement/return.js.map +1 -1
  26. package/dist/ast/implementation/statement/revert_statement.js +1 -1
  27. package/dist/ast/implementation/statement/revert_statement.js.map +1 -1
  28. package/dist/ast/implementation/statement/statement.d.ts +20 -4
  29. package/dist/ast/implementation/statement/statement.d.ts.map +1 -1
  30. package/dist/ast/implementation/statement/statement.js +30 -0
  31. package/dist/ast/implementation/statement/statement.js.map +1 -1
  32. package/dist/ast/implementation/statement/try_catch_clause.js +1 -1
  33. package/dist/ast/implementation/statement/try_catch_clause.js.map +1 -1
  34. package/dist/ast/implementation/statement/try_statement.js +1 -1
  35. package/dist/ast/implementation/statement/try_statement.js.map +1 -1
  36. package/dist/ast/implementation/statement/unchecked_block.d.ts +3 -2
  37. package/dist/ast/implementation/statement/unchecked_block.d.ts.map +1 -1
  38. package/dist/ast/implementation/statement/unchecked_block.js +1 -1
  39. package/dist/ast/implementation/statement/unchecked_block.js.map +1 -1
  40. package/dist/ast/implementation/statement/variable_declaration_statement.js +1 -1
  41. package/dist/ast/implementation/statement/variable_declaration_statement.js.map +1 -1
  42. package/dist/ast/implementation/statement/while_statement.js +1 -1
  43. package/dist/ast/implementation/statement/while_statement.js.map +1 -1
  44. package/dist/ast/index.d.ts +1 -0
  45. package/dist/ast/index.d.ts.map +1 -1
  46. package/dist/ast/index.js +1 -0
  47. package/dist/ast/index.js.map +1 -1
  48. package/dist/ast/postprocessing/structured_documentation_reconstruction.d.ts +10 -2
  49. package/dist/ast/postprocessing/structured_documentation_reconstruction.d.ts.map +1 -1
  50. package/dist/ast/postprocessing/structured_documentation_reconstruction.js +103 -15
  51. package/dist/ast/postprocessing/structured_documentation_reconstruction.js.map +1 -1
  52. package/dist/ast/writing/ast_mapping.d.ts.map +1 -1
  53. package/dist/ast/writing/ast_mapping.js +65 -28
  54. package/dist/ast/writing/ast_mapping.js.map +1 -1
  55. package/dist/compile/version.js +1 -1
  56. package/dist/compile/version.js.map +1 -1
  57. package/package.json +1 -1
@@ -0,0 +1,23 @@
1
+ import { ASTNode, ASTNodeWithChildren } from "./ast_node";
2
+ import { StructuredDocumentation } from "./implementation/meta";
3
+ export interface WithPrecedingDocs {
4
+ documentation?: string | StructuredDocumentation;
5
+ /**
6
+ * This field is used as a storage field for string,
7
+ * if string is set as value for `documentation`.
8
+ */
9
+ docString?: string;
10
+ }
11
+ export interface WithDanglingDocs {
12
+ danglingDocumentation?: string | StructuredDocumentation;
13
+ /**
14
+ * This field is used as a storage field for string,
15
+ * if string is set as value for `danglingDocumentation`.
16
+ */
17
+ danglingDocString?: string;
18
+ }
19
+ export declare function getDocumentation(node: WithPrecedingDocs & ASTNodeWithChildren<ASTNode>): string | StructuredDocumentation | undefined;
20
+ export declare function setDocumentation(node: WithPrecedingDocs & ASTNodeWithChildren<ASTNode>, value: string | StructuredDocumentation | undefined): void;
21
+ export declare function getDanglingDocumentation(node: WithDanglingDocs & ASTNodeWithChildren<ASTNode>): string | StructuredDocumentation | undefined;
22
+ export declare function setDanglingDocumentation(node: WithDanglingDocs & ASTNodeWithChildren<ASTNode>, value: string | StructuredDocumentation | undefined): void;
23
+ //# sourceMappingURL=documentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentation.d.ts","sourceRoot":"","sources":["../../src/ast/documentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAC9B,aAAa,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC;IAEjD;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC7B,qBAAqB,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC;IAEzD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,CAAC,GACvD,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAyB9C;AAED,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,CAAC,EACtD,KAAK,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,GACpD,IAAI,CAoBN;AAED,wBAAgB,wBAAwB,CACpC,IAAI,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,GACtD,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAyB9C;AAED,wBAAgB,wBAAwB,CACpC,IAAI,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,CAAC,EACrD,KAAK,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,GACpD,IAAI,CAoBN"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setDanglingDocumentation = exports.getDanglingDocumentation = exports.setDocumentation = exports.getDocumentation = void 0;
4
+ const meta_1 = require("./implementation/meta");
5
+ function getDocumentation(node) {
6
+ if (node.docString !== undefined) {
7
+ return node.docString;
8
+ }
9
+ const ownLoc = node.sourceInfo;
10
+ const children = node.children;
11
+ for (let c = 0; c < children.length; c++) {
12
+ const child = children[c];
13
+ if (child instanceof meta_1.StructuredDocumentation) {
14
+ const childLoc = child.sourceInfo;
15
+ /**
16
+ * Note that preceding documentation nodes are
17
+ * EXCLUDED from source range of parent node.
18
+ */
19
+ if (childLoc.offset <= ownLoc.offset) {
20
+ return child;
21
+ }
22
+ }
23
+ }
24
+ return undefined;
25
+ }
26
+ exports.getDocumentation = getDocumentation;
27
+ function setDocumentation(node, value) {
28
+ const old = node.documentation;
29
+ if (value instanceof meta_1.StructuredDocumentation) {
30
+ node.docString = undefined;
31
+ if (old instanceof meta_1.StructuredDocumentation) {
32
+ if (value !== old) {
33
+ node.replaceChild(value, old);
34
+ }
35
+ }
36
+ else {
37
+ node.insertAtBeginning(value);
38
+ }
39
+ }
40
+ else {
41
+ if (old instanceof meta_1.StructuredDocumentation) {
42
+ node.removeChild(old);
43
+ }
44
+ node.docString = value;
45
+ }
46
+ }
47
+ exports.setDocumentation = setDocumentation;
48
+ function getDanglingDocumentation(node) {
49
+ if (node.danglingDocString !== undefined) {
50
+ return node.danglingDocString;
51
+ }
52
+ const ownLoc = node.sourceInfo;
53
+ const children = node.children;
54
+ for (let c = children.length - 1; c >= 0; c--) {
55
+ const child = children[c];
56
+ if (child instanceof meta_1.StructuredDocumentation) {
57
+ const childLoc = child.sourceInfo;
58
+ /**
59
+ * Note that preceding documentation nodes are
60
+ * INCLUDED from source range of parent node.
61
+ */
62
+ if (childLoc.offset > ownLoc.offset) {
63
+ return child;
64
+ }
65
+ }
66
+ }
67
+ return undefined;
68
+ }
69
+ exports.getDanglingDocumentation = getDanglingDocumentation;
70
+ function setDanglingDocumentation(node, value) {
71
+ const old = node.danglingDocumentation;
72
+ if (value instanceof meta_1.StructuredDocumentation) {
73
+ node.danglingDocString = undefined;
74
+ if (old instanceof meta_1.StructuredDocumentation) {
75
+ if (value !== old) {
76
+ node.replaceChild(value, old);
77
+ }
78
+ }
79
+ else {
80
+ node.appendChild(value);
81
+ }
82
+ }
83
+ else {
84
+ if (old instanceof meta_1.StructuredDocumentation) {
85
+ node.removeChild(old);
86
+ }
87
+ node.danglingDocString = value;
88
+ }
89
+ }
90
+ exports.setDanglingDocumentation = setDanglingDocumentation;
91
+ //# sourceMappingURL=documentation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../src/ast/documentation.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ABIEncoderVersion } from "../../../types/abi";
2
2
  import { ASTNode, ASTNodeWithChildren } from "../../ast_node";
3
3
  import { ContractKind } from "../../constants";
4
+ import { WithDanglingDocs, WithPrecedingDocs } from "../../documentation";
4
5
  import { InheritanceSpecifier } from "../meta/inheritance_specifier";
5
6
  import { SourceUnit } from "../meta/source_unit";
6
7
  import { StructuredDocumentation } from "../meta/structured_documentation";
@@ -13,8 +14,9 @@ import { ModifierDefinition } from "./modifier_definition";
13
14
  import { StructDefinition } from "./struct_definition";
14
15
  import { UserDefinedValueTypeDefinition } from "./user_defined_value_type_definition";
15
16
  import { VariableDeclaration } from "./variable_declaration";
16
- export declare class ContractDefinition extends ASTNodeWithChildren<ASTNode> {
17
- private docString?;
17
+ export declare class ContractDefinition extends ASTNodeWithChildren<ASTNode> implements WithPrecedingDocs, WithDanglingDocs {
18
+ docString?: string;
19
+ danglingDocString?: string;
18
20
  /**
19
21
  * The contract name
20
22
  */
@@ -61,6 +63,16 @@ export declare class ContractDefinition extends ASTNodeWithChildren<ASTNode> {
61
63
  */
62
64
  get documentation(): string | StructuredDocumentation | undefined;
63
65
  set documentation(value: string | StructuredDocumentation | undefined);
66
+ /**
67
+ * Optional documentation that is dangling in the source fragment,
68
+ * that is after end of last child and before the end of the current node.
69
+ *
70
+ * It is:
71
+ * - Is `undefined` when not detected.
72
+ * - Is type of `string` for compatibility reasons.
73
+ */
74
+ get danglingDocumentation(): string | StructuredDocumentation | undefined;
75
+ set danglingDocumentation(value: string | StructuredDocumentation | undefined);
64
76
  /**
65
77
  * Reference to its scoped source unit
66
78
  */
@@ -1 +1 @@
1
- {"version":3,"file":"contract_definition.d.ts","sourceRoot":"","sources":["../../../../src/ast/implementation/declaration/contract_definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract_definition.d.ts","sourceRoot":"","sources":["../../../../src/ast/implementation/declaration/contract_definition.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContractDefinition = void 0;
4
4
  const ast_node_1 = require("../../ast_node");
5
5
  const constants_1 = require("../../constants");
6
+ const documentation_1 = require("../../documentation");
6
7
  const inheritance_specifier_1 = require("../meta/inheritance_specifier");
7
- const structured_documentation_1 = require("../meta/structured_documentation");
8
8
  const using_for_directive_1 = require("../meta/using_for_directive");
9
9
  const enum_definition_1 = require("./enum_definition");
10
10
  const error_definition_1 = require("./error_definition");
@@ -39,30 +39,24 @@ class ContractDefinition extends ast_node_1.ASTNodeWithChildren {
39
39
  * - Is instance of `StructuredDocumentation` when specified and compiler version is `0.6.3` or newer.
40
40
  */
41
41
  get documentation() {
42
- if (this.docString !== undefined) {
43
- return this.docString;
44
- }
45
- return this.ownChildren.find((node) => node instanceof structured_documentation_1.StructuredDocumentation);
42
+ return (0, documentation_1.getDocumentation)(this);
46
43
  }
47
44
  set documentation(value) {
48
- const old = this.documentation;
49
- if (value instanceof structured_documentation_1.StructuredDocumentation) {
50
- this.docString = undefined;
51
- if (old instanceof structured_documentation_1.StructuredDocumentation) {
52
- if (value !== old) {
53
- this.replaceChild(value, old);
54
- }
55
- }
56
- else {
57
- this.insertAtBeginning(value);
58
- }
59
- }
60
- else {
61
- if (old instanceof structured_documentation_1.StructuredDocumentation) {
62
- this.removeChild(old);
63
- }
64
- this.docString = value;
65
- }
45
+ (0, documentation_1.setDocumentation)(this, value);
46
+ }
47
+ /**
48
+ * Optional documentation that is dangling in the source fragment,
49
+ * that is after end of last child and before the end of the current node.
50
+ *
51
+ * It is:
52
+ * - Is `undefined` when not detected.
53
+ * - Is type of `string` for compatibility reasons.
54
+ */
55
+ get danglingDocumentation() {
56
+ return (0, documentation_1.getDanglingDocumentation)(this);
57
+ }
58
+ set danglingDocumentation(value) {
59
+ (0, documentation_1.setDanglingDocumentation)(this, value);
66
60
  }
67
61
  /**
68
62
  * Reference to its scoped source unit
@@ -1 +1 @@
1
- {"version":3,"file":"contract_definition.js","sourceRoot":"","sources":["../../../../src/ast/implementation/declaration/contract_definition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract_definition.js","sourceRoot":"","sources":["../../../../src/ast/implementation/declaration/contract_definition.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
+ import { ASTNode } from "../../ast_node";
1
2
  import { StructuredDocumentation } from "../meta";
2
3
  import { Statement, StatementWithChildren } from "./statement";
3
4
  /**
4
5
  * Block is a compound statement and it can hold other statements
5
6
  */
6
- export declare class Block extends StatementWithChildren<Statement> {
7
+ export declare class Block extends StatementWithChildren<Statement | StatementWithChildren<ASTNode> | StructuredDocumentation> {
7
8
  constructor(id: number, src: string, statements: Iterable<Statement>, documentation?: string | StructuredDocumentation, raw?: any);
8
9
  /**
9
10
  * An array of the member statements
10
11
  */
11
- get vStatements(): Statement[];
12
+ get vStatements(): Array<Statement | StatementWithChildren<ASTNode>>;
12
13
  }
13
14
  //# sourceMappingURL=block.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE/D;;GAEG;AACH,qBAAa,KAAM,SAAQ,qBAAqB,CAAC,SAAS,CAAC;gBAEnD,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,uBAAuB,EAChD,GAAG,CAAC,EAAE,GAAG;IASb;;OAEG;IACH,IAAI,WAAW,IAAI,SAAS,EAAE,CAE7B;CACJ"}
1
+ {"version":3,"file":"block.d.ts","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE/D;;GAEG;AACH,qBAAa,KAAM,SAAQ,qBAAqB,CAC5C,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,uBAAuB,CACvE;gBAEO,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,uBAAuB,EAChD,GAAG,CAAC,EAAE,GAAG;IASb;;OAEG;IACH,IAAI,WAAW,IAAI,KAAK,CAAC,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAInE;CACJ"}
@@ -16,7 +16,7 @@ class Block extends statement_1.StatementWithChildren {
16
16
  * An array of the member statements
17
17
  */
18
18
  get vStatements() {
19
- return this.ownChildren;
19
+ return this.ownChildren.filter((node) => node instanceof statement_1.Statement || node instanceof statement_1.StatementWithChildren);
20
20
  }
21
21
  }
22
22
  exports.Block = Block;
@@ -1 +1 @@
1
- {"version":3,"file":"block.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/block.ts"],"names":[],"mappings":";;;AACA,2CAA+D;AAE/D;;GAEG;AACH,MAAa,KAAM,SAAQ,iCAAgC;IACvD,YACI,EAAU,EACV,GAAW,EACX,UAA+B,EAC/B,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC/B;IACL,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,WAA0B,CAAC;IAC3C,CAAC;CACJ;AArBD,sBAqBC"}
1
+ {"version":3,"file":"block.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/block.ts"],"names":[],"mappings":";;;AAEA,2CAA+D;AAE/D;;GAEG;AACH,MAAa,KAAM,SAAQ,iCAE1B;IACG,YACI,EAAU,EACV,GAAW,EACX,UAA+B,EAC/B,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC/B;IACL,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAC1B,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,qBAAS,IAAI,IAAI,YAAY,iCAAqB,CAC/E,CAAC;IACN,CAAC;CACJ;AAzBD,sBAyBC"}
@@ -10,7 +10,7 @@ class DoWhileStatement extends statement_1.Statement {
10
10
  this.acceptChildren();
11
11
  }
12
12
  get children() {
13
- return this.pickNodes(this.vCondition, this.vBody);
13
+ return this.pickNodes(this.documentation, this.vCondition, this.vBody);
14
14
  }
15
15
  }
16
16
  exports.DoWhileStatement = DoWhileStatement;
@@ -1 +1 @@
1
- {"version":3,"file":"do_while_statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/do_while_statement.ts"],"names":[],"mappings":";;;AAGA,2CAAwC;AAExC,MAAa,gBAAiB,SAAQ,qBAAS;IAW3C,YACI,EAAU,EACV,GAAW,EACX,SAAqB,EACrB,IAAe,EACf,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;CACJ;AA9BD,4CA8BC"}
1
+ {"version":3,"file":"do_while_statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/do_while_statement.ts"],"names":[],"mappings":";;;AAGA,2CAAwC;AAExC,MAAa,gBAAiB,SAAQ,qBAAS;IAW3C,YACI,EAAU,EACV,GAAW,EACX,SAAqB,EACrB,IAAe,EACf,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC;CACJ;AA9BD,4CA8BC"}
@@ -9,7 +9,7 @@ class EmitStatement extends statement_1.Statement {
9
9
  this.acceptChildren();
10
10
  }
11
11
  get children() {
12
- return this.pickNodes(this.vEventCall);
12
+ return this.pickNodes(this.documentation, this.vEventCall);
13
13
  }
14
14
  }
15
15
  exports.EmitStatement = EmitStatement;
@@ -1 +1 @@
1
- {"version":3,"file":"emit_statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/emit_statement.ts"],"names":[],"mappings":";;;AAGA,2CAAwC;AAExC,MAAa,aAAc,SAAQ,qBAAS;IAMxC,YACI,EAAU,EACV,GAAW,EACX,SAAuB,EACvB,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;CACJ;AAvBD,sCAuBC"}
1
+ {"version":3,"file":"emit_statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/emit_statement.ts"],"names":[],"mappings":";;;AAGA,2CAAwC;AAExC,MAAa,aAAc,SAAQ,qBAAS;IAMxC,YACI,EAAU,EACV,GAAW,EACX,SAAuB,EACvB,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/D,CAAC;CACJ;AAvBD,sCAuBC"}
@@ -12,7 +12,7 @@ class ExpressionStatement extends statement_1.Statement {
12
12
  this.acceptChildren();
13
13
  }
14
14
  get children() {
15
- return this.pickNodes(this.vExpression);
15
+ return this.pickNodes(this.documentation, this.vExpression);
16
16
  }
17
17
  }
18
18
  exports.ExpressionStatement = ExpressionStatement;
@@ -1 +1 @@
1
- {"version":3,"file":"expression_statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/expression_statement.ts"],"names":[],"mappings":";;;AAGA,2CAAwC;AAExC;;GAEG;AACH,MAAa,mBAAoB,SAAQ,qBAAS;IAM9C,YACI,EAAU,EACV,GAAW,EACX,UAAsB,EACtB,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAE9B,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;CACJ;AAvBD,kDAuBC"}
1
+ {"version":3,"file":"expression_statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/expression_statement.ts"],"names":[],"mappings":";;;AAGA,2CAAwC;AAExC;;GAEG;AACH,MAAa,mBAAoB,SAAQ,qBAAS;IAM9C,YACI,EAAU,EACV,GAAW,EACX,UAAsB,EACtB,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAE9B,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;CACJ;AAvBD,kDAuBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"for_statement.d.ts","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/for_statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAEhF,qBAAa,YAAa,SAAQ,SAAS;IACvC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,4BAA4B,GAAG,mBAAmB,CAAC;IAE/E;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAC;IAEtC;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;gBAGb,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,EACf,wBAAwB,CAAC,EAAE,4BAA4B,GAAG,mBAAmB,EAC7E,SAAS,CAAC,EAAE,UAAU,EACtB,cAAc,CAAC,EAAE,mBAAmB,EACpC,aAAa,CAAC,EAAE,MAAM,GAAG,uBAAuB,EAChD,GAAG,CAAC,EAAE,GAAG;IAYb,IAAI,QAAQ,IAAI,SAAS,OAAO,EAAE,CAOjC;CACJ"}
1
+ {"version":3,"file":"for_statement.d.ts","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/for_statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAEhF,qBAAa,YAAa,SAAQ,SAAS;IACvC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,4BAA4B,GAAG,mBAAmB,CAAC;IAE/E;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAC;IAEtC;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;gBAGb,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,EACf,wBAAwB,CAAC,EAAE,4BAA4B,GAAG,mBAAmB,EAC7E,SAAS,CAAC,EAAE,UAAU,EACtB,cAAc,CAAC,EAAE,mBAAmB,EACpC,aAAa,CAAC,EAAE,MAAM,GAAG,uBAAuB,EAChD,GAAG,CAAC,EAAE,GAAG;IAYb,IAAI,QAAQ,IAAI,SAAS,OAAO,EAAE,CAQjC;CACJ"}
@@ -12,7 +12,7 @@ class ForStatement extends statement_1.Statement {
12
12
  this.acceptChildren();
13
13
  }
14
14
  get children() {
15
- return this.pickNodes(this.vInitializationExpression, this.vCondition, this.vLoopExpression, this.vBody);
15
+ return this.pickNodes(this.documentation, this.vInitializationExpression, this.vCondition, this.vLoopExpression, this.vBody);
16
16
  }
17
17
  }
18
18
  exports.ForStatement = ForStatement;
@@ -1 +1 @@
1
- {"version":3,"file":"for_statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/for_statement.ts"],"names":[],"mappings":";;;AAIA,2CAAwC;AAGxC,MAAa,YAAa,SAAQ,qBAAS;IAsBvC,YACI,EAAU,EACV,GAAW,EACX,IAAe,EACf,wBAA6E,EAC7E,SAAsB,EACtB,cAAoC,EACpC,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,yBAAyB,GAAG,wBAAwB,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CACjB,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,KAAK,CACb,CAAC;IACN,CAAC;CACJ;AAlDD,oCAkDC"}
1
+ {"version":3,"file":"for_statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/for_statement.ts"],"names":[],"mappings":";;;AAIA,2CAAwC;AAGxC,MAAa,YAAa,SAAQ,qBAAS;IAsBvC,YACI,EAAU,EACV,GAAW,EACX,IAAe,EACf,wBAA6E,EAC7E,SAAsB,EACtB,cAAoC,EACpC,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,yBAAyB,GAAG,wBAAwB,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAElB,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CACjB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,yBAAyB,EAC9B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,KAAK,CACb,CAAC;IACN,CAAC;CACJ;AAnDD,oCAmDC"}
@@ -11,7 +11,7 @@ class IfStatement extends statement_1.Statement {
11
11
  this.acceptChildren();
12
12
  }
13
13
  get children() {
14
- return this.pickNodes(this.vCondition, this.vTrueBody, this.vFalseBody);
14
+ return this.pickNodes(this.documentation, this.vCondition, this.vTrueBody, this.vFalseBody);
15
15
  }
16
16
  }
17
17
  exports.IfStatement = IfStatement;
@@ -1 +1 @@
1
- {"version":3,"file":"if_statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/if_statement.ts"],"names":[],"mappings":";;;AAGA,2CAAwC;AAExC,MAAa,WAAY,SAAQ,qBAAS;IAgBtC,YACI,EAAU,EACV,GAAW,EACX,SAAqB,EACrB,QAAmB,EACnB,SAAqB,EACrB,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5E,CAAC;CACJ;AArCD,kCAqCC"}
1
+ {"version":3,"file":"if_statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/if_statement.ts"],"names":[],"mappings":";;;AAGA,2CAAwC;AAExC,MAAa,WAAY,SAAQ,qBAAS;IAgBtC,YACI,EAAU,EACV,GAAW,EACX,SAAqB,EACrB,QAAmB,EACnB,SAAqB,EACrB,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAChG,CAAC;CACJ;AArCD,kCAqCC"}
@@ -10,7 +10,7 @@ class Return extends statement_1.Statement {
10
10
  this.acceptChildren();
11
11
  }
12
12
  get children() {
13
- return this.pickNodes(this.vExpression);
13
+ return this.pickNodes(this.documentation, this.vExpression);
14
14
  }
15
15
  /**
16
16
  * The parameter list that specifies the return parameters
@@ -1 +1 @@
1
- {"version":3,"file":"return.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/return.ts"],"names":[],"mappings":";;;AAIA,2CAAwC;AAExC,MAAa,MAAO,SAAQ,qBAAS;IAWjC,YACI,EAAU,EACV,GAAW,EACX,wBAAgC,EAChC,UAAuB,EACvB,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QAEzD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAE9B,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAI,yBAAyB;QACzB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAkB,CAAC;IACvF,CAAC;IAED,IAAI,yBAAyB,CAAC,KAAoB;QAC9C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,mCAAmC,CAAC,CAAC;SACtF;QAED,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC,EAAE,CAAC;IAC7C,CAAC;CACJ;AA9CD,wBA8CC"}
1
+ {"version":3,"file":"return.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/return.ts"],"names":[],"mappings":";;;AAIA,2CAAwC;AAExC,MAAa,MAAO,SAAQ,qBAAS;IAWjC,YACI,EAAU,EACV,GAAW,EACX,wBAAgC,EAChC,UAAuB,EACvB,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QAEzD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAE9B,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,IAAI,yBAAyB;QACzB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAkB,CAAC;IACvF,CAAC;IAED,IAAI,yBAAyB,CAAC,KAAoB;QAC9C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,mCAAmC,CAAC,CAAC;SACtF;QAED,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC,EAAE,CAAC;IAC7C,CAAC;CACJ;AA9CD,wBA8CC"}
@@ -9,7 +9,7 @@ class RevertStatement extends statement_1.Statement {
9
9
  this.acceptChildren();
10
10
  }
11
11
  get children() {
12
- return this.pickNodes(this.errorCall);
12
+ return this.pickNodes(this.documentation, this.errorCall);
13
13
  }
14
14
  }
15
15
  exports.RevertStatement = RevertStatement;
@@ -1 +1 @@
1
- {"version":3,"file":"revert_statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/revert_statement.ts"],"names":[],"mappings":";;;AAGA,2CAAwC;AAExC,MAAa,eAAgB,SAAQ,qBAAS;IAM1C,YACI,EAAU,EACV,GAAW,EACX,SAAuB,EACvB,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;CACJ;AAvBD,0CAuBC"}
1
+ {"version":3,"file":"revert_statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/revert_statement.ts"],"names":[],"mappings":";;;AAGA,2CAAwC;AAExC,MAAa,eAAgB,SAAQ,qBAAS;IAM1C,YACI,EAAU,EACV,GAAW,EACX,SAAuB,EACvB,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;CACJ;AAvBD,0CAuBC"}
@@ -1,4 +1,5 @@
1
1
  import { ASTNode, ASTNodeWithChildren } from "../../ast_node";
2
+ import { WithDanglingDocs, WithPrecedingDocs } from "../../documentation";
2
3
  import { StructuredDocumentation } from "../meta";
3
4
  export declare class Statement extends ASTNode {
4
5
  /**
@@ -8,14 +9,29 @@ export declare class Statement extends ASTNode {
8
9
  */
9
10
  documentation?: string | StructuredDocumentation;
10
11
  constructor(id: number, src: string, documentation?: string | StructuredDocumentation, raw?: any);
12
+ get children(): readonly ASTNode[];
11
13
  }
12
- export declare class StatementWithChildren<T extends ASTNode> extends ASTNodeWithChildren<T> {
14
+ export declare class StatementWithChildren<T extends ASTNode> extends ASTNodeWithChildren<T> implements WithPrecedingDocs, WithDanglingDocs {
15
+ docString?: string;
16
+ danglingDocString?: string;
17
+ constructor(id: number, src: string, documentation?: string | StructuredDocumentation, raw?: any);
13
18
  /**
14
- * Optional documentation appearing above the statement:
19
+ * Optional documentation appearing above the contract definition:
15
20
  * - Is `undefined` when not specified.
21
+ * - Is type of `string` when specified and compiler version is older than `0.6.3`.
22
+ * - Is instance of `StructuredDocumentation` when specified and compiler version is `0.6.3` or newer.
23
+ */
24
+ get documentation(): string | StructuredDocumentation | undefined;
25
+ set documentation(value: string | StructuredDocumentation | undefined);
26
+ /**
27
+ * Optional documentation that is dangling in the source fragment,
28
+ * that is after end of last child and before the end of the current node.
29
+ *
30
+ * It is:
31
+ * - Is `undefined` when not detected.
16
32
  * - Is type of `string` for compatibility reasons.
17
33
  */
18
- documentation?: string | StructuredDocumentation;
19
- constructor(id: number, src: string, documentation?: string | StructuredDocumentation, raw?: any);
34
+ get danglingDocumentation(): string | StructuredDocumentation | undefined;
35
+ set danglingDocumentation(value: string | StructuredDocumentation | undefined);
20
36
  }
21
37
  //# sourceMappingURL=statement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"statement.d.ts","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,qBAAa,SAAU,SAAQ,OAAO;IAClC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC;gBAG7C,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GAAG,uBAAuB,EAChD,GAAG,CAAC,EAAE,GAAG;CAMhB;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,OAAO,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IAChF;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC;gBAG7C,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GAAG,uBAAuB,EAChD,GAAG,CAAC,EAAE,GAAG;CAMhB"}
1
+ {"version":3,"file":"statement.d.ts","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAKH,gBAAgB,EAChB,iBAAiB,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,qBAAa,SAAU,SAAQ,OAAO;IAClC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC;gBAG7C,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GAAG,uBAAuB,EAChD,GAAG,CAAC,EAAE,GAAG;IAOb,IAAI,QAAQ,IAAI,SAAS,OAAO,EAAE,CAEjC;CACJ;AAED,qBAAa,qBAAqB,CAAC,CAAC,SAAS,OAAO,CAChD,SAAQ,mBAAmB,CAAC,CAAC,CAC7B,YAAW,iBAAiB,EAAE,gBAAgB;IAE9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;gBAGvB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GAAG,uBAAuB,EAChD,GAAG,CAAC,EAAE,GAAG;IAOb;;;;;OAKG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAEhE;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,EAEpE;IAED;;;;;;;OAOG;IACH,IAAI,qBAAqB,IAAI,MAAM,GAAG,uBAAuB,GAAG,SAAS,CAExE;IAED,IAAI,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,uBAAuB,GAAG,SAAS,EAE5E;CACJ"}
@@ -2,11 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StatementWithChildren = exports.Statement = void 0;
4
4
  const ast_node_1 = require("../../ast_node");
5
+ const documentation_1 = require("../../documentation");
5
6
  class Statement extends ast_node_1.ASTNode {
6
7
  constructor(id, src, documentation, raw) {
7
8
  super(id, src, raw);
8
9
  this.documentation = documentation;
9
10
  }
11
+ get children() {
12
+ return this.pickNodes(this.documentation);
13
+ }
10
14
  }
11
15
  exports.Statement = Statement;
12
16
  class StatementWithChildren extends ast_node_1.ASTNodeWithChildren {
@@ -14,6 +18,32 @@ class StatementWithChildren extends ast_node_1.ASTNodeWithChildren {
14
18
  super(id, src, raw);
15
19
  this.documentation = documentation;
16
20
  }
21
+ /**
22
+ * Optional documentation appearing above the contract definition:
23
+ * - Is `undefined` when not specified.
24
+ * - Is type of `string` when specified and compiler version is older than `0.6.3`.
25
+ * - Is instance of `StructuredDocumentation` when specified and compiler version is `0.6.3` or newer.
26
+ */
27
+ get documentation() {
28
+ return (0, documentation_1.getDocumentation)(this);
29
+ }
30
+ set documentation(value) {
31
+ (0, documentation_1.setDocumentation)(this, value);
32
+ }
33
+ /**
34
+ * Optional documentation that is dangling in the source fragment,
35
+ * that is after end of last child and before the end of the current node.
36
+ *
37
+ * It is:
38
+ * - Is `undefined` when not detected.
39
+ * - Is type of `string` for compatibility reasons.
40
+ */
41
+ get danglingDocumentation() {
42
+ return (0, documentation_1.getDanglingDocumentation)(this);
43
+ }
44
+ set danglingDocumentation(value) {
45
+ (0, documentation_1.setDanglingDocumentation)(this, value);
46
+ }
17
47
  }
18
48
  exports.StatementWithChildren = StatementWithChildren;
19
49
  //# sourceMappingURL=statement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/statement.ts"],"names":[],"mappings":";;;AAAA,6CAA8D;AAG9D,MAAa,SAAU,SAAQ,kBAAO;IAQlC,YACI,EAAU,EACV,GAAW,EACX,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAEpB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;CACJ;AAlBD,8BAkBC;AAED,MAAa,qBAAyC,SAAQ,8BAAsB;IAQhF,YACI,EAAU,EACV,GAAW,EACX,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAEpB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;CACJ;AAlBD,sDAkBC"}
1
+ {"version":3,"file":"statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/statement.ts"],"names":[],"mappings":";;;AAAA,6CAA8D;AAC9D,uDAO6B;AAG7B,MAAa,SAAU,SAAQ,kBAAO;IAQlC,YACI,EAAU,EACV,GAAW,EACX,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAEpB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;CACJ;AAtBD,8BAsBC;AAED,MAAa,qBACT,SAAQ,8BAAsB;IAM9B,YACI,EAAU,EACV,GAAW,EACX,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAEpB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,IAAI,aAAa;QACb,OAAO,IAAA,gCAAgB,EAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,aAAa,CAAC,KAAmD;QACjE,IAAA,gCAAgB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,qBAAqB;QACrB,OAAO,IAAA,wCAAwB,EAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,qBAAqB,CAAC,KAAmD;QACzE,IAAA,wCAAwB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;CACJ;AA/CD,sDA+CC"}
@@ -11,7 +11,7 @@ class TryCatchClause extends statement_1.Statement {
11
11
  this.acceptChildren();
12
12
  }
13
13
  get children() {
14
- return this.pickNodes(this.vParameters, this.vBlock);
14
+ return this.pickNodes(this.documentation, this.vParameters, this.vBlock);
15
15
  }
16
16
  }
17
17
  exports.TryCatchClause = TryCatchClause;
@@ -1 +1 @@
1
- {"version":3,"file":"try_catch_clause.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/try_catch_clause.ts"],"names":[],"mappings":";;;AAIA,2CAAwC;AAExC,MAAa,cAAe,SAAQ,qBAAS;IAgBzC,YACI,EAAU,EACV,GAAW,EACX,SAAiB,EACjB,KAAY,EACZ,UAA0B,EAC1B,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;CACJ;AArCD,wCAqCC"}
1
+ {"version":3,"file":"try_catch_clause.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/try_catch_clause.ts"],"names":[],"mappings":";;;AAIA,2CAAwC;AAExC,MAAa,cAAe,SAAQ,qBAAS;IAgBzC,YACI,EAAU,EACV,GAAW,EACX,SAAiB,EACjB,KAAY,EACZ,UAA0B,EAC1B,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7E,CAAC;CACJ;AArCD,wCAqCC"}
@@ -10,7 +10,7 @@ class TryStatement extends statement_1.Statement {
10
10
  this.acceptChildren();
11
11
  }
12
12
  get children() {
13
- return this.pickNodes(this.vExternalCall, this.vClauses);
13
+ return this.pickNodes(this.documentation, this.vExternalCall, this.vClauses);
14
14
  }
15
15
  }
16
16
  exports.TryStatement = TryStatement;
@@ -1 +1 @@
1
- {"version":3,"file":"try_statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/try_statement.ts"],"names":[],"mappings":";;;AAGA,2CAAwC;AAGxC,MAAa,YAAa,SAAQ,qBAAS;IAWvC,YACI,EAAU,EACV,GAAW,EACX,YAA0B,EAC1B,OAAyB,EACzB,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;CACJ;AA9BD,oCA8BC"}
1
+ {"version":3,"file":"try_statement.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/try_statement.ts"],"names":[],"mappings":";;;AAGA,2CAAwC;AAGxC,MAAa,YAAa,SAAQ,qBAAS;IAWvC,YACI,EAAU,EACV,GAAW,EACX,YAA0B,EAC1B,OAAyB,EACzB,aAAgD,EAChD,GAAS;QAET,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,CAAC,cAAc,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjF,CAAC;CACJ;AA9BD,oCA8BC"}
@@ -1,14 +1,15 @@
1
+ import { ASTNode } from "../../ast_node";
1
2
  import { StructuredDocumentation } from "../meta";
2
3
  import { Statement, StatementWithChildren } from "./statement";
3
4
  /**
4
5
  * UncheckedBlock is a compound statement that indicates
5
6
  * the underflow and overflow effects are permitted in math expressions.
6
7
  */
7
- export declare class UncheckedBlock extends StatementWithChildren<Statement> {
8
+ export declare class UncheckedBlock extends StatementWithChildren<Statement | StatementWithChildren<ASTNode> | StructuredDocumentation> {
8
9
  constructor(id: number, src: string, statements: Iterable<Statement>, documentation?: string | StructuredDocumentation, raw?: any);
9
10
  /**
10
11
  * An array of the member statements
11
12
  */
12
- get vStatements(): Statement[];
13
+ get vStatements(): Array<Statement | StatementWithChildren<ASTNode>>;
13
14
  }
14
15
  //# sourceMappingURL=unchecked_block.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unchecked_block.d.ts","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/unchecked_block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE/D;;;GAGG;AACH,qBAAa,cAAe,SAAQ,qBAAqB,CAAC,SAAS,CAAC;gBAE5D,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,uBAAuB,EAChD,GAAG,CAAC,EAAE,GAAG;IASb;;OAEG;IACH,IAAI,WAAW,IAAI,SAAS,EAAE,CAE7B;CACJ"}
1
+ {"version":3,"file":"unchecked_block.d.ts","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/unchecked_block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE/D;;;GAGG;AACH,qBAAa,cAAe,SAAQ,qBAAqB,CACrD,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,GAAG,uBAAuB,CACvE;gBAEO,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,uBAAuB,EAChD,GAAG,CAAC,EAAE,GAAG;IASb;;OAEG;IACH,IAAI,WAAW,IAAI,KAAK,CAAC,SAAS,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAInE;CACJ"}
@@ -17,7 +17,7 @@ class UncheckedBlock extends statement_1.StatementWithChildren {
17
17
  * An array of the member statements
18
18
  */
19
19
  get vStatements() {
20
- return this.ownChildren;
20
+ return this.ownChildren.filter((node) => node instanceof statement_1.Statement || node instanceof statement_1.StatementWithChildren);
21
21
  }
22
22
  }
23
23
  exports.UncheckedBlock = UncheckedBlock;