occam-furtle 2.0.74 → 2.0.76
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.
- package/lib/dom/assignment/array.js +16 -3
- package/lib/dom/assignment/object.js +10 -7
- package/lib/dom/assignment/variable.js +150 -0
- package/lib/dom/assignments/variable.js +149 -0
- package/lib/dom/{returnStatement.js → statement/return.js} +3 -3
- package/lib/dom/value.js +14 -14
- package/lib/dom/variable.js +45 -77
- package/lib/index.js +4 -4
- package/package.json +4 -4
- package/src/dom/assignment/array.js +18 -3
- package/src/dom/assignment/object.js +12 -9
- package/src/dom/assignment/variable.js +69 -0
- package/src/dom/assignments/variable.js +80 -0
- package/src/dom/{returnStatement.js → statement/return.js} +3 -3
- package/src/dom/value.js +16 -16
- package/src/dom/variable.js +53 -83
- package/src/index.js +3 -3
- package/lib/dom/assignment.js +0 -160
- package/lib/dom/declaration/variables.js +0 -148
- package/lib/utilities/node.js +0 -21
- package/src/dom/assignment.js +0 -84
- package/src/dom/declaration/variables.js +0 -82
- package/src/utilities/node.js +0 -16
|
@@ -85,9 +85,10 @@ export default domAssigned(class ArrayAssigment {
|
|
|
85
85
|
throw exception;
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
debugger
|
|
89
|
+
|
|
90
|
+
const { Variable } = dom,
|
|
91
|
+
variable = Variable.fromValueAndParameter(value, parameter, context);
|
|
91
92
|
|
|
92
93
|
context.addVariable(variable);
|
|
93
94
|
|
|
@@ -116,3 +117,17 @@ export default domAssigned(class ArrayAssigment {
|
|
|
116
117
|
return arrayAssignment;
|
|
117
118
|
}
|
|
118
119
|
});
|
|
120
|
+
|
|
121
|
+
/*
|
|
122
|
+
static fromParameterAndAssignment(parameter, assignment, context) {
|
|
123
|
+
const type = parameter.getType(),
|
|
124
|
+
name = parameter.getName(),
|
|
125
|
+
value = null,
|
|
126
|
+
string = name, ///
|
|
127
|
+
variable = new Variable(string, type, name, value, assignment);
|
|
128
|
+
|
|
129
|
+
return variable;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
*/
|
|
@@ -108,15 +108,16 @@ export default domAssigned(class ObjectAssigment {
|
|
|
108
108
|
throw exception;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
const { Value, Variable
|
|
111
|
+
const { Value, Variable } = dom,
|
|
112
112
|
terminalNode = node, ///
|
|
113
113
|
content = terminalNode.getContent(),
|
|
114
114
|
string = content; ///
|
|
115
115
|
|
|
116
116
|
value = Value.fromString(string, context); ///
|
|
117
117
|
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
debugger
|
|
119
|
+
|
|
120
|
+
const variable = Variable.fromValueAndNamedParameter(value, namedParameter, context);
|
|
120
121
|
|
|
121
122
|
context.addVariable(variable);
|
|
122
123
|
|
|
@@ -138,13 +139,14 @@ export default domAssigned(class ObjectAssigment {
|
|
|
138
139
|
nodeTerminalNode = node.isTerminalNode(),
|
|
139
140
|
terminal = nodeTerminalNode; ///
|
|
140
141
|
|
|
141
|
-
const { Value, Variable
|
|
142
|
+
const { Value, Variable } = dom,
|
|
142
143
|
boolean = terminal; ///
|
|
143
144
|
|
|
144
145
|
value = Value.fromBoolean(boolean, context); ///
|
|
145
146
|
|
|
146
|
-
|
|
147
|
-
|
|
147
|
+
debugger
|
|
148
|
+
|
|
149
|
+
const variable = Variable.fromValueAndNamedParameter(value, namedParameter, context);
|
|
148
150
|
|
|
149
151
|
context.addVariable(variable);
|
|
150
152
|
|
|
@@ -173,15 +175,16 @@ export default domAssigned(class ObjectAssigment {
|
|
|
173
175
|
throw exception;
|
|
174
176
|
}
|
|
175
177
|
|
|
176
|
-
const { Value, Variable
|
|
178
|
+
const { Value, Variable } = dom,
|
|
177
179
|
nonTerminalNode = node, ///
|
|
178
180
|
childNodes = nonTerminalNode.getChildNodes(),
|
|
179
181
|
nodes = childNodes; ///
|
|
180
182
|
|
|
181
183
|
value = Value.fromNodes(nodes, context); ///
|
|
182
184
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
+
debugger
|
|
186
|
+
|
|
187
|
+
const variable = Variable.fromValueAndNamedParameter(value, namedParameter, context);
|
|
185
188
|
|
|
186
189
|
context.addVariable(variable);
|
|
187
190
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import dom from "../../dom";
|
|
4
|
+
import Exception from "../../exception";
|
|
5
|
+
|
|
6
|
+
import { domAssigned } from "../../dom";
|
|
7
|
+
|
|
8
|
+
export default domAssigned(class VariableAssignment {
|
|
9
|
+
constructor(string, variable, value) {
|
|
10
|
+
this.string = string;
|
|
11
|
+
this.variable = variable;
|
|
12
|
+
this.value = value;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
getString() {
|
|
16
|
+
return this.string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
getVariable() {
|
|
20
|
+
return this.variable;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
getValue() {
|
|
24
|
+
return this.value;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
evaluate(context) {
|
|
28
|
+
let value;
|
|
29
|
+
|
|
30
|
+
const variableAssignmentString = this.string; ///
|
|
31
|
+
|
|
32
|
+
context.trace(`Evaluating the '${variableAssignmentString}' variable assignment...`);
|
|
33
|
+
|
|
34
|
+
value = this.value.evaluate(context);
|
|
35
|
+
|
|
36
|
+
debugger
|
|
37
|
+
|
|
38
|
+
if (value === null) {
|
|
39
|
+
const variableAssignmentString = this.string, ///
|
|
40
|
+
message = `The '${variableAssignmentString}' variable assignment cannot be evaluated.`,
|
|
41
|
+
exception = Exception.fromMessage(message);
|
|
42
|
+
|
|
43
|
+
throw exception;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
context.debug(`...evaluated the '${variableAssignmentString}' variable assignment.`);
|
|
47
|
+
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
static name = "VariableAssignment";
|
|
52
|
+
|
|
53
|
+
static fromTypeAndVariableAssignmentNode(type, variableAssignmentNode, context) {
|
|
54
|
+
const variableAssignment = variableAssignmentFromTypeAndAssignmentNode(type, variableAssignmentNode, context);
|
|
55
|
+
|
|
56
|
+
return variableAssignment;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
function variableAssignmentFromTypeAndAssignmentNode(type, variableAssignmentNode, context) {
|
|
61
|
+
const { Variable, Value, VariableAssignment } = dom,
|
|
62
|
+
node = variableAssignmentNode, ///
|
|
63
|
+
string = context.nodeAsString(node),
|
|
64
|
+
value = Value.fromVariableAssignmentNode(variableAssignmentNode, context),
|
|
65
|
+
variable = Variable.fromTypeAndVariableAssignmentNode(type, variableAssignmentNode, context),
|
|
66
|
+
assignment = new VariableAssignment(string, variable, value);
|
|
67
|
+
|
|
68
|
+
return assignment;
|
|
69
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import dom from "../../dom";
|
|
4
|
+
|
|
5
|
+
import { domAssigned } from "../../dom";
|
|
6
|
+
import { nodeQuery, nodesQuery } from "../../utilities/query";
|
|
7
|
+
|
|
8
|
+
const typeTerminalNodeQuery = nodeQuery("/variableAssignments/@type"),
|
|
9
|
+
variableAssignmentsNodeQuery = nodeQuery("/step/variableAssignments"),
|
|
10
|
+
variableAssignmentNodesQuery = nodesQuery("/variableAssignments/variableAssignment");
|
|
11
|
+
|
|
12
|
+
export default domAssigned(class VariableAssignments {
|
|
13
|
+
constructor(string, array) {
|
|
14
|
+
this.string = string;
|
|
15
|
+
this.array = array;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
getString() {
|
|
19
|
+
return this.string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
getArray() {
|
|
23
|
+
return this.array;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
evaluate(context) {
|
|
27
|
+
const variableAssignmentsString = this.string; ///
|
|
28
|
+
|
|
29
|
+
context.trace(`Evaluating the '${variableAssignmentsString}' variable assignments...`);
|
|
30
|
+
|
|
31
|
+
this.array.forEach((variableAssignment) => {
|
|
32
|
+
variableAssignment.evaluate(context);
|
|
33
|
+
|
|
34
|
+
// context.addVariable(variable);
|
|
35
|
+
//
|
|
36
|
+
// variable.assign(context);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
context.debug(`...evaluated the '${variableAssignmentsString}' variable assignments.`);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
static name = "VariableAssignments";
|
|
43
|
+
|
|
44
|
+
static fromStepNode(stepNode, context) {
|
|
45
|
+
let variableAssignments = null;
|
|
46
|
+
|
|
47
|
+
const variableAssignmentsNode = variableAssignmentsNodeQuery(stepNode);
|
|
48
|
+
|
|
49
|
+
if (variableAssignmentsNode !== null) {
|
|
50
|
+
const node = variableAssignmentsNode, ////
|
|
51
|
+
string = context.nodeAsString(node),
|
|
52
|
+
type = typeFromVariableAssignmentsNode(variableAssignmentsNode, context),
|
|
53
|
+
array = arrayFromTypeAndVariableAssignmentsNode(type, variableAssignmentsNode, context);
|
|
54
|
+
|
|
55
|
+
variableAssignments = new VariableAssignments(string, array);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return variableAssignments;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
function typeFromVariableAssignmentsNode(variableAssignmentsNode, context) {
|
|
63
|
+
const typeTerminalNode = typeTerminalNodeQuery(variableAssignmentsNode),
|
|
64
|
+
typeTerminalNodeContent = typeTerminalNode.getContent(),
|
|
65
|
+
type = typeTerminalNodeContent; ///
|
|
66
|
+
|
|
67
|
+
return type;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function arrayFromTypeAndVariableAssignmentsNode(type, variableAssignmentsNode, context) {
|
|
71
|
+
const variableAssignmentNodes = variableAssignmentNodesQuery(variableAssignmentsNode),
|
|
72
|
+
array = variableAssignmentNodes.map((variableAssignmentNode) => {
|
|
73
|
+
const { VariableAssignment } = dom,
|
|
74
|
+
variableAssignment = VariableAssignment.fromTypeAndVariableAssignmentNode(type, variableAssignmentNode, context);
|
|
75
|
+
|
|
76
|
+
return variableAssignment;
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
return array;
|
|
80
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import dom from "
|
|
3
|
+
import dom from "../../dom";
|
|
4
4
|
|
|
5
|
-
import { nodeQuery } from "
|
|
6
|
-
import { domAssigned } from "
|
|
5
|
+
import { nodeQuery } from "../../utilities/query";
|
|
6
|
+
import { domAssigned } from "../../dom";
|
|
7
7
|
|
|
8
8
|
const returnStatementNodeQuery = nodeQuery("/returnBlock/returnStatement");
|
|
9
9
|
|
package/src/dom/value.js
CHANGED
|
@@ -15,11 +15,11 @@ const { match } = arrayUtilities;
|
|
|
15
15
|
const ternaryValueNodeQuery = nodeQuery("/ternary/value"),
|
|
16
16
|
numberTerminalNodeQuery = nodeQuery("/value/@number"),
|
|
17
17
|
conditionValueNodeQuery = nodeQuery("/condition/value"),
|
|
18
|
-
assignmentValueNodeQuery = nodeQuery("/assignment/value"),
|
|
19
18
|
primitiveTerminalNodeQuery = nodeQuery("/value/@primitive"),
|
|
20
19
|
returnStatementValueNodeQuery = nodeQuery("/returnStatement/value"),
|
|
21
20
|
stringLiteralTerminalNodeQuery = nodeQuery("/value/@string-literal"),
|
|
22
|
-
conditionalBlocksCValueNodeQuery = nodeQuery("/conditionalBlocks/value")
|
|
21
|
+
conditionalBlocksCValueNodeQuery = nodeQuery("/conditionalBlocks/value"),
|
|
22
|
+
variableAssignmentValueNodeQuery = nodeQuery("/variableAssignment/value");
|
|
23
23
|
|
|
24
24
|
export default domAssigned(class Value {
|
|
25
25
|
constructor(node, nodes, number, string, boolean, some, ternary, variable, nodeQuery, nodesQuery, comparison, negatedValue, bitwiseValue, bracketedValue, procedureCall, anonymousProcedureCall) {
|
|
@@ -393,20 +393,6 @@ export default domAssigned(class Value {
|
|
|
393
393
|
return value;
|
|
394
394
|
}
|
|
395
395
|
|
|
396
|
-
static fromAssignmentNode(assigmentNode, context) {
|
|
397
|
-
let value = null;
|
|
398
|
-
|
|
399
|
-
const assignmentValueNode = assignmentValueNodeQuery(assigmentNode);
|
|
400
|
-
|
|
401
|
-
if (assignmentValueNode !== null) {
|
|
402
|
-
const valueNode = assignmentValueNode; ///
|
|
403
|
-
|
|
404
|
-
value = valueFromValueNode(valueNode, context);
|
|
405
|
-
}
|
|
406
|
-
|
|
407
|
-
return value;
|
|
408
|
-
}
|
|
409
|
-
|
|
410
396
|
static fromReturnStatementNode(returnStatementNode, context) {
|
|
411
397
|
let value = null;
|
|
412
398
|
|
|
@@ -428,6 +414,20 @@ export default domAssigned(class Value {
|
|
|
428
414
|
|
|
429
415
|
return value;
|
|
430
416
|
}
|
|
417
|
+
|
|
418
|
+
static fromVariableAssignmentNode(variableAssigmentNode, context) {
|
|
419
|
+
let value = null;
|
|
420
|
+
|
|
421
|
+
const variableAssignmentValueNode = variableAssignmentValueNodeQuery(variableAssigmentNode);
|
|
422
|
+
|
|
423
|
+
if (variableAssignmentValueNode !== null) {
|
|
424
|
+
const valueNode = variableAssignmentValueNode; ///
|
|
425
|
+
|
|
426
|
+
value = valueFromValueNode(valueNode, context);
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
return value;
|
|
430
|
+
}
|
|
431
431
|
});
|
|
432
432
|
|
|
433
433
|
function matchNode(nodeA, nodeB) {
|
package/src/dom/variable.js
CHANGED
|
@@ -12,15 +12,15 @@ const someVariableNodeQuery = nodeQuery("/some/variable"),
|
|
|
12
12
|
nodesQueryVariableNodeQuery = nodeQuery("/nodesQuery/variable"),
|
|
13
13
|
variableNameTerminalNodeQuery = nodeQuery("/variable/@name"),
|
|
14
14
|
arrayAssignmentVariableNodeQuery = nodeQuery("/arrayAssignment/variable"),
|
|
15
|
-
objectAssignmentVariableNodeQuery = nodeQuery("/objectAssignment/variable")
|
|
15
|
+
objectAssignmentVariableNodeQuery = nodeQuery("/objectAssignment/variable"),
|
|
16
|
+
variableAssignmentVariableNodeQuery = nodeQuery("/variableAssignment/variable");
|
|
16
17
|
|
|
17
18
|
export default domAssigned(class Variable {
|
|
18
|
-
constructor(string, type, name, value
|
|
19
|
+
constructor(string, type, name, value) {
|
|
19
20
|
this.string = string;
|
|
20
21
|
this.type = type;
|
|
21
22
|
this.name = name;
|
|
22
23
|
this.value = value;
|
|
23
|
-
this.assignment = assignment;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
getString() {
|
|
@@ -39,41 +39,37 @@ export default domAssigned(class Variable {
|
|
|
39
39
|
return this.value;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
42
|
+
matchVariableName(variableName) {
|
|
43
|
+
const nameMatches = (this.name === variableName);
|
|
45
44
|
|
|
46
|
-
|
|
47
|
-
this.string = string;
|
|
45
|
+
return nameMatches;
|
|
48
46
|
}
|
|
49
47
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
48
|
+
evaluate(context) {
|
|
49
|
+
const variableString = this.string; ///
|
|
53
50
|
|
|
54
|
-
|
|
55
|
-
this.name = name;
|
|
56
|
-
}
|
|
51
|
+
context.trace(`Evaluating the '${variableString}' variable...`);
|
|
57
52
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
53
|
+
const variableName = this.name, ///
|
|
54
|
+
variablePresent = context.isVariablePresentByVariableName(variableName);
|
|
61
55
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
56
|
+
if (!variablePresent) {
|
|
57
|
+
const message = `The '${variableString}; variable is not present.'`,
|
|
58
|
+
exception = Exception.fromMessage(message);
|
|
65
59
|
|
|
66
|
-
|
|
67
|
-
|
|
60
|
+
throw exception;
|
|
61
|
+
}
|
|
68
62
|
|
|
69
|
-
|
|
63
|
+
const variable = context.findVariableByVariableName(variableName),
|
|
64
|
+
value = variable.getValue(),
|
|
65
|
+
valueString = value.asString(context);
|
|
66
|
+
|
|
67
|
+
context.debug(`...evaluated the '${variableString}' variable to the ${valueString} value.`);
|
|
68
|
+
|
|
69
|
+
return value;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
assign(context) {
|
|
73
|
-
if (this.assignment === null) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
73
|
const variableName = this.name, ///
|
|
78
74
|
variableString = this.string, ///
|
|
79
75
|
variablePresent = context.isVariablePresentByVariableName(variableName);
|
|
@@ -87,10 +83,9 @@ export default domAssigned(class Variable {
|
|
|
87
83
|
throw exception;
|
|
88
84
|
}
|
|
89
85
|
|
|
90
|
-
const value = this.
|
|
91
|
-
variable = context.findVariableByVariableName(variableName),
|
|
86
|
+
const value = this.value.evaluate(context),
|
|
92
87
|
valueType = value.getType(),
|
|
93
|
-
variableType =
|
|
88
|
+
variableType = this.type;
|
|
94
89
|
|
|
95
90
|
if (valueType !== variableType) {
|
|
96
91
|
const message = `The '${variableString} variable's '${variableType}' type does not match the assigned value's '${valueType}' type.'`,
|
|
@@ -99,37 +94,13 @@ export default domAssigned(class Variable {
|
|
|
99
94
|
throw exception;
|
|
100
95
|
}
|
|
101
96
|
|
|
102
|
-
|
|
97
|
+
this.value = value;
|
|
103
98
|
|
|
104
99
|
const valueString = value.asString(context);
|
|
105
100
|
|
|
106
101
|
context.debug(`...assigned the ${valueString} value to the '${variableString}' variable.`);
|
|
107
102
|
}
|
|
108
103
|
|
|
109
|
-
evaluate(context) {
|
|
110
|
-
const variableString = this.string; ///
|
|
111
|
-
|
|
112
|
-
context.trace(`Evaluating the '${variableString}' variable...`);
|
|
113
|
-
|
|
114
|
-
const variableName = this.name, ///
|
|
115
|
-
variablePresent = context.isVariablePresentByVariableName(variableName);
|
|
116
|
-
|
|
117
|
-
if (!variablePresent) {
|
|
118
|
-
const message = `The '${variableString}; variable is not present.'`,
|
|
119
|
-
exception = Exception.fromMessage(message);
|
|
120
|
-
|
|
121
|
-
throw exception;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
const variable = context.findVariableByVariableName(variableName),
|
|
125
|
-
value = variable.getValue(),
|
|
126
|
-
valueString = value.asString(context);
|
|
127
|
-
|
|
128
|
-
context.debug(`...evaluated the '${variableString}' variable to the ${valueString} value.`);
|
|
129
|
-
|
|
130
|
-
return value;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
104
|
static name = "Variable";
|
|
134
105
|
|
|
135
106
|
static fromSomeNode(someLoopNode, context) {
|
|
@@ -174,8 +145,7 @@ export default domAssigned(class Variable {
|
|
|
174
145
|
const type = parameter.getType(),
|
|
175
146
|
name = parameter.getName(),
|
|
176
147
|
string = name, ///
|
|
177
|
-
|
|
178
|
-
variable = new Variable(string, type, name, value, assignment);
|
|
148
|
+
variable = new Variable(string, type, name, value);
|
|
179
149
|
|
|
180
150
|
return variable;
|
|
181
151
|
}
|
|
@@ -185,8 +155,7 @@ export default domAssigned(class Variable {
|
|
|
185
155
|
string = context.nodeAsString(node),
|
|
186
156
|
name = nameFromVariableNode(variableNode),
|
|
187
157
|
value = null,
|
|
188
|
-
|
|
189
|
-
variable = new Variable(string, type, name, value, assignment);
|
|
158
|
+
variable = new Variable(string, type, name, value);
|
|
190
159
|
|
|
191
160
|
return variable;
|
|
192
161
|
}
|
|
@@ -207,37 +176,22 @@ export default domAssigned(class Variable {
|
|
|
207
176
|
return variable;
|
|
208
177
|
}
|
|
209
178
|
|
|
210
|
-
static
|
|
211
|
-
const type = parameter.getType(),
|
|
212
|
-
name = parameter.getName(),
|
|
213
|
-
value = null,
|
|
214
|
-
string = name, ///
|
|
215
|
-
variable = new Variable(string, type, name, value, assignment);
|
|
216
|
-
|
|
217
|
-
return variable;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
static fromNamedParameterAndAssignment(namedParameter, assignment, context) {
|
|
179
|
+
static fromValueAndNamedParameter(value, namedParameter, context) {
|
|
221
180
|
const asName = namedParameter.getAsName(),
|
|
222
181
|
name = (asName !== null) ?
|
|
223
182
|
asName : ///
|
|
224
|
-
|
|
183
|
+
namedParameter.getName(),
|
|
225
184
|
type = namedParameter.getType(),
|
|
226
|
-
value = null,
|
|
227
185
|
string = name, ///
|
|
228
|
-
variable = new Variable(string, type, name, value
|
|
186
|
+
variable = new Variable(string, type, name, value);
|
|
229
187
|
|
|
230
188
|
return variable;
|
|
231
189
|
}
|
|
232
190
|
|
|
233
|
-
static
|
|
234
|
-
const
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
name = nameFromVariableNode(variableNode),
|
|
238
|
-
value = null,
|
|
239
|
-
assignment = Assignment.fromAssignmentNode(assignmentNode, context),
|
|
240
|
-
variable = new Variable(string, type, name, value, assignment);
|
|
191
|
+
static fromTypeAndVariableAssignmentNode(type, variableAssignmentNode, context) {
|
|
192
|
+
const variableAssignmentVariableNode = variableAssignmentVariableNodeQuery(variableAssignmentNode),
|
|
193
|
+
variableNode = variableAssignmentVariableNode, ///
|
|
194
|
+
variable = variableFromVariableNode(variableNode, context);
|
|
241
195
|
|
|
242
196
|
return variable;
|
|
243
197
|
}
|
|
@@ -250,8 +204,7 @@ function variableFromVariableNode(variableNode, context) {
|
|
|
250
204
|
type = null,
|
|
251
205
|
name = nameFromVariableNode(variableNode),
|
|
252
206
|
value = null,
|
|
253
|
-
|
|
254
|
-
variable = new Variable(string, type, name, value, assignment);
|
|
207
|
+
variable = new Variable(string, type, name, value);
|
|
255
208
|
|
|
256
209
|
return variable;
|
|
257
210
|
}
|
|
@@ -263,3 +216,20 @@ function nameFromVariableNode(variableNode) {
|
|
|
263
216
|
|
|
264
217
|
return name;
|
|
265
218
|
}
|
|
219
|
+
|
|
220
|
+
/*
|
|
221
|
+
|
|
222
|
+
static fromNamedParameterAndAssignment(namedParameter, assignment, context) {
|
|
223
|
+
const asName = namedParameter.getAsName(),
|
|
224
|
+
name = (asName !== null) ?
|
|
225
|
+
asName : ///
|
|
226
|
+
namedParameter.getName(),
|
|
227
|
+
type = namedParameter.getType(),
|
|
228
|
+
value = null,
|
|
229
|
+
string = name, ///
|
|
230
|
+
variable = new Variable(string, type, name, value, assignment);
|
|
231
|
+
|
|
232
|
+
return variable;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
*/
|
package/src/index.js
CHANGED
|
@@ -16,7 +16,6 @@ import Parameter from "./dom/parameter";
|
|
|
16
16
|
import Parameters from "./dom/parameters";
|
|
17
17
|
import NodesQuery from "./dom/query/nodes";
|
|
18
18
|
import Comparison from "./dom/comparison";
|
|
19
|
-
import Assignment from "./dom/assignment";
|
|
20
19
|
import ReturnBlock from "./dom/block/return";
|
|
21
20
|
import NegatedValue from "./dom/value/negated";
|
|
22
21
|
import BitwiseValue from "./dom/value/bitwise";
|
|
@@ -24,13 +23,14 @@ import ProcedureCall from "./dom/procedureCall";
|
|
|
24
23
|
import NamedParameter from "./dom/parameter/named";
|
|
25
24
|
import BracketedValue from "./dom/value/bracketed";
|
|
26
25
|
import ArrayAssigment from "./dom/assignment/array";
|
|
27
|
-
import ReturnStatement from "./dom/
|
|
26
|
+
import ReturnStatement from "./dom/statement/return";
|
|
28
27
|
import NamedParameters from "./dom/parameters/named";
|
|
29
28
|
import ObjectAssignment from "./dom/assignment/object";
|
|
30
29
|
import ConditionalBlocks from "./dom/conditionalBlocks";
|
|
31
30
|
import AnonymousProcedure from "./dom/procedure/anonymous";
|
|
31
|
+
import VariableAssignment from "./dom/assignment/variable";
|
|
32
|
+
import VariableAssignments from "./dom/assignments/variable";
|
|
32
33
|
import ProcedureDeclaration from "./dom/declaration/procedure";
|
|
33
|
-
import VariablesDeclaration from "./dom/declaration/variables";
|
|
34
34
|
import AnonymousProcedureCall from "./dom/procedureCall/anonymous";
|
|
35
35
|
|
|
36
36
|
export { default as Values } from "./dom/values";
|