spider-src 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/Gemfile +7 -0
  4. data/LICENSE.txt +74 -0
  5. data/README.md +37 -0
  6. data/Rakefile +25 -0
  7. data/lib/spider-src/support/spider/.eslintrc +17 -0
  8. data/lib/spider-src/support/spider/.npmignore +9 -0
  9. data/lib/spider-src/support/spider/.travis.yml +7 -0
  10. data/lib/spider-src/support/spider/.yo-rc.json +3 -0
  11. data/lib/spider-src/support/spider/CHANGELOG.md +64 -0
  12. data/lib/spider-src/support/spider/Gruntfile.js +97 -0
  13. data/lib/spider-src/support/spider/Gruntfile.spider +93 -0
  14. data/lib/spider-src/support/spider/LICENSE +201 -0
  15. data/lib/spider-src/support/spider/README.md +50 -0
  16. data/lib/spider-src/support/spider/cli.js +119 -0
  17. data/lib/spider-src/support/spider/lib/ast/CaseClause.js +179 -0
  18. data/lib/spider-src/support/spider/lib/ast/CatchClause.js +26 -0
  19. data/lib/spider-src/support/spider/lib/ast/ExportBatchSpecifier.js +19 -0
  20. data/lib/spider-src/support/spider/lib/ast/ExportSpecifier.js +33 -0
  21. data/lib/spider-src/support/spider/lib/ast/ImportDefaultSpecifier.js +23 -0
  22. data/lib/spider-src/support/spider/lib/ast/ImportNamespaceSpecifier.js +23 -0
  23. data/lib/spider-src/support/spider/lib/ast/ImportSpecifier.js +40 -0
  24. data/lib/spider-src/support/spider/lib/ast/Node.js +93 -0
  25. data/lib/spider-src/support/spider/lib/ast/Parameter.js +229 -0
  26. data/lib/spider-src/support/spider/lib/ast/Program.js +58 -0
  27. data/lib/spider-src/support/spider/lib/ast/Property.js +32 -0
  28. data/lib/spider-src/support/spider/lib/ast/Range.js +257 -0
  29. data/lib/spider-src/support/spider/lib/ast/VariableDeclarator.js +29 -0
  30. data/lib/spider-src/support/spider/lib/ast/expressions/ArrayExpression.js +41 -0
  31. data/lib/spider-src/support/spider/lib/ast/expressions/ArrayPattern.js +45 -0
  32. data/lib/spider-src/support/spider/lib/ast/expressions/AssignmentExpression.js +29 -0
  33. data/lib/spider-src/support/spider/lib/ast/expressions/BinaryExpression.js +104 -0
  34. data/lib/spider-src/support/spider/lib/ast/expressions/CallExpression.js +139 -0
  35. data/lib/spider-src/support/spider/lib/ast/expressions/ConditionalExpression.js +31 -0
  36. data/lib/spider-src/support/spider/lib/ast/expressions/CurryCallExpression.js +102 -0
  37. data/lib/spider-src/support/spider/lib/ast/expressions/ExistentialExpression.js +83 -0
  38. data/lib/spider-src/support/spider/lib/ast/expressions/ForInExpression.js +116 -0
  39. data/lib/spider-src/support/spider/lib/ast/expressions/FunctionExpression.js +157 -0
  40. data/lib/spider-src/support/spider/lib/ast/expressions/InExpression.js +99 -0
  41. data/lib/spider-src/support/spider/lib/ast/expressions/LogicalExpression.js +50 -0
  42. data/lib/spider-src/support/spider/lib/ast/expressions/MemberExpression.js +43 -0
  43. data/lib/spider-src/support/spider/lib/ast/expressions/NewExpression.js +46 -0
  44. data/lib/spider-src/support/spider/lib/ast/expressions/NullCheckCallExpression.js +132 -0
  45. data/lib/spider-src/support/spider/lib/ast/expressions/NullCoalescingExpression.js +114 -0
  46. data/lib/spider-src/support/spider/lib/ast/expressions/NullPropagatingExpression.js +161 -0
  47. data/lib/spider-src/support/spider/lib/ast/expressions/ObjectExpression.js +39 -0
  48. data/lib/spider-src/support/spider/lib/ast/expressions/ObjectPattern.js +49 -0
  49. data/lib/spider-src/support/spider/lib/ast/expressions/RangeMemberExpression.js +157 -0
  50. data/lib/spider-src/support/spider/lib/ast/expressions/SplatExpression.js +48 -0
  51. data/lib/spider-src/support/spider/lib/ast/expressions/SuperExpression.js +170 -0
  52. data/lib/spider-src/support/spider/lib/ast/expressions/ThisExpression.js +22 -0
  53. data/lib/spider-src/support/spider/lib/ast/expressions/UnaryExpression.js +147 -0
  54. data/lib/spider-src/support/spider/lib/ast/expressions/UpdateExpression.js +26 -0
  55. data/lib/spider-src/support/spider/lib/ast/literals/BooleanLiteral.js +24 -0
  56. data/lib/spider-src/support/spider/lib/ast/literals/Identifier.js +60 -0
  57. data/lib/spider-src/support/spider/lib/ast/literals/NullLiteral.js +24 -0
  58. data/lib/spider-src/support/spider/lib/ast/literals/NumberLiteral.js +24 -0
  59. data/lib/spider-src/support/spider/lib/ast/literals/RegularExpressionLiteral.js +25 -0
  60. data/lib/spider-src/support/spider/lib/ast/literals/StringLiteral.js +90 -0
  61. data/lib/spider-src/support/spider/lib/ast/literals/UndefinedLiteral.js +30 -0
  62. data/lib/spider-src/support/spider/lib/ast/statements/BlockStatement.js +47 -0
  63. data/lib/spider-src/support/spider/lib/ast/statements/BreakStatement.js +19 -0
  64. data/lib/spider-src/support/spider/lib/ast/statements/ContinueStatement.js +19 -0
  65. data/lib/spider-src/support/spider/lib/ast/statements/DebuggerStatement.js +19 -0
  66. data/lib/spider-src/support/spider/lib/ast/statements/DoWhileStatement.js +25 -0
  67. data/lib/spider-src/support/spider/lib/ast/statements/ExportDeclarationStatement.js +51 -0
  68. data/lib/spider-src/support/spider/lib/ast/statements/ExpressionStatement.js +22 -0
  69. data/lib/spider-src/support/spider/lib/ast/statements/FallthroughStatement.js +74 -0
  70. data/lib/spider-src/support/spider/lib/ast/statements/ForInStatement.js +79 -0
  71. data/lib/spider-src/support/spider/lib/ast/statements/ForOfStatement.js +98 -0
  72. data/lib/spider-src/support/spider/lib/ast/statements/ForStatement.js +43 -0
  73. data/lib/spider-src/support/spider/lib/ast/statements/FunctionDeclarationStatement.js +104 -0
  74. data/lib/spider-src/support/spider/lib/ast/statements/GoStatement.js +41 -0
  75. data/lib/spider-src/support/spider/lib/ast/statements/IfStatement.js +32 -0
  76. data/lib/spider-src/support/spider/lib/ast/statements/ImportDeclarationStatement.js +40 -0
  77. data/lib/spider-src/support/spider/lib/ast/statements/PushStatement.js +37 -0
  78. data/lib/spider-src/support/spider/lib/ast/statements/ReturnStatement.js +26 -0
  79. data/lib/spider-src/support/spider/lib/ast/statements/SwitchStatement.js +159 -0
  80. data/lib/spider-src/support/spider/lib/ast/statements/ThrowStatement.js +22 -0
  81. data/lib/spider-src/support/spider/lib/ast/statements/TryStatement.js +36 -0
  82. data/lib/spider-src/support/spider/lib/ast/statements/UntilStatement.js +31 -0
  83. data/lib/spider-src/support/spider/lib/ast/statements/UseStatement.js +49 -0
  84. data/lib/spider-src/support/spider/lib/ast/statements/VariableDeclarationStatement.js +36 -0
  85. data/lib/spider-src/support/spider/lib/ast/statements/WhileStatement.js +25 -0
  86. data/lib/spider-src/support/spider/lib/ast.js +16 -0
  87. data/lib/spider-src/support/spider/lib/parser.js +14878 -0
  88. data/lib/spider-src/support/spider/lib/spider.js +217 -0
  89. data/lib/spider-src/support/spider/package.json +61 -0
  90. data/lib/spider-src/support/spider/spider-script.js +6 -0
  91. data/lib/spider-src/support/spider/src/ast/CaseClause.spider +179 -0
  92. data/lib/spider-src/support/spider/src/ast/CatchClause.spider +30 -0
  93. data/lib/spider-src/support/spider/src/ast/ExportBatchSpecifier.spider +19 -0
  94. data/lib/spider-src/support/spider/src/ast/ExportSpecifier.spider +37 -0
  95. data/lib/spider-src/support/spider/src/ast/ImportDefaultSpecifier.spider +25 -0
  96. data/lib/spider-src/support/spider/src/ast/ImportNamespaceSpecifier.spider +25 -0
  97. data/lib/spider-src/support/spider/src/ast/ImportSpecifier.spider +44 -0
  98. data/lib/spider-src/support/spider/src/ast/Node.spider +104 -0
  99. data/lib/spider-src/support/spider/src/ast/Parameter.spider +233 -0
  100. data/lib/spider-src/support/spider/src/ast/Program.spider +109 -0
  101. data/lib/spider-src/support/spider/src/ast/Property.spider +36 -0
  102. data/lib/spider-src/support/spider/src/ast/Range.spider +291 -0
  103. data/lib/spider-src/support/spider/src/ast/VariableDeclarator.spider +33 -0
  104. data/lib/spider-src/support/spider/src/ast/expressions/ArrayExpression.spider +32 -0
  105. data/lib/spider-src/support/spider/src/ast/expressions/ArrayPattern.spider +37 -0
  106. data/lib/spider-src/support/spider/src/ast/expressions/AssignmentExpression.spider +34 -0
  107. data/lib/spider-src/support/spider/src/ast/expressions/BinaryExpression.spider +125 -0
  108. data/lib/spider-src/support/spider/src/ast/expressions/CallExpression.spider +149 -0
  109. data/lib/spider-src/support/spider/src/ast/expressions/ConditionalExpression.spider +34 -0
  110. data/lib/spider-src/support/spider/src/ast/expressions/CurryCallExpression.spider +109 -0
  111. data/lib/spider-src/support/spider/src/ast/expressions/ExistentialExpression.spider +102 -0
  112. data/lib/spider-src/support/spider/src/ast/expressions/ForInExpression.spider +140 -0
  113. data/lib/spider-src/support/spider/src/ast/expressions/FunctionExpression.spider +183 -0
  114. data/lib/spider-src/support/spider/src/ast/expressions/InExpression.spider +114 -0
  115. data/lib/spider-src/support/spider/src/ast/expressions/LogicalExpression.spider +62 -0
  116. data/lib/spider-src/support/spider/src/ast/expressions/MemberExpression.spider +57 -0
  117. data/lib/spider-src/support/spider/src/ast/expressions/NewExpression.spider +40 -0
  118. data/lib/spider-src/support/spider/src/ast/expressions/NullCheckCallExpression.spider +151 -0
  119. data/lib/spider-src/support/spider/src/ast/expressions/NullCoalescingExpression.spider +151 -0
  120. data/lib/spider-src/support/spider/src/ast/expressions/NullPropagatingExpression.spider +190 -0
  121. data/lib/spider-src/support/spider/src/ast/expressions/ObjectExpression.spider +30 -0
  122. data/lib/spider-src/support/spider/src/ast/expressions/ObjectPattern.spider +42 -0
  123. data/lib/spider-src/support/spider/src/ast/expressions/RangeMemberExpression.spider +179 -0
  124. data/lib/spider-src/support/spider/src/ast/expressions/SplatExpression.spider +49 -0
  125. data/lib/spider-src/support/spider/src/ast/expressions/SuperExpression.spider +235 -0
  126. data/lib/spider-src/support/spider/src/ast/expressions/ThisExpression.spider +21 -0
  127. data/lib/spider-src/support/spider/src/ast/expressions/UnaryExpression.spider +158 -0
  128. data/lib/spider-src/support/spider/src/ast/expressions/UpdateExpression.spider +28 -0
  129. data/lib/spider-src/support/spider/src/ast/literals/BooleanLiteral.spider +23 -0
  130. data/lib/spider-src/support/spider/src/ast/literals/Identifier.spider +68 -0
  131. data/lib/spider-src/support/spider/src/ast/literals/NullLiteral.spider +23 -0
  132. data/lib/spider-src/support/spider/src/ast/literals/NumberLiteral.spider +23 -0
  133. data/lib/spider-src/support/spider/src/ast/literals/RegularExpressionLiteral.spider +24 -0
  134. data/lib/spider-src/support/spider/src/ast/literals/StringLiteral.spider +91 -0
  135. data/lib/spider-src/support/spider/src/ast/literals/UndefinedLiteral.spider +30 -0
  136. data/lib/spider-src/support/spider/src/ast/statements/BlockStatement.spider +45 -0
  137. data/lib/spider-src/support/spider/src/ast/statements/BreakStatement.spider +19 -0
  138. data/lib/spider-src/support/spider/src/ast/statements/ContinueStatement.spider +19 -0
  139. data/lib/spider-src/support/spider/src/ast/statements/DebuggerStatement.spider +19 -0
  140. data/lib/spider-src/support/spider/src/ast/statements/DoWhileStatement.spider +28 -0
  141. data/lib/spider-src/support/spider/src/ast/statements/ExportDeclarationStatement.spider +46 -0
  142. data/lib/spider-src/support/spider/src/ast/statements/ExpressionStatement.spider +22 -0
  143. data/lib/spider-src/support/spider/src/ast/statements/FallthroughStatement.spider +85 -0
  144. data/lib/spider-src/support/spider/src/ast/statements/ForInStatement.spider +92 -0
  145. data/lib/spider-src/support/spider/src/ast/statements/ForOfStatement.spider +117 -0
  146. data/lib/spider-src/support/spider/src/ast/statements/ForStatement.spider +51 -0
  147. data/lib/spider-src/support/spider/src/ast/statements/FunctionDeclarationStatement.spider +115 -0
  148. data/lib/spider-src/support/spider/src/ast/statements/GoStatement.spider +44 -0
  149. data/lib/spider-src/support/spider/src/ast/statements/IfStatement.spider +38 -0
  150. data/lib/spider-src/support/spider/src/ast/statements/ImportDeclarationStatement.spider +33 -0
  151. data/lib/spider-src/support/spider/src/ast/statements/PushStatement.spider +40 -0
  152. data/lib/spider-src/support/spider/src/ast/statements/ReturnStatement.spider +28 -0
  153. data/lib/spider-src/support/spider/src/ast/statements/SwitchStatement.spider +161 -0
  154. data/lib/spider-src/support/spider/src/ast/statements/ThrowStatement.spider +23 -0
  155. data/lib/spider-src/support/spider/src/ast/statements/TryStatement.spider +42 -0
  156. data/lib/spider-src/support/spider/src/ast/statements/UntilStatement.spider +36 -0
  157. data/lib/spider-src/support/spider/src/ast/statements/UseStatement.spider +62 -0
  158. data/lib/spider-src/support/spider/src/ast/statements/VariableDeclarationStatement.spider +34 -0
  159. data/lib/spider-src/support/spider/src/ast/statements/WhileStatement.spider +28 -0
  160. data/lib/spider-src/support/spider/src/ast.spider +80 -0
  161. data/lib/spider-src/support/spider/src/spider.pegjs +1434 -0
  162. data/lib/spider-src/support/spider/src/spider.spider +276 -0
  163. data/lib/spider-src/support/spider/test/spider_test.js +1787 -0
  164. data/lib/spider-src/version.rb +5 -0
  165. data/lib/spider-src.rb +37 -0
  166. data/spider-src.gemspec +24 -0
  167. data/test/test_spider_src.rb +33 -0
  168. metadata +225 -0
@@ -0,0 +1,159 @@
1
+ $traceurRuntime.ModuleStore.getAnonymousModule(function() {
2
+ "use strict";
3
+ var Node = module.require("../Node").Node;
4
+ function SwitchStatement(discriminant, cases) {
5
+ Node.call(this);
6
+ this.type = "SwitchStatement";
7
+ this.discriminant = discriminant;
8
+ this.discriminant.parent = this;
9
+ this.cases = cases;
10
+ for (var $__0 = this.cases[$traceurRuntime.toProperty(Symbol.iterator)](),
11
+ $__1; !($__1 = $__0.next()).done; ) {
12
+ var caseClause = $__1.value;
13
+ {
14
+ caseClause.parent = this;
15
+ }
16
+ }
17
+ }
18
+ SwitchStatement.prototype = Object.create(Node);
19
+ SwitchStatement.prototype.codegen = function() {
20
+ if (!Node.prototype.codegen.call(this)) {
21
+ return;
22
+ }
23
+ var context = this.getContext();
24
+ var firstCase,
25
+ currentCase,
26
+ defaultCase;
27
+ var fallthroughPosition = 1;
28
+ this.discriminant = this.discriminant.codegen();
29
+ if (this.discriminant.hasCallExpression()) {
30
+ var id = {
31
+ "type": "Identifier",
32
+ "name": SwitchStatement.getNextVariableName()
33
+ };
34
+ context.node.body.splice(context.position, 0, {
35
+ "type": "VariableDeclaration",
36
+ "codeGenerated": true,
37
+ "declarations": [{
38
+ "type": "VariableDeclarator",
39
+ "id": id,
40
+ "init": this.discriminant
41
+ }],
42
+ "kind": "let"
43
+ });
44
+ this.discriminant = id;
45
+ }
46
+ var hasFallthrough = false;
47
+ for (var $__0 = this.cases[$traceurRuntime.toProperty(Symbol.iterator)](),
48
+ $__1; !($__1 = $__0.next()).done; ) {
49
+ var caseClause = $__1.value;
50
+ {
51
+ if (!caseClause.tests) {
52
+ defaultCase = caseClause;
53
+ break;
54
+ }
55
+ if (!(typeof firstCase !== "undefined" && firstCase !== null)) {
56
+ firstCase = caseClause.codegen();
57
+ currentCase = firstCase;
58
+ } else {
59
+ if (currentCase.fallthrough) {
60
+ hasFallthrough = true;
61
+ currentCase = caseClause.codegen(this.branchFallthrough);
62
+ context.node.body.splice(context.position + fallthroughPosition++, 0, currentCase);
63
+ } else {
64
+ currentCase.alternate = caseClause.codegen(typeof this.fallthroughId !== "undefined" && this.fallthroughId !== null);
65
+ currentCase = currentCase.alternate;
66
+ }
67
+ }
68
+ }
69
+ }
70
+ if (hasFallthrough) {
71
+ for (var $__2 = this.cases[$traceurRuntime.toProperty(Symbol.iterator)](),
72
+ $__3; !($__3 = $__2.next()).done; ) {
73
+ var caseClause$__6 = $__3.value;
74
+ {
75
+ if (!caseClause$__6.fallthrough && !!(caseClause$__6 !== defaultCase)) {
76
+ caseClause$__6.body.body = [{
77
+ "type": "ExpressionStatement",
78
+ "codeGenerated": true,
79
+ "expression": {
80
+ "type": "AssignmentExpression",
81
+ "operator": "=",
82
+ "left": this.fallthroughId,
83
+ "right": {
84
+ "type": "Literal",
85
+ "value": 2
86
+ }
87
+ }
88
+ }].concat(caseClause$__6.body.body);
89
+ }
90
+ }
91
+ }
92
+ }
93
+ if (typeof defaultCase !== "undefined" && defaultCase !== null) {
94
+ if (!(typeof firstCase !== "undefined" && firstCase !== null)) {
95
+ Node.getErrorManager().error({
96
+ type: "SingleDefaultClause",
97
+ message: "default clause without other case clauses is disallowed.",
98
+ loc: defaultCase.loc
99
+ });
100
+ } else {
101
+ if (currentCase.fallthrough) {
102
+ defaultCase = defaultCase.codegen(typeof this.fallthroughId !== "undefined" && this.fallthroughId !== null);
103
+ defaultCase.codeGenerated = true;
104
+ if (typeof this.fallthroughId !== "undefined" && this.fallthroughId !== null) {
105
+ context.node.body.splice(context.position + fallthroughPosition++, 0, defaultCase);
106
+ } else {
107
+ for (var $__4 = defaultCase.body[$traceurRuntime.toProperty(Symbol.iterator)](),
108
+ $__5; !($__5 = $__4.next()).done; ) {
109
+ var statement = $__5.value;
110
+ {
111
+ context.node.body.splice(context.position + fallthroughPosition++, 0, statement);
112
+ }
113
+ }
114
+ }
115
+ } else {
116
+ currentCase.alternate = defaultCase.codegen(typeof this.fallthroughId !== "undefined" && this.fallthroughId !== null);
117
+ }
118
+ }
119
+ }
120
+ if (typeof this.fallthroughId !== "undefined" && this.fallthroughId !== null) {
121
+ context.node.body.splice(context.position, 0, {
122
+ "type": "VariableDeclaration",
123
+ "codeGenerated": true,
124
+ "declarations": [{
125
+ "type": "VariableDeclarator",
126
+ "id": this.fallthroughId,
127
+ "init": {
128
+ "type": "Literal",
129
+ "value": 0
130
+ }
131
+ }],
132
+ "kind": "let"
133
+ });
134
+ }
135
+ if (!(typeof firstCase !== "undefined" && firstCase !== null)) {
136
+ this.type = "ExpressionStatement";
137
+ this.expression = this.discriminant;
138
+ } else {
139
+ this.type = firstCase.type;
140
+ this.test = firstCase.test;
141
+ this.consequent = firstCase.consequent;
142
+ this.alternate = firstCase.alternate;
143
+ }
144
+ return this;
145
+ };
146
+ SwitchStatement.getNextVariableName = function() {
147
+ if (!(typeof this.switchStatementIndex !== "undefined" && this.switchStatementIndex !== null)) {
148
+ this.switchStatementIndex = 0;
149
+ }
150
+ return "switchStatement" + this.switchStatementIndex++;
151
+ };
152
+ SwitchStatement.resetVariableNames = function() {
153
+ this.switchStatementIndex = 0;
154
+ };
155
+ exports.SwitchStatement = SwitchStatement;
156
+ return {};
157
+ });
158
+
159
+ //# sourceMappingURL=SwitchStatement.map
@@ -0,0 +1,22 @@
1
+ $traceurRuntime.ModuleStore.getAnonymousModule(function() {
2
+ "use strict";
3
+ var Node = module.require("../Node").Node;
4
+ function ThrowStatement(argument) {
5
+ Node.call(this);
6
+ this.type = "ThrowStatement";
7
+ this.argument = argument;
8
+ this.argument.parent = this;
9
+ }
10
+ ThrowStatement.prototype = Object.create(Node);
11
+ ThrowStatement.prototype.codegen = function() {
12
+ if (!Node.prototype.codegen.call(this)) {
13
+ return;
14
+ }
15
+ this.argument = this.argument.codegen();
16
+ return this;
17
+ };
18
+ exports.ThrowStatement = ThrowStatement;
19
+ return {};
20
+ });
21
+
22
+ //# sourceMappingURL=ThrowStatement.map
@@ -0,0 +1,36 @@
1
+ $traceurRuntime.ModuleStore.getAnonymousModule(function() {
2
+ "use strict";
3
+ var Node = module.require("../Node").Node;
4
+ function TryStatement(block, handler, finalizer) {
5
+ Node.call(this);
6
+ this.type = "TryStatement";
7
+ this.block = block;
8
+ this.block.parent = this;
9
+ this.handler = handler;
10
+ if (typeof this.handler !== "undefined" && this.handler !== null) {
11
+ this.handler.parent = this;
12
+ }
13
+ this.finalizer = finalizer;
14
+ if (typeof this.finalizer !== "undefined" && this.finalizer !== null) {
15
+ this.finalizer.parent = this;
16
+ }
17
+ }
18
+ TryStatement.prototype = Object.create(Node);
19
+ TryStatement.prototype.codegen = function() {
20
+ if (!Node.prototype.codegen.call(this)) {
21
+ return;
22
+ }
23
+ this.block = this.block.codegen();
24
+ if (typeof this.handler !== "undefined" && this.handler !== null) {
25
+ this.handler = this.handler.codegen();
26
+ }
27
+ if (typeof this.finalizer !== "undefined" && this.finalizer !== null) {
28
+ this.finalizer = this.finalizer.codegen();
29
+ }
30
+ return this;
31
+ };
32
+ exports.TryStatement = TryStatement;
33
+ return {};
34
+ });
35
+
36
+ //# sourceMappingURL=TryStatement.map
@@ -0,0 +1,31 @@
1
+ $traceurRuntime.ModuleStore.getAnonymousModule(function() {
2
+ "use strict";
3
+ var Node = module.require("../Node").Node;
4
+ function UntilStatement(test, body) {
5
+ Node.call(this);
6
+ this.type = "UntilStatement";
7
+ this.test = test;
8
+ this.test.parent = this;
9
+ this.body = body;
10
+ this.body.parent = this;
11
+ }
12
+ UntilStatement.prototype = Object.create(Node);
13
+ UntilStatement.prototype.codegen = function() {
14
+ if (!Node.prototype.codegen.call(this)) {
15
+ return;
16
+ }
17
+ this.type = "WhileStatement";
18
+ this.test = {
19
+ "type": "UnaryExpression",
20
+ "operator": "!",
21
+ "argument": this.test.codegen(),
22
+ "prefix": true
23
+ };
24
+ this.body = this.body.blockWrap().codegen();
25
+ return this;
26
+ };
27
+ exports.UntilStatement = UntilStatement;
28
+ return {};
29
+ });
30
+
31
+ //# sourceMappingURL=UntilStatement.map
@@ -0,0 +1,49 @@
1
+ $traceurRuntime.ModuleStore.getAnonymousModule(function() {
2
+ "use strict";
3
+ var Node = module.require("../Node").Node;
4
+ function UseStatement(identifiers) {
5
+ Node.call(this);
6
+ this.type = "UseStatement";
7
+ this.identifiers = identifiers;
8
+ for (var $__0 = this.identifiers[$traceurRuntime.toProperty(Symbol.iterator)](),
9
+ $__1; !($__1 = $__0.next()).done; ) {
10
+ var id = $__1.value;
11
+ {
12
+ id.parent = this;
13
+ }
14
+ }
15
+ }
16
+ UseStatement.prototype = Object.create(Node);
17
+ UseStatement.predefinedCollections = {
18
+ "browser": ["document", "window", "screen", "location", "navigator", "alert", "console", "setTimeout"],
19
+ "node": ["require", "exports", "module", "global", "console", "process", "setTimeout", "__dirname", "__filename"]
20
+ };
21
+ UseStatement.prototype.codegen = function() {
22
+ if (!Node.prototype.codegen.call(this)) {
23
+ return;
24
+ }
25
+ var context = this.getContext().node;
26
+ for (var $__2 = this.identifiers[$traceurRuntime.toProperty(Symbol.iterator)](),
27
+ $__3; !($__3 = $__2.next()).done; ) {
28
+ var id = $__3.value;
29
+ {
30
+ if (id.predefinedCollection) {
31
+ for (var $__0 = exports.UseStatement.predefinedCollections[id.name][$traceurRuntime.toProperty(Symbol.iterator)](),
32
+ $__1; !($__1 = $__0.next()).done; ) {
33
+ var p = $__1.value;
34
+ {
35
+ context.defineIdentifier({name: p});
36
+ }
37
+ }
38
+ } else {
39
+ context.defineIdentifier(id);
40
+ }
41
+ }
42
+ }
43
+ return null;
44
+ };
45
+ exports.UseStatement = UseStatement;
46
+ return {};
47
+ });
48
+
49
+ //# sourceMappingURL=UseStatement.map
@@ -0,0 +1,36 @@
1
+ $traceurRuntime.ModuleStore.getAnonymousModule(function() {
2
+ "use strict";
3
+ var Node = module.require("../Node").Node;
4
+ function VariableDeclarationStatement(declarations) {
5
+ Node.call(this);
6
+ this.type = "VariableDeclaration";
7
+ this.declarations = declarations;
8
+ this.kind = "let";
9
+ for (var $__0 = declarations[$traceurRuntime.toProperty(Symbol.iterator)](),
10
+ $__1; !($__1 = $__0.next()).done; ) {
11
+ var decl = $__1.value;
12
+ {
13
+ decl.parent = this;
14
+ }
15
+ }
16
+ }
17
+ VariableDeclarationStatement.prototype = Object.create(Node);
18
+ VariableDeclarationStatement.prototype.codegen = function() {
19
+ if (!Node.prototype.codegen.call(this)) {
20
+ return;
21
+ }
22
+ var i = 0;
23
+ while (i < this.declarations.length) {
24
+ var statement = this.declarations[i].codegen();
25
+ if (typeof statement !== "undefined" && statement !== null) {
26
+ this.declarations[this.declarations.indexOf(statement)] = statement;
27
+ }
28
+ i++;
29
+ }
30
+ return this;
31
+ };
32
+ exports.VariableDeclarationStatement = VariableDeclarationStatement;
33
+ return {};
34
+ });
35
+
36
+ //# sourceMappingURL=VariableDeclarationStatement.map
@@ -0,0 +1,25 @@
1
+ $traceurRuntime.ModuleStore.getAnonymousModule(function() {
2
+ "use strict";
3
+ var Node = module.require("../Node").Node;
4
+ function WhileStatement(test, body) {
5
+ Node.call(this);
6
+ this.type = "WhileStatement";
7
+ this.test = test;
8
+ this.test.parent = this;
9
+ this.body = body;
10
+ this.body.parent = this;
11
+ }
12
+ WhileStatement.prototype = Object.create(Node);
13
+ WhileStatement.prototype.codegen = function() {
14
+ if (!Node.prototype.codegen.call(this)) {
15
+ return;
16
+ }
17
+ this.test = this.test.codegen();
18
+ this.body = this.body.blockWrap().codegen();
19
+ return this;
20
+ };
21
+ exports.WhileStatement = WhileStatement;
22
+ return {};
23
+ });
24
+
25
+ //# sourceMappingURL=WhileStatement.map
@@ -0,0 +1,16 @@
1
+ $traceurRuntime.ModuleStore.getAnonymousModule(function() {
2
+ "use strict";
3
+ var nodes = ["Node", "Program", "VariableDeclarator", "Property", "Range", "Parameter", "CatchClause", "CaseClause", "ImportSpecifier", "ImportNamespaceSpecifier", "ImportDefaultSpecifier", "ExportSpecifier", "ExportBatchSpecifier", "expressions/AssignmentExpression", "expressions/BinaryExpression", "expressions/CallExpression", "expressions/ExistentialExpression", "expressions/LogicalExpression", "expressions/MemberExpression", "expressions/NullCheckCallExpression", "expressions/NullCoalescingExpression", "expressions/NullPropagatingExpression", "expressions/UnaryExpression", "expressions/ObjectExpression", "expressions/ArrayExpression", "expressions/ObjectPattern", "expressions/ArrayPattern", "expressions/UpdateExpression", "expressions/FunctionExpression", "expressions/RangeMemberExpression", "expressions/NewExpression", "expressions/ThisExpression", "expressions/SuperExpression", "expressions/SplatExpression", "expressions/ConditionalExpression", "expressions/InExpression", "expressions/ForInExpression", "expressions/CurryCallExpression", "statements/BlockStatement", "statements/ExpressionStatement", "statements/IfStatement", "statements/ForStatement", "statements/ForInStatement", "statements/ForOfStatement", "statements/WhileStatement", "statements/UntilStatement", "statements/VariableDeclarationStatement", "statements/FunctionDeclarationStatement", "statements/ReturnStatement", "statements/ThrowStatement", "statements/BreakStatement", "statements/ContinueStatement", "statements/DebuggerStatement", "statements/UseStatement", "statements/TryStatement", "statements/SwitchStatement", "statements/FallthroughStatement", "statements/ImportDeclarationStatement", "statements/ExportDeclarationStatement", "statements/DoWhileStatement", "statements/PushStatement", "statements/GoStatement", "literals/BooleanLiteral", "literals/NumberLiteral", "literals/StringLiteral", "literals/NullLiteral", "literals/UndefinedLiteral", "literals/Identifier", "literals/RegularExpressionLiteral"];
4
+ module.exports = {};
5
+ for (var $__0 = nodes[$traceurRuntime.toProperty(Symbol.iterator)](),
6
+ $__1; !($__1 = $__0.next()).done; ) {
7
+ var node = $__1.value;
8
+ {
9
+ var name = node.substring(node.lastIndexOf("/") + 1);
10
+ module.exports[name] = module.require("./ast/" + node)[name];
11
+ }
12
+ }
13
+ return {};
14
+ });
15
+
16
+ //# sourceMappingURL=ast.map