mirror of
https://github.com/CamHenlin/MessagesForMacintosh.git
synced 2024-11-23 01:36:14 +00:00
133 lines
2.8 KiB
JavaScript
133 lines
2.8 KiB
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.isNode = isNode;
|
|
exports.Token = exports.Location = void 0;
|
|
|
|
var _defineInspect = _interopRequireDefault(require("../jsutils/defineInspect.js"));
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
/**
|
|
* Contains a range of UTF-8 character offsets and token references that
|
|
* identify the region of the source from which the AST derived.
|
|
*/
|
|
var Location = /*#__PURE__*/function () {
|
|
/**
|
|
* The character offset at which this Node begins.
|
|
*/
|
|
|
|
/**
|
|
* The character offset at which this Node ends.
|
|
*/
|
|
|
|
/**
|
|
* The Token at which this Node begins.
|
|
*/
|
|
|
|
/**
|
|
* The Token at which this Node ends.
|
|
*/
|
|
|
|
/**
|
|
* The Source document the AST represents.
|
|
*/
|
|
function Location(startToken, endToken, source) {
|
|
this.start = startToken.start;
|
|
this.end = endToken.end;
|
|
this.startToken = startToken;
|
|
this.endToken = endToken;
|
|
this.source = source;
|
|
}
|
|
|
|
var _proto = Location.prototype;
|
|
|
|
_proto.toJSON = function toJSON() {
|
|
return {
|
|
start: this.start,
|
|
end: this.end
|
|
};
|
|
};
|
|
|
|
return Location;
|
|
}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.
|
|
|
|
|
|
exports.Location = Location;
|
|
(0, _defineInspect.default)(Location);
|
|
/**
|
|
* Represents a range of characters represented by a lexical token
|
|
* within a Source.
|
|
*/
|
|
|
|
var Token = /*#__PURE__*/function () {
|
|
/**
|
|
* The kind of Token.
|
|
*/
|
|
|
|
/**
|
|
* The character offset at which this Node begins.
|
|
*/
|
|
|
|
/**
|
|
* The character offset at which this Node ends.
|
|
*/
|
|
|
|
/**
|
|
* The 1-indexed line number on which this Token appears.
|
|
*/
|
|
|
|
/**
|
|
* The 1-indexed column number at which this Token begins.
|
|
*/
|
|
|
|
/**
|
|
* For non-punctuation tokens, represents the interpreted value of the token.
|
|
*/
|
|
|
|
/**
|
|
* Tokens exist as nodes in a double-linked-list amongst all tokens
|
|
* including ignored tokens. <SOF> is always the first node and <EOF>
|
|
* the last.
|
|
*/
|
|
function Token(kind, start, end, line, column, prev, value) {
|
|
this.kind = kind;
|
|
this.start = start;
|
|
this.end = end;
|
|
this.line = line;
|
|
this.column = column;
|
|
this.value = value;
|
|
this.prev = prev;
|
|
this.next = null;
|
|
}
|
|
|
|
var _proto2 = Token.prototype;
|
|
|
|
_proto2.toJSON = function toJSON() {
|
|
return {
|
|
kind: this.kind,
|
|
value: this.value,
|
|
line: this.line,
|
|
column: this.column
|
|
};
|
|
};
|
|
|
|
return Token;
|
|
}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.
|
|
|
|
|
|
exports.Token = Token;
|
|
(0, _defineInspect.default)(Token);
|
|
/**
|
|
* @internal
|
|
*/
|
|
|
|
function isNode(maybeNode) {
|
|
return maybeNode != null && typeof maybeNode.kind === 'string';
|
|
}
|
|
/**
|
|
* The list of all possible AST node types.
|
|
*/
|