spider-src 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +2 -0
- data/Gemfile +7 -0
- data/LICENSE.txt +74 -0
- data/README.md +37 -0
- data/Rakefile +25 -0
- data/lib/spider-src/support/spider/.eslintrc +17 -0
- data/lib/spider-src/support/spider/.npmignore +9 -0
- data/lib/spider-src/support/spider/.travis.yml +7 -0
- data/lib/spider-src/support/spider/.yo-rc.json +3 -0
- data/lib/spider-src/support/spider/CHANGELOG.md +64 -0
- data/lib/spider-src/support/spider/Gruntfile.js +97 -0
- data/lib/spider-src/support/spider/Gruntfile.spider +93 -0
- data/lib/spider-src/support/spider/LICENSE +201 -0
- data/lib/spider-src/support/spider/README.md +50 -0
- data/lib/spider-src/support/spider/cli.js +119 -0
- data/lib/spider-src/support/spider/lib/ast/CaseClause.js +179 -0
- data/lib/spider-src/support/spider/lib/ast/CatchClause.js +26 -0
- data/lib/spider-src/support/spider/lib/ast/ExportBatchSpecifier.js +19 -0
- data/lib/spider-src/support/spider/lib/ast/ExportSpecifier.js +33 -0
- data/lib/spider-src/support/spider/lib/ast/ImportDefaultSpecifier.js +23 -0
- data/lib/spider-src/support/spider/lib/ast/ImportNamespaceSpecifier.js +23 -0
- data/lib/spider-src/support/spider/lib/ast/ImportSpecifier.js +40 -0
- data/lib/spider-src/support/spider/lib/ast/Node.js +93 -0
- data/lib/spider-src/support/spider/lib/ast/Parameter.js +229 -0
- data/lib/spider-src/support/spider/lib/ast/Program.js +58 -0
- data/lib/spider-src/support/spider/lib/ast/Property.js +32 -0
- data/lib/spider-src/support/spider/lib/ast/Range.js +257 -0
- data/lib/spider-src/support/spider/lib/ast/VariableDeclarator.js +29 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ArrayExpression.js +41 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ArrayPattern.js +45 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/AssignmentExpression.js +29 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/BinaryExpression.js +104 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/CallExpression.js +139 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ConditionalExpression.js +31 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/CurryCallExpression.js +102 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ExistentialExpression.js +83 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ForInExpression.js +116 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/FunctionExpression.js +157 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/InExpression.js +99 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/LogicalExpression.js +50 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/MemberExpression.js +43 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/NewExpression.js +46 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/NullCheckCallExpression.js +132 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/NullCoalescingExpression.js +114 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/NullPropagatingExpression.js +161 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ObjectExpression.js +39 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ObjectPattern.js +49 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/RangeMemberExpression.js +157 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/SplatExpression.js +48 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/SuperExpression.js +170 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/ThisExpression.js +22 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/UnaryExpression.js +147 -0
- data/lib/spider-src/support/spider/lib/ast/expressions/UpdateExpression.js +26 -0
- data/lib/spider-src/support/spider/lib/ast/literals/BooleanLiteral.js +24 -0
- data/lib/spider-src/support/spider/lib/ast/literals/Identifier.js +60 -0
- data/lib/spider-src/support/spider/lib/ast/literals/NullLiteral.js +24 -0
- data/lib/spider-src/support/spider/lib/ast/literals/NumberLiteral.js +24 -0
- data/lib/spider-src/support/spider/lib/ast/literals/RegularExpressionLiteral.js +25 -0
- data/lib/spider-src/support/spider/lib/ast/literals/StringLiteral.js +90 -0
- data/lib/spider-src/support/spider/lib/ast/literals/UndefinedLiteral.js +30 -0
- data/lib/spider-src/support/spider/lib/ast/statements/BlockStatement.js +47 -0
- data/lib/spider-src/support/spider/lib/ast/statements/BreakStatement.js +19 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ContinueStatement.js +19 -0
- data/lib/spider-src/support/spider/lib/ast/statements/DebuggerStatement.js +19 -0
- data/lib/spider-src/support/spider/lib/ast/statements/DoWhileStatement.js +25 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ExportDeclarationStatement.js +51 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ExpressionStatement.js +22 -0
- data/lib/spider-src/support/spider/lib/ast/statements/FallthroughStatement.js +74 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ForInStatement.js +79 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ForOfStatement.js +98 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ForStatement.js +43 -0
- data/lib/spider-src/support/spider/lib/ast/statements/FunctionDeclarationStatement.js +104 -0
- data/lib/spider-src/support/spider/lib/ast/statements/GoStatement.js +41 -0
- data/lib/spider-src/support/spider/lib/ast/statements/IfStatement.js +32 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ImportDeclarationStatement.js +40 -0
- data/lib/spider-src/support/spider/lib/ast/statements/PushStatement.js +37 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ReturnStatement.js +26 -0
- data/lib/spider-src/support/spider/lib/ast/statements/SwitchStatement.js +159 -0
- data/lib/spider-src/support/spider/lib/ast/statements/ThrowStatement.js +22 -0
- data/lib/spider-src/support/spider/lib/ast/statements/TryStatement.js +36 -0
- data/lib/spider-src/support/spider/lib/ast/statements/UntilStatement.js +31 -0
- data/lib/spider-src/support/spider/lib/ast/statements/UseStatement.js +49 -0
- data/lib/spider-src/support/spider/lib/ast/statements/VariableDeclarationStatement.js +36 -0
- data/lib/spider-src/support/spider/lib/ast/statements/WhileStatement.js +25 -0
- data/lib/spider-src/support/spider/lib/ast.js +16 -0
- data/lib/spider-src/support/spider/lib/parser.js +14878 -0
- data/lib/spider-src/support/spider/lib/spider.js +217 -0
- data/lib/spider-src/support/spider/package.json +61 -0
- data/lib/spider-src/support/spider/spider-script.js +6 -0
- data/lib/spider-src/support/spider/src/ast/CaseClause.spider +179 -0
- data/lib/spider-src/support/spider/src/ast/CatchClause.spider +30 -0
- data/lib/spider-src/support/spider/src/ast/ExportBatchSpecifier.spider +19 -0
- data/lib/spider-src/support/spider/src/ast/ExportSpecifier.spider +37 -0
- data/lib/spider-src/support/spider/src/ast/ImportDefaultSpecifier.spider +25 -0
- data/lib/spider-src/support/spider/src/ast/ImportNamespaceSpecifier.spider +25 -0
- data/lib/spider-src/support/spider/src/ast/ImportSpecifier.spider +44 -0
- data/lib/spider-src/support/spider/src/ast/Node.spider +104 -0
- data/lib/spider-src/support/spider/src/ast/Parameter.spider +233 -0
- data/lib/spider-src/support/spider/src/ast/Program.spider +109 -0
- data/lib/spider-src/support/spider/src/ast/Property.spider +36 -0
- data/lib/spider-src/support/spider/src/ast/Range.spider +291 -0
- data/lib/spider-src/support/spider/src/ast/VariableDeclarator.spider +33 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ArrayExpression.spider +32 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ArrayPattern.spider +37 -0
- data/lib/spider-src/support/spider/src/ast/expressions/AssignmentExpression.spider +34 -0
- data/lib/spider-src/support/spider/src/ast/expressions/BinaryExpression.spider +125 -0
- data/lib/spider-src/support/spider/src/ast/expressions/CallExpression.spider +149 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ConditionalExpression.spider +34 -0
- data/lib/spider-src/support/spider/src/ast/expressions/CurryCallExpression.spider +109 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ExistentialExpression.spider +102 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ForInExpression.spider +140 -0
- data/lib/spider-src/support/spider/src/ast/expressions/FunctionExpression.spider +183 -0
- data/lib/spider-src/support/spider/src/ast/expressions/InExpression.spider +114 -0
- data/lib/spider-src/support/spider/src/ast/expressions/LogicalExpression.spider +62 -0
- data/lib/spider-src/support/spider/src/ast/expressions/MemberExpression.spider +57 -0
- data/lib/spider-src/support/spider/src/ast/expressions/NewExpression.spider +40 -0
- data/lib/spider-src/support/spider/src/ast/expressions/NullCheckCallExpression.spider +151 -0
- data/lib/spider-src/support/spider/src/ast/expressions/NullCoalescingExpression.spider +151 -0
- data/lib/spider-src/support/spider/src/ast/expressions/NullPropagatingExpression.spider +190 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ObjectExpression.spider +30 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ObjectPattern.spider +42 -0
- data/lib/spider-src/support/spider/src/ast/expressions/RangeMemberExpression.spider +179 -0
- data/lib/spider-src/support/spider/src/ast/expressions/SplatExpression.spider +49 -0
- data/lib/spider-src/support/spider/src/ast/expressions/SuperExpression.spider +235 -0
- data/lib/spider-src/support/spider/src/ast/expressions/ThisExpression.spider +21 -0
- data/lib/spider-src/support/spider/src/ast/expressions/UnaryExpression.spider +158 -0
- data/lib/spider-src/support/spider/src/ast/expressions/UpdateExpression.spider +28 -0
- data/lib/spider-src/support/spider/src/ast/literals/BooleanLiteral.spider +23 -0
- data/lib/spider-src/support/spider/src/ast/literals/Identifier.spider +68 -0
- data/lib/spider-src/support/spider/src/ast/literals/NullLiteral.spider +23 -0
- data/lib/spider-src/support/spider/src/ast/literals/NumberLiteral.spider +23 -0
- data/lib/spider-src/support/spider/src/ast/literals/RegularExpressionLiteral.spider +24 -0
- data/lib/spider-src/support/spider/src/ast/literals/StringLiteral.spider +91 -0
- data/lib/spider-src/support/spider/src/ast/literals/UndefinedLiteral.spider +30 -0
- data/lib/spider-src/support/spider/src/ast/statements/BlockStatement.spider +45 -0
- data/lib/spider-src/support/spider/src/ast/statements/BreakStatement.spider +19 -0
- data/lib/spider-src/support/spider/src/ast/statements/ContinueStatement.spider +19 -0
- data/lib/spider-src/support/spider/src/ast/statements/DebuggerStatement.spider +19 -0
- data/lib/spider-src/support/spider/src/ast/statements/DoWhileStatement.spider +28 -0
- data/lib/spider-src/support/spider/src/ast/statements/ExportDeclarationStatement.spider +46 -0
- data/lib/spider-src/support/spider/src/ast/statements/ExpressionStatement.spider +22 -0
- data/lib/spider-src/support/spider/src/ast/statements/FallthroughStatement.spider +85 -0
- data/lib/spider-src/support/spider/src/ast/statements/ForInStatement.spider +92 -0
- data/lib/spider-src/support/spider/src/ast/statements/ForOfStatement.spider +117 -0
- data/lib/spider-src/support/spider/src/ast/statements/ForStatement.spider +51 -0
- data/lib/spider-src/support/spider/src/ast/statements/FunctionDeclarationStatement.spider +115 -0
- data/lib/spider-src/support/spider/src/ast/statements/GoStatement.spider +44 -0
- data/lib/spider-src/support/spider/src/ast/statements/IfStatement.spider +38 -0
- data/lib/spider-src/support/spider/src/ast/statements/ImportDeclarationStatement.spider +33 -0
- data/lib/spider-src/support/spider/src/ast/statements/PushStatement.spider +40 -0
- data/lib/spider-src/support/spider/src/ast/statements/ReturnStatement.spider +28 -0
- data/lib/spider-src/support/spider/src/ast/statements/SwitchStatement.spider +161 -0
- data/lib/spider-src/support/spider/src/ast/statements/ThrowStatement.spider +23 -0
- data/lib/spider-src/support/spider/src/ast/statements/TryStatement.spider +42 -0
- data/lib/spider-src/support/spider/src/ast/statements/UntilStatement.spider +36 -0
- data/lib/spider-src/support/spider/src/ast/statements/UseStatement.spider +62 -0
- data/lib/spider-src/support/spider/src/ast/statements/VariableDeclarationStatement.spider +34 -0
- data/lib/spider-src/support/spider/src/ast/statements/WhileStatement.spider +28 -0
- data/lib/spider-src/support/spider/src/ast.spider +80 -0
- data/lib/spider-src/support/spider/src/spider.pegjs +1434 -0
- data/lib/spider-src/support/spider/src/spider.spider +276 -0
- data/lib/spider-src/support/spider/test/spider_test.js +1787 -0
- data/lib/spider-src/version.rb +5 -0
- data/lib/spider-src.rb +37 -0
- data/spider-src.gemspec +24 -0
- data/test/test_spider_src.rb +33 -0
- 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
|