occam-verify-cli 0.0.1011 → 0.0.1012
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/combinator.js +9 -2
- package/lib/constructor/bracketed.js +52 -8
- package/lib/constructor.js +64 -18
- package/lib/declaration/constructor.js +90 -0
- package/lib/declaration/metavariable.js +15 -8
- package/lib/declaration/type.js +90 -0
- package/lib/error.js +70 -0
- package/lib/rule.js +8 -7
- package/lib/ruleNames.js +5 -1
- package/lib/statement.js +5 -5
- package/lib/term.js +97 -5
- package/lib/type.js +85 -18
- package/lib/utilities/node.js +10 -3
- package/lib/utilities/tokens.js +8 -1
- package/lib/verifier/termAsConstructor.js +3 -4
- package/lib/verifier/topLevel.js +10 -10
- package/package.json +1 -1
- package/src/combinator.js +13 -3
- package/src/constructor/bracketed.js +15 -12
- package/src/constructor.js +73 -17
- package/src/declaration/constructor.js +49 -0
- package/src/declaration/metavariable.js +12 -7
- package/src/declaration/type.js +49 -0
- package/src/error.js +35 -0
- package/src/rule.js +6 -6
- package/src/ruleNames.js +1 -0
- package/src/statement.js +4 -4
- package/src/term.js +119 -4
- package/src/type.js +113 -17
- package/src/utilities/node.js +20 -7
- package/src/utilities/tokens.js +7 -0
- package/src/verifier/termAsConstructor.js +7 -6
- package/src/verifier/topLevel.js +12 -9
- package/lib/tokens/combinatorFrame/bracketed.js +0 -17
- package/lib/verify/declaration/combinator.js +0 -19
- package/lib/verify/declaration/constructor.js +0 -32
- package/lib/verify/declaration/type.js +0 -65
- package/lib/verify/error.js +0 -18
- package/src/tokens/combinatorFrame/bracketed.js +0 -10
- package/src/verify/declaration/combinator.js +0 -6
- package/src/verify/declaration/constructor.js +0 -36
- package/src/verify/declaration/type.js +0 -85
- package/src/verify/error.js +0 -11
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return verifyCombinatorDeclaration;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _statementAsCombinator = /*#__PURE__*/ _interop_require_default(require("../../verify/statementAsCombinator"));
|
|
12
|
-
function _interop_require_default(obj) {
|
|
13
|
-
return obj && obj.__esModule ? obj : {
|
|
14
|
-
default: obj
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
function verifyCombinatorDeclaration(combinatorDeclarationNode, fileContext) {}
|
|
18
|
-
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vY29tYmluYXRvci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeVN0YXRlbWVudEFzQ29tYmluYXRvciBmcm9tIFwiLi4vLi4vdmVyaWZ5L3N0YXRlbWVudEFzQ29tYmluYXRvclwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlDb21iaW5hdG9yRGVjbGFyYXRpb24oY29tYmluYXRvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlDb21iaW5hdG9yRGVjbGFyYXRpb24iLCJjb21iaW5hdG9yRGVjbGFyYXRpb25Ob2RlIiwiZmlsZUNvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUlBOzs7ZUFBd0JBOzs7NEVBRmdCOzs7Ozs7QUFFekIsU0FBU0EsNEJBQTRCQyx5QkFBeUIsRUFBRUMsV0FBVyxHQUMxRiJ9
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return verifyConstructorDeclaration;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _termAsConstructor = /*#__PURE__*/ _interop_require_default(require("../../verify/termAsConstructor"));
|
|
12
|
-
var _query = require("../../utilities/query");
|
|
13
|
-
var _constants = require("../../constants");
|
|
14
|
-
function _interop_require_default(obj) {
|
|
15
|
-
return obj && obj.__esModule ? obj : {
|
|
16
|
-
default: obj
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
var termNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration/term"), typeNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration/type");
|
|
20
|
-
function verifyConstructorDeclaration(constructorDeclarationNode, fileContext) {
|
|
21
|
-
var constructorDeclarationVerified;
|
|
22
|
-
var termNode = termNodeQuery(constructorDeclarationNode), typeNode = typeNodeQuery(constructorDeclarationNode), termString = fileContext.nodeAsString(termNode), typeString = typeNode === null ? _constants.EMPTY_STRING : fileContext.nodeAsString(typeNode);
|
|
23
|
-
typeString === _constants.EMPTY_STRING ? fileContext.trace("Verifying the '".concat(termString, "' constructor declaration..."), constructorDeclarationNode) : fileContext.trace("Verifying the '".concat(termString, ":").concat(typeString, "' constructor declaration..."), constructorDeclarationNode);
|
|
24
|
-
var termVerifiedAsConstructor = (0, _termAsConstructor.default)(termNode, typeNode, fileContext);
|
|
25
|
-
constructorDeclarationVerified = termVerifiedAsConstructor; ///
|
|
26
|
-
if (constructorDeclarationVerified) {
|
|
27
|
-
typeString === _constants.EMPTY_STRING ? fileContext.debug("...verified the '".concat(termString, "' constructor declaration."), constructorDeclarationNode) : fileContext.debug("...verified the '".concat(termString, ":").concat(typeString, "' constructor declaration."), constructorDeclarationNode);
|
|
28
|
-
}
|
|
29
|
-
return constructorDeclarationVerified;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vY29uc3RydWN0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlUZXJtQXNDb25zdHJ1Y3RvciBmcm9tIFwiLi4vLi4vdmVyaWZ5L3Rlcm1Bc0NvbnN0cnVjdG9yXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi8uLi9jb25zdGFudHNcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uL3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb24vdHlwZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5Q29uc3RydWN0b3JEZWNsYXJhdGlvbihjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZDtcblxuICBjb25zdCB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICB0ZXJtU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHRlcm1Ob2RlKSxcbiAgICAgICAgdHlwZVN0cmluZyA9ICh0eXBlTm9kZSA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICBFTVBUWV9TVFJJTkcgOlxuICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgKHR5cGVTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyBjb25zdHJ1Y3RvciBkZWNsYXJhdGlvbi4uLmAsIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfToke3R5cGVTdHJpbmd9JyBjb25zdHJ1Y3RvciBkZWNsYXJhdGlvbi4uLmAsIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKTtcblxuICBjb25zdCB0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yID0gdmVyaWZ5VGVybUFzQ29uc3RydWN0b3IodGVybU5vZGUsIHR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkID0gdGVybVZlcmlmaWVkQXNDb25zdHJ1Y3RvcjsgLy8vXG5cbiAgaWYgKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgICh0eXBlU3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ30nIGNvbnN0cnVjdG9yIGRlY2xhcmF0aW9uLmAsIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ306JHt0eXBlU3RyaW5nfScgY29uc3RydWN0b3IgZGVjbGFyYXRpb24uYCwgY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25WZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlDb25zdHJ1Y3RvckRlY2xhcmF0aW9uIiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInR5cGVOb2RlUXVlcnkiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsImZpbGVDb250ZXh0IiwiY29uc3RydWN0b3JEZWNsYXJhdGlvblZlcmlmaWVkIiwidGVybU5vZGUiLCJ0eXBlTm9kZSIsInRlcm1TdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0eXBlU3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwidHJhY2UiLCJ0ZXJtVmVyaWZpZWRBc0NvbnN0cnVjdG9yIiwidmVyaWZ5VGVybUFzQ29uc3RydWN0b3IiLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBVUE7OztlQUF3QkE7Ozt3RUFSWTtxQkFFVjt5QkFDRzs7Ozs7O0FBRTdCLElBQU1DLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxpQ0FDMUJDLGdCQUFnQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUVqQixTQUFTRiw2QkFBNkJJLDBCQUEwQixFQUFFQyxXQUFXO0lBQzFGLElBQUlDO0lBRUosSUFBTUMsV0FBV04sY0FBY0csNkJBQ3pCSSxXQUFXTCxjQUFjQyw2QkFDekJLLGFBQWFKLFlBQVlLLFlBQVksQ0FBQ0gsV0FDdENJLGFBQWEsQUFBQ0gsYUFBYSxPQUNaSSx1QkFBWSxHQUNWUCxZQUFZSyxZQUFZLENBQUNGO0lBRS9DRyxlQUFlQyx1QkFBWSxHQUMxQlAsWUFBWVEsS0FBSyxDQUFDLEFBQUMsa0JBQTRCLE9BQVhKLFlBQVcsaUNBQStCTCw4QkFDNUVDLFlBQVlRLEtBQUssQ0FBQyxBQUFDLGtCQUErQkYsT0FBZEYsWUFBVyxLQUFjLE9BQVhFLFlBQVcsaUNBQStCUDtJQUVoRyxJQUFNVSw0QkFBNEJDLElBQUFBLDBCQUF1QixFQUFDUixVQUFVQyxVQUFVSDtJQUU5RUMsaUNBQWlDUSwyQkFBMkIsR0FBRztJQUUvRCxJQUFJUixnQ0FBZ0M7UUFDakNLLGVBQWVDLHVCQUFZLEdBQzFCUCxZQUFZVyxLQUFLLENBQUMsQUFBQyxvQkFBOEIsT0FBWFAsWUFBVywrQkFBNkJMLDhCQUM1RUMsWUFBWVcsS0FBSyxDQUFDLEFBQUMsb0JBQWlDTCxPQUFkRixZQUFXLEtBQWMsT0FBWEUsWUFBVywrQkFBNkJQO0lBQ2xHO0lBRUEsT0FBT0U7QUFDVCJ9
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return verifyTypeDeclaration;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _type = /*#__PURE__*/ _interop_require_default(require("../../type"));
|
|
12
|
-
var _query = require("../../utilities/query");
|
|
13
|
-
var _constants = require("../../constants");
|
|
14
|
-
var _name = require("../../utilities/name");
|
|
15
|
-
function _interop_require_default(obj) {
|
|
16
|
-
return obj && obj.__esModule ? obj : {
|
|
17
|
-
default: obj
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
var firstTypeNodeQuery = (0, _query.nodeQuery)("/typeDeclaration/type[0]"), secondTypeNodeQuery = (0, _query.nodeQuery)("/typeDeclaration/type[1]");
|
|
21
|
-
function verifyTypeDeclaration(typeDeclarationNode, fileContext) {
|
|
22
|
-
var typeDeclarationVerified;
|
|
23
|
-
var firstTypeNode = firstTypeNodeQuery(typeDeclarationNode), secondTypeNode = secondTypeNodeQuery(typeDeclarationNode), typeNode = firstTypeNode, superTypeNode = secondTypeNode, typeString = fileContext.nodeAsString(typeNode), superTypeString = superTypeNode === null ? _constants.EMPTY_STRING : fileContext.nodeAsString(superTypeNode);
|
|
24
|
-
superTypeString === _constants.EMPTY_STRING ? fileContext.trace("Verifying the '".concat(typeString, "' type declaration..."), typeDeclarationNode) : fileContext.trace("Verifying the '".concat(typeString, ":").concat(superTypeString, "' type declaration..."), typeDeclarationNode);
|
|
25
|
-
var typeVerified = verifyType(typeNode, superTypeNode, fileContext);
|
|
26
|
-
typeDeclarationVerified = typeVerified; ///
|
|
27
|
-
if (typeDeclarationVerified) {
|
|
28
|
-
superTypeString === _constants.EMPTY_STRING ? fileContext.trace("...verified the '".concat(typeString, "' type declaration."), typeDeclarationNode) : fileContext.trace("...verified the '".concat(typeString, ":").concat(superTypeString, "' type declaration."), typeDeclarationNode);
|
|
29
|
-
}
|
|
30
|
-
return typeDeclarationVerified;
|
|
31
|
-
}
|
|
32
|
-
function verifyType(typeNode, superTypeNode, fileContext) {
|
|
33
|
-
var typeVerified = false;
|
|
34
|
-
var typeString = fileContext.nodeAsString(typeNode);
|
|
35
|
-
fileContext.trace("Verifying the '".concat(typeString, "' type..."), typeNode);
|
|
36
|
-
var typePresent = fileContext.isTypePresentByTypeNode(typeNode);
|
|
37
|
-
if (typePresent) {
|
|
38
|
-
var typeString1 = fileContext.nodeAsString(typeNode);
|
|
39
|
-
fileContext.debug("The type '".concat(typeString1, "' is already present."), typeNode);
|
|
40
|
-
} else {
|
|
41
|
-
var type;
|
|
42
|
-
var typeName = (0, _name.typeNameFromTypeNode)(typeNode);
|
|
43
|
-
if (superTypeNode === null) {
|
|
44
|
-
type = _type.default.fromTypeName(typeName);
|
|
45
|
-
} else {
|
|
46
|
-
var superType = fileContext.findTypeByTypeNode(superTypeNode);
|
|
47
|
-
if (superType === null) {
|
|
48
|
-
var superTypeString = fileContext.nodeAsString(superTypeNode);
|
|
49
|
-
fileContext.debug("The super-type '".concat(superTypeString, "' is not present."), typeNode);
|
|
50
|
-
} else {
|
|
51
|
-
type = _type.default.fromTypeNameAndSuperType(typeName, superType);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
if (type !== null) {
|
|
55
|
-
fileContext.addType(type);
|
|
56
|
-
typeVerified = true;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
if (typeVerified) {
|
|
60
|
-
fileContext.debug("...verified the '".concat(typeString, "' type."), typeNode);
|
|
61
|
-
}
|
|
62
|
-
return typeVerified;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvZGVjbGFyYXRpb24vdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4uLy4uL3R5cGVcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgdHlwZU5hbWVGcm9tVHlwZU5vZGUgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL25hbWVcIjtcblxuY29uc3QgZmlyc3RUeXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVEZWNsYXJhdGlvbi90eXBlWzBdXCIpLFxuICAgICAgc2Vjb25kVHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlRGVjbGFyYXRpb24vdHlwZVsxXVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VHlwZURlY2xhcmF0aW9uKHR5cGVEZWNsYXJhdGlvbk5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCB0eXBlRGVjbGFyYXRpb25WZXJpZmllZDtcblxuICBjb25zdCBmaXJzdFR5cGVOb2RlID0gZmlyc3RUeXBlTm9kZVF1ZXJ5KHR5cGVEZWNsYXJhdGlvbk5vZGUpLFxuICAgICAgICBzZWNvbmRUeXBlTm9kZSA9IHNlY29uZFR5cGVOb2RlUXVlcnkodHlwZURlY2xhcmF0aW9uTm9kZSksXG4gICAgICAgIHR5cGVOb2RlID0gZmlyc3RUeXBlTm9kZSwgLy8vXG4gICAgICAgIHN1cGVyVHlwZU5vZGUgPSBzZWNvbmRUeXBlTm9kZSwgLy8vXG4gICAgICAgIHR5cGVTdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcodHlwZU5vZGUpLFxuICAgICAgICBzdXBlclR5cGVTdHJpbmcgPSAoc3VwZXJUeXBlTm9kZSA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVNUFRZX1NUUklORyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcoc3VwZXJUeXBlTm9kZSk7XG5cbiAgKHN1cGVyVHlwZVN0cmluZyA9PT0gRU1QVFlfU1RSSU5HKSA/XG4gICAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUgZGVjbGFyYXRpb24uLi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlU3RyaW5nfToke3N1cGVyVHlwZVN0cmluZ30nIHR5cGUgZGVjbGFyYXRpb24uLi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKTtcblxuICBjb25zdCB0eXBlVmVyaWZpZWQgPSB2ZXJpZnlUeXBlKHR5cGVOb2RlLCBzdXBlclR5cGVOb2RlLCBmaWxlQ29udGV4dCk7XG5cbiAgdHlwZURlY2xhcmF0aW9uVmVyaWZpZWQgPSB0eXBlVmVyaWZpZWQ7IC8vL1xuXG4gIGlmICh0eXBlRGVjbGFyYXRpb25WZXJpZmllZCkge1xuICAgIChzdXBlclR5cGVTdHJpbmcgPT09IEVNUFRZX1NUUklORykgP1xuICAgICAgZmlsZUNvbnRleHQudHJhY2UoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlU3RyaW5nfScgdHlwZSBkZWNsYXJhdGlvbi5gLCB0eXBlRGVjbGFyYXRpb25Ob2RlKSA6XG4gICAgICAgIGZpbGVDb250ZXh0LnRyYWNlKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ306JHtzdXBlclR5cGVTdHJpbmd9JyB0eXBlIGRlY2xhcmF0aW9uLmAsIHR5cGVEZWNsYXJhdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVEZWNsYXJhdGlvblZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUeXBlKHR5cGVOb2RlLCBzdXBlclR5cGVOb2RlLCBmaWxlQ29udGV4dCkge1xuICBsZXQgdHlwZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgdHlwZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgZmlsZUNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuLi5gLCB0eXBlTm9kZSk7XG5cbiAgY29uc3QgdHlwZVByZXNlbnQgPSBmaWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTm9kZSh0eXBlTm9kZSk7XG5cbiAgaWYgKHR5cGVQcmVzZW50KSB7XG4gICAgY29uc3QgdHlwZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlTm9kZSk7XG5cbiAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgVGhlIHR5cGUgJyR7dHlwZVN0cmluZ30nIGlzIGFscmVhZHkgcHJlc2VudC5gLCB0eXBlTm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgbGV0IHR5cGU7XG5cbiAgICBjb25zdCB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKTtcblxuICAgIGlmIChzdXBlclR5cGVOb2RlID09PSBudWxsKSB7XG4gICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWUodHlwZU5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdXBlclR5cGUgPSBmaWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5vZGUoc3VwZXJUeXBlTm9kZSk7XG5cbiAgICAgIGlmIChzdXBlclR5cGUgPT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgc3VwZXJUeXBlU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHN1cGVyVHlwZU5vZGUpO1xuXG4gICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGBUaGUgc3VwZXItdHlwZSAnJHtzdXBlclR5cGVTdHJpbmd9JyBpcyBub3QgcHJlc2VudC5gLCB0eXBlTm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWVBbmRTdXBlclR5cGUodHlwZU5hbWUsIHN1cGVyVHlwZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgIT09IG51bGwpIHtcbiAgICAgIGZpbGVDb250ZXh0LmFkZFR5cGUodHlwZSk7XG5cbiAgICAgIHR5cGVWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVWZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCwgdHlwZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlUeXBlRGVjbGFyYXRpb24iLCJmaXJzdFR5cGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzZWNvbmRUeXBlTm9kZVF1ZXJ5IiwidHlwZURlY2xhcmF0aW9uTm9kZSIsImZpbGVDb250ZXh0IiwidHlwZURlY2xhcmF0aW9uVmVyaWZpZWQiLCJmaXJzdFR5cGVOb2RlIiwic2Vjb25kVHlwZU5vZGUiLCJ0eXBlTm9kZSIsInN1cGVyVHlwZU5vZGUiLCJ0eXBlU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwic3VwZXJUeXBlU3RyaW5nIiwiRU1QVFlfU1RSSU5HIiwidHJhY2UiLCJ0eXBlVmVyaWZpZWQiLCJ2ZXJpZnlUeXBlIiwidHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlUeXBlTm9kZSIsImRlYnVnIiwidHlwZSIsInR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJUeXBlIiwiZnJvbVR5cGVOYW1lIiwic3VwZXJUeXBlIiwiZmluZFR5cGVCeVR5cGVOb2RlIiwiZnJvbVR5cGVOYW1lQW5kU3VwZXJUeXBlIiwiYWRkVHlwZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUF3QkE7OzsyREFUUDtxQkFFUzt5QkFDRztvQkFDUTs7Ozs7O0FBRXJDLElBQU1DLHFCQUFxQkMsSUFBQUEsZ0JBQVMsRUFBQyw2QkFDL0JDLHNCQUFzQkQsSUFBQUEsZ0JBQVMsRUFBQztBQUV2QixTQUFTRixzQkFBc0JJLG1CQUFtQixFQUFFQyxXQUFXO0lBQzVFLElBQUlDO0lBRUosSUFBTUMsZ0JBQWdCTixtQkFBbUJHLHNCQUNuQ0ksaUJBQWlCTCxvQkFBb0JDLHNCQUNyQ0ssV0FBV0YsZUFDWEcsZ0JBQWdCRixnQkFDaEJHLGFBQWFOLFlBQVlPLFlBQVksQ0FBQ0gsV0FDdENJLGtCQUFrQixBQUFDSCxrQkFBa0IsT0FDakJJLHVCQUFZLEdBQ1ZULFlBQVlPLFlBQVksQ0FBQ0Y7SUFFcERHLG9CQUFvQkMsdUJBQVksR0FDL0JULFlBQVlVLEtBQUssQ0FBQyxBQUFDLGtCQUE0QixPQUFYSixZQUFXLDBCQUF3QlAsdUJBQ3JFQyxZQUFZVSxLQUFLLENBQUMsQUFBQyxrQkFBK0JGLE9BQWRGLFlBQVcsS0FBbUIsT0FBaEJFLGlCQUFnQiwwQkFBd0JUO0lBRTlGLElBQU1ZLGVBQWVDLFdBQVdSLFVBQVVDLGVBQWVMO0lBRXpEQywwQkFBMEJVLGNBQWMsR0FBRztJQUUzQyxJQUFJVix5QkFBeUI7UUFDMUJPLG9CQUFvQkMsdUJBQVksR0FDL0JULFlBQVlVLEtBQUssQ0FBQyxBQUFDLG9CQUE4QixPQUFYSixZQUFXLHdCQUFzQlAsdUJBQ3JFQyxZQUFZVSxLQUFLLENBQUMsQUFBQyxvQkFBaUNGLE9BQWRGLFlBQVcsS0FBbUIsT0FBaEJFLGlCQUFnQix3QkFBc0JUO0lBQ2hHO0lBRUEsT0FBT0U7QUFDVDtBQUVBLFNBQVNXLFdBQVdSLFFBQVEsRUFBRUMsYUFBYSxFQUFFTCxXQUFXO0lBQ3RELElBQUlXLGVBQWU7SUFFbkIsSUFBTUwsYUFBYU4sWUFBWU8sWUFBWSxDQUFDSDtJQUU1Q0osWUFBWVUsS0FBSyxDQUFDLEFBQUMsa0JBQTRCLE9BQVhKLFlBQVcsY0FBWUY7SUFFM0QsSUFBTVMsY0FBY2IsWUFBWWMsdUJBQXVCLENBQUNWO0lBRXhELElBQUlTLGFBQWE7UUFDZixJQUFNUCxjQUFhTixZQUFZTyxZQUFZLENBQUNIO1FBRTVDSixZQUFZZSxLQUFLLENBQUMsQUFBQyxhQUF1QixPQUFYVCxhQUFXLDBCQUF3QkY7SUFDcEUsT0FBTztRQUNMLElBQUlZO1FBRUosSUFBTUMsV0FBV0MsSUFBQUEsMEJBQW9CLEVBQUNkO1FBRXRDLElBQUlDLGtCQUFrQixNQUFNO1lBQzFCVyxPQUFPRyxhQUFJLENBQUNDLFlBQVksQ0FBQ0g7UUFDM0IsT0FBTztZQUNMLElBQU1JLFlBQVlyQixZQUFZc0Isa0JBQWtCLENBQUNqQjtZQUVqRCxJQUFJZ0IsY0FBYyxNQUFNO2dCQUN0QixJQUFNYixrQkFBa0JSLFlBQVlPLFlBQVksQ0FBQ0Y7Z0JBRWpETCxZQUFZZSxLQUFLLENBQUMsQUFBQyxtQkFBa0MsT0FBaEJQLGlCQUFnQixzQkFBb0JKO1lBQzNFLE9BQU87Z0JBQ0xZLE9BQU9HLGFBQUksQ0FBQ0ksd0JBQXdCLENBQUNOLFVBQVVJO1lBQ2pEO1FBQ0Y7UUFFQSxJQUFJTCxTQUFTLE1BQU07WUFDakJoQixZQUFZd0IsT0FBTyxDQUFDUjtZQUVwQkwsZUFBZTtRQUNqQjtJQUNGO0lBRUEsSUFBSUEsY0FBYztRQUNoQlgsWUFBWWUsS0FBSyxDQUFDLEFBQUMsb0JBQThCLE9BQVhULFlBQVcsWUFBVUY7SUFDN0Q7SUFFQSxPQUFPTztBQUNUIn0=
|
package/lib/verify/error.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return verifyError;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
function verifyError(errorNode, fileContext) {
|
|
12
|
-
var errorVerified = false;
|
|
13
|
-
var errorString = fileContext.nodeAsString(errorNode);
|
|
14
|
-
fileContext.debug("The '".concat(errorString, "' error cannot be verified."), errorNode);
|
|
15
|
-
return errorVerified;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZXJyb3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUVycm9yKGVycm9yTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IGVycm9yVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCBlcnJvclN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyhlcnJvck5vZGUpXG5cbiAgZmlsZUNvbnRleHQuZGVidWcoYFRoZSAnJHtlcnJvclN0cmluZ30nIGVycm9yIGNhbm5vdCBiZSB2ZXJpZmllZC5gLCBlcnJvck5vZGUpO1xuXG4gIHJldHVybiBlcnJvclZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUVycm9yIiwiZXJyb3JOb2RlIiwiZmlsZUNvbnRleHQiLCJlcnJvclZlcmlmaWVkIiwiZXJyb3JTdHJpbmciLCJub2RlQXNTdHJpbmciLCJkZWJ1ZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBRUE7OztlQUF3QkE7OztBQUFULFNBQVNBLFlBQVlDLFNBQVMsRUFBRUMsV0FBVztJQUN4RCxJQUFJQyxnQkFBZ0I7SUFFcEIsSUFBTUMsY0FBY0YsWUFBWUcsWUFBWSxDQUFDSjtJQUU3Q0MsWUFBWUksS0FBSyxDQUFDLEFBQUMsUUFBbUIsT0FBWkYsYUFBWSxnQ0FBOEJIO0lBRXBFLE9BQU9FO0FBQ1QifQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { FRAME_META_TYPE_NAME } from "../../metaTypeNames";
|
|
4
|
-
import { fromTokensFromFrameString } from "../../utilities/tokens";
|
|
5
|
-
|
|
6
|
-
const bracketedCombinatorFrameString = `(${FRAME_META_TYPE_NAME})`;
|
|
7
|
-
|
|
8
|
-
const bracketedCombinatorFrameTokens = fromTokensFromFrameString(bracketedCombinatorFrameString)
|
|
9
|
-
|
|
10
|
-
export default bracketedCombinatorFrameTokens;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import verifyTermAsConstructor from "../../verify/termAsConstructor";
|
|
4
|
-
|
|
5
|
-
import { nodeQuery } from "../../utilities/query";
|
|
6
|
-
import { EMPTY_STRING } from "../../constants";
|
|
7
|
-
|
|
8
|
-
const termNodeQuery = nodeQuery("/constructorDeclaration/term"),
|
|
9
|
-
typeNodeQuery = nodeQuery("/constructorDeclaration/type");
|
|
10
|
-
|
|
11
|
-
export default function verifyConstructorDeclaration(constructorDeclarationNode, fileContext) {
|
|
12
|
-
let constructorDeclarationVerified;
|
|
13
|
-
|
|
14
|
-
const termNode = termNodeQuery(constructorDeclarationNode),
|
|
15
|
-
typeNode = typeNodeQuery(constructorDeclarationNode),
|
|
16
|
-
termString = fileContext.nodeAsString(termNode),
|
|
17
|
-
typeString = (typeNode === null) ?
|
|
18
|
-
EMPTY_STRING :
|
|
19
|
-
fileContext.nodeAsString(typeNode);
|
|
20
|
-
|
|
21
|
-
(typeString === EMPTY_STRING) ?
|
|
22
|
-
fileContext.trace(`Verifying the '${termString}' constructor declaration...`, constructorDeclarationNode) :
|
|
23
|
-
fileContext.trace(`Verifying the '${termString}:${typeString}' constructor declaration...`, constructorDeclarationNode);
|
|
24
|
-
|
|
25
|
-
const termVerifiedAsConstructor = verifyTermAsConstructor(termNode, typeNode, fileContext);
|
|
26
|
-
|
|
27
|
-
constructorDeclarationVerified = termVerifiedAsConstructor; ///
|
|
28
|
-
|
|
29
|
-
if (constructorDeclarationVerified) {
|
|
30
|
-
(typeString === EMPTY_STRING) ?
|
|
31
|
-
fileContext.debug(`...verified the '${termString}' constructor declaration.`, constructorDeclarationNode) :
|
|
32
|
-
fileContext.debug(`...verified the '${termString}:${typeString}' constructor declaration.`, constructorDeclarationNode);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return constructorDeclarationVerified;
|
|
36
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import Type from "../../type";
|
|
4
|
-
|
|
5
|
-
import { nodeQuery } from "../../utilities/query";
|
|
6
|
-
import { EMPTY_STRING } from "../../constants";
|
|
7
|
-
import { typeNameFromTypeNode } from "../../utilities/name";
|
|
8
|
-
|
|
9
|
-
const firstTypeNodeQuery = nodeQuery("/typeDeclaration/type[0]"),
|
|
10
|
-
secondTypeNodeQuery = nodeQuery("/typeDeclaration/type[1]");
|
|
11
|
-
|
|
12
|
-
export default function verifyTypeDeclaration(typeDeclarationNode, fileContext) {
|
|
13
|
-
let typeDeclarationVerified;
|
|
14
|
-
|
|
15
|
-
const firstTypeNode = firstTypeNodeQuery(typeDeclarationNode),
|
|
16
|
-
secondTypeNode = secondTypeNodeQuery(typeDeclarationNode),
|
|
17
|
-
typeNode = firstTypeNode, ///
|
|
18
|
-
superTypeNode = secondTypeNode, ///
|
|
19
|
-
typeString = fileContext.nodeAsString(typeNode),
|
|
20
|
-
superTypeString = (superTypeNode === null) ?
|
|
21
|
-
EMPTY_STRING :
|
|
22
|
-
fileContext.nodeAsString(superTypeNode);
|
|
23
|
-
|
|
24
|
-
(superTypeString === EMPTY_STRING) ?
|
|
25
|
-
fileContext.trace(`Verifying the '${typeString}' type declaration...`, typeDeclarationNode) :
|
|
26
|
-
fileContext.trace(`Verifying the '${typeString}:${superTypeString}' type declaration...`, typeDeclarationNode);
|
|
27
|
-
|
|
28
|
-
const typeVerified = verifyType(typeNode, superTypeNode, fileContext);
|
|
29
|
-
|
|
30
|
-
typeDeclarationVerified = typeVerified; ///
|
|
31
|
-
|
|
32
|
-
if (typeDeclarationVerified) {
|
|
33
|
-
(superTypeString === EMPTY_STRING) ?
|
|
34
|
-
fileContext.trace(`...verified the '${typeString}' type declaration.`, typeDeclarationNode) :
|
|
35
|
-
fileContext.trace(`...verified the '${typeString}:${superTypeString}' type declaration.`, typeDeclarationNode);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return typeDeclarationVerified;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function verifyType(typeNode, superTypeNode, fileContext) {
|
|
42
|
-
let typeVerified = false;
|
|
43
|
-
|
|
44
|
-
const typeString = fileContext.nodeAsString(typeNode);
|
|
45
|
-
|
|
46
|
-
fileContext.trace(`Verifying the '${typeString}' type...`, typeNode);
|
|
47
|
-
|
|
48
|
-
const typePresent = fileContext.isTypePresentByTypeNode(typeNode);
|
|
49
|
-
|
|
50
|
-
if (typePresent) {
|
|
51
|
-
const typeString = fileContext.nodeAsString(typeNode);
|
|
52
|
-
|
|
53
|
-
fileContext.debug(`The type '${typeString}' is already present.`, typeNode);
|
|
54
|
-
} else {
|
|
55
|
-
let type;
|
|
56
|
-
|
|
57
|
-
const typeName = typeNameFromTypeNode(typeNode);
|
|
58
|
-
|
|
59
|
-
if (superTypeNode === null) {
|
|
60
|
-
type = Type.fromTypeName(typeName);
|
|
61
|
-
} else {
|
|
62
|
-
const superType = fileContext.findTypeByTypeNode(superTypeNode);
|
|
63
|
-
|
|
64
|
-
if (superType === null) {
|
|
65
|
-
const superTypeString = fileContext.nodeAsString(superTypeNode);
|
|
66
|
-
|
|
67
|
-
fileContext.debug(`The super-type '${superTypeString}' is not present.`, typeNode);
|
|
68
|
-
} else {
|
|
69
|
-
type = Type.fromTypeNameAndSuperType(typeName, superType);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
if (type !== null) {
|
|
74
|
-
fileContext.addType(type);
|
|
75
|
-
|
|
76
|
-
typeVerified = true;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
if (typeVerified) {
|
|
81
|
-
fileContext.debug(`...verified the '${typeString}' type.`, typeNode);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return typeVerified;
|
|
85
|
-
}
|
package/src/verify/error.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
export default function verifyError(errorNode, fileContext) {
|
|
4
|
-
let errorVerified = false;
|
|
5
|
-
|
|
6
|
-
const errorString = fileContext.nodeAsString(errorNode)
|
|
7
|
-
|
|
8
|
-
fileContext.debug(`The '${errorString}' error cannot be verified.`, errorNode);
|
|
9
|
-
|
|
10
|
-
return errorVerified;
|
|
11
|
-
}
|