occam-verify-cli 1.0.638 → 1.0.642

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 (47) hide show
  1. package/lib/context/liminal.js +2 -2
  2. package/lib/context/scoped.js +4 -4
  3. package/lib/context.js +8 -1
  4. package/lib/element/assumption.js +3 -3
  5. package/lib/element/combinator.js +4 -4
  6. package/lib/element/declaration/combinator.js +15 -2
  7. package/lib/element/declaration/complexType.js +4 -4
  8. package/lib/element/declaration/constructor.js +129 -60
  9. package/lib/element/declaration/simpleType.js +51 -46
  10. package/lib/element/declaration/typePrefix.js +3 -3
  11. package/lib/element/declaration/variable.js +2 -2
  12. package/lib/element/equality.js +18 -17
  13. package/lib/element/frame.js +2 -2
  14. package/lib/element/judgement.js +4 -4
  15. package/lib/element/procedureCall.js +3 -3
  16. package/lib/element/reference.js +3 -3
  17. package/lib/element/rule.js +2 -2
  18. package/lib/element/statement.js +3 -3
  19. package/lib/element/term.js +7 -4
  20. package/lib/element/topLevelAssertion.js +2 -2
  21. package/lib/element/topLevelMetaAssertion.js +2 -2
  22. package/lib/element/type.js +4 -4
  23. package/lib/utilities/element.js +147 -47
  24. package/package.json +7 -7
  25. package/src/context/liminal.js +1 -1
  26. package/src/context/scoped.js +3 -3
  27. package/src/context.js +7 -0
  28. package/src/element/assumption.js +1 -1
  29. package/src/element/combinator.js +3 -4
  30. package/src/element/declaration/combinator.js +19 -1
  31. package/src/element/declaration/complexType.js +3 -3
  32. package/src/element/declaration/constructor.js +123 -60
  33. package/src/element/declaration/simpleType.js +51 -50
  34. package/src/element/declaration/typePrefix.js +2 -2
  35. package/src/element/declaration/variable.js +1 -1
  36. package/src/element/equality.js +18 -20
  37. package/src/element/frame.js +1 -2
  38. package/src/element/judgement.js +2 -2
  39. package/src/element/procedureCall.js +2 -2
  40. package/src/element/reference.js +1 -1
  41. package/src/element/rule.js +1 -1
  42. package/src/element/statement.js +1 -1
  43. package/src/element/term.js +7 -3
  44. package/src/element/topLevelAssertion.js +1 -1
  45. package/src/element/topLevelMetaAssertion.js +1 -1
  46. package/src/element/type.js +3 -4
  47. package/src/utilities/element.js +214 -77
@@ -120,13 +120,13 @@ export default define(class Equality extends Element {
120
120
  }
121
121
 
122
122
  validate(stated, context) {
123
- let equality = false;
123
+ let equality = null;
124
124
 
125
125
  const equalityString = this.getString(); ///
126
126
 
127
127
  context.trace(`Validating the '${equalityString}' equality...`);
128
128
 
129
- const validEquality = this.isValid(context);
129
+ const validEquality = this.findValidEquality(context);
130
130
 
131
131
  if (validEquality !== null) {
132
132
  equality = validEquality; ///
@@ -153,7 +153,7 @@ export default define(class Equality extends Element {
153
153
  }
154
154
 
155
155
  if (validates) {
156
- const equality = this; ///
156
+ equality = this; ///
157
157
 
158
158
  this.assign(stated, context);
159
159
 
@@ -174,38 +174,36 @@ export default define(class Equality extends Element {
174
174
  context.trace(`Validating the '${equalityString}' equality's terms...`);
175
175
 
176
176
  let leftTerm,
177
- rightTerm = null;
177
+ rightTerm;
178
178
 
179
179
  leftTerm = this.leftTerm.validate(context, () => {
180
- let validatesForwards;
180
+ let validatesForwards = false;
181
181
 
182
182
  rightTerm = this.rightTerm.validate(context, () => {
183
- let validatesForwards;
184
-
185
- const leftTermType = this.leftTerm.getType(),
186
- rightTermType = this.rightTerm.getType(),
187
- leftTermTypeComparableToRightTermType = leftTermType.isComparableTo(rightTermType);
188
-
189
- validatesForwards = leftTermTypeComparableToRightTermType; ///
183
+ const validatesForwards = true;
190
184
 
191
185
  return validatesForwards;
192
186
  });
193
187
 
194
- const rightTermValidates = (rightTerm !== null);
195
-
196
- validatesForwards = rightTermValidates; ///
188
+ if (rightTerm !== null) {
189
+ validatesForwards = true;
190
+ }
197
191
 
198
192
  return validatesForwards;
199
193
  });
200
194
 
201
- const leftTermValidates = (leftTerm !== null);
195
+ if (leftTerm !== null) {
196
+ const leftTermType = leftTerm.getType(),
197
+ rightTermType = rightTerm.getType(),
198
+ leftTermTypeComparableToRightTermType = leftTermType.isComparableTo(rightTermType);
202
199
 
203
- if (leftTermValidates) {
204
- this.leftTerm = leftTerm;
200
+ if (leftTermTypeComparableToRightTermType) {
201
+ this.leftTerm = leftTerm;
205
202
 
206
- this.rightTerm = rightTerm;
203
+ this.rightTerm = rightTerm;
207
204
 
208
- termsValidate = true;
205
+ termsValidate = true;
206
+ }
209
207
  }
210
208
 
211
209
  if (termsValidate) {
@@ -64,7 +64,6 @@ export default define(class Frame extends Element {
64
64
  return validFrame;
65
65
  }
66
66
 
67
-
68
67
  isEqualTo(frame) {
69
68
  const frameNode = frame.getNode(),
70
69
  frameNodeMatches = this.matchFrameNode(frameNode),
@@ -225,7 +224,7 @@ export default define(class Frame extends Element {
225
224
  if (singular) {
226
225
  validatesWhenStated = true;
227
226
  } else {
228
- context.trace(`The '${frameString}' stated frame must be singular.`);
227
+ context.debug(`The '${frameString}' stated frame must be singular.`);
229
228
  }
230
229
 
231
230
  if (validatesWhenStated) {
@@ -97,7 +97,7 @@ export default define(class Judgement extends Element {
97
97
  }
98
98
 
99
99
  if (validates) {
100
- const judgement = this; ///
100
+ judgement = this; ///
101
101
 
102
102
  context.addJudgement(judgement)
103
103
 
@@ -148,7 +148,7 @@ export default define(class Judgement extends Element {
148
148
  }
149
149
 
150
150
  if (assumptionValidates) {
151
- context.trace(`...validated the '${judgementString}' judgement's '${assumptionString}' assumption.`);
151
+ context.debug(`...validated the '${judgementString}' judgement's '${assumptionString}' assumption.`);
152
152
  }
153
153
 
154
154
  return assumptionValidates;
@@ -60,10 +60,10 @@ export default define(class ProcedureCall extends Element {
60
60
  if (procedureBoolean) {
61
61
  validates = true;
62
62
  } else {
63
- context.trace(`The '${procedureCallString}' procedure is not boolean.`);
63
+ context.debug(`The '${procedureCallString}' procedure is not boolean.`);
64
64
  }
65
65
  } else {
66
- context.trace(`The '${procedureCallString}' procedure is not present.`);
66
+ context.debug(`The '${procedureCallString}' procedure is not present.`);
67
67
  }
68
68
 
69
69
  if (validates) {
@@ -144,7 +144,7 @@ export default define(class Reference extends Element {
144
144
  }
145
145
 
146
146
  if (validates) {
147
- const reference = this; ///
147
+ reference = this; ///
148
148
 
149
149
  context.addReference(reference);
150
150
 
@@ -78,7 +78,7 @@ export default define(class Rule extends Element {
78
78
  });
79
79
 
80
80
  if (labelsVerify) {
81
- context.trace(`...verified the '${ruleString}' rule's labels.`);
81
+ context.debug(`...verified the '${ruleString}' rule's labels.`);
82
82
  }
83
83
 
84
84
  return labelsVerify;
@@ -196,7 +196,7 @@ export default define(class Statement extends Element {
196
196
  });
197
197
 
198
198
  if (validates) {
199
- const statement = this; ///
199
+ statement = this; ///
200
200
 
201
201
  context.addStatement(statement);
202
202
 
@@ -159,9 +159,13 @@ export default define(class Term extends Element {
159
159
  valid = (validTerm !== null);
160
160
 
161
161
  if (valid) {
162
- term = validTerm; ///
162
+ const validatesForward = validateForwards();
163
163
 
164
- context.debug(`...the '${termString}' term is already valid.`);
164
+ if (validatesForward) {
165
+ term = validTerm; ///
166
+
167
+ context.debug(`...the '${termString}' term is already valid.`);
168
+ }
165
169
  } else {
166
170
  const validates = validateTerms.some((validateTerm) => { ///
167
171
  const term = this, ///
@@ -173,7 +177,7 @@ export default define(class Term extends Element {
173
177
  });
174
178
 
175
179
  if (validates) {
176
- term = null; ///
180
+ term = this; ///
177
181
 
178
182
  context.addTerm(term);
179
183
 
@@ -140,7 +140,7 @@ export default class TopLevelAssertion extends Element {
140
140
  });
141
141
 
142
142
  if (labelsVerify) {
143
- context.trace(`...verified the '${topLevelAssertionString}' top level assertion's labels.`);
143
+ context.debug(`...verified the '${topLevelAssertionString}' top level assertion's labels.`);
144
144
  }
145
145
 
146
146
  return labelsVerify;
@@ -66,7 +66,7 @@ export default class TopLevelMetaAssertion extends Element {
66
66
  labelVerifies = this.label.verify(nameOnly);
67
67
 
68
68
  if (labelVerifies) {
69
- context.trace(`...verified the '${topLevelMetaAssertionString}' top level meta assertion's label.`);
69
+ context.debug(`...verified the '${topLevelMetaAssertionString}' top level meta assertion's label.`);
70
70
  }
71
71
 
72
72
  return labelVerifies;
@@ -93,12 +93,11 @@ export default define(class Type extends Element {
93
93
  this.provisional = provisional;
94
94
  }
95
95
 
96
- replaceSuperType(oldSuperType, newSuperType) {
97
- const index = this.superTypes.indexOf(oldSuperType),
98
- start = index,
96
+ replaceSuperType(superType, index) {
97
+ const start = index,
99
98
  deleteCount = 1;
100
99
 
101
- this.superTypes.splice(start, deleteCount, newSuperType);
100
+ this.superTypes.splice(start, deleteCount, superType);
102
101
  }
103
102
 
104
103
  isPrefixed() {