123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- import defineInspect from "../jsutils/defineInspect.mjs";
- /**
- * Contains a range of UTF-8 character offsets and token references that
- * identify the region of the source from which the AST derived.
- */
- export 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`.
- defineInspect(Location);
- /**
- * Represents a range of characters represented by a lexical token
- * within a Source.
- */
- export 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`.
- defineInspect(Token);
- /**
- * @internal
- */
- export function isNode(maybeNode) {
- return maybeNode != null && typeof maybeNode.kind === 'string';
- }
- /**
- * The list of all possible AST node types.
- */
|