(s,t){ if((%IS_VAR(this)===null)||(this===(void 0)))🔶️throw 🔶️%make_type_error(17,"String.prototype.indexOf"); var u=(🔶️%_ToString(this)); s=(🔶️%_ToString(s)); var v=(🔶️%_ToInteger(t)); if(v<0)v=0; if(v>u⚠️.length)v=u⚠️.length; return 🔶️%StringIndexOf(u,s,v); }
(w,x){ if((%IS_VAR(this)===null)||(this===(void 0)))🔶️throw 🔶️%make_type_error(17,"String.prototype.lastIndexOf"); var y=(🔶️%_ToString(this)); var z=y.length; var w=(🔶️%_ToString(w)); var A=w.length; var v=z-A; var t=(🔶️%_ToNumber(x)); if(!(!%_IsSmi(%IS_VAR(t))&&!(t==t))){ t=(🔶️%_ToInteger(t)); if(t<0){ t=0; } if(t+A<z){ v=t; } } if(v<0){ return-1; } return 🔶️%StringLastIndexOf(y,w,v); }
(L,M){ if((%IS_VAR(this)===null)||(this===(void 0)))🔶️throw 🔶️%make_type_error(17,"String.prototype.subString"); var p=(🔶️%_ToString(this)); var Z=p.length; var aa=(🔶️%_ToInteger(L)); if(aa<0){ aa=0; }else if(aa>Z){ aa=Z; } var ab=Z; if(!(M===(void 0))){ ab=(🔶️%_ToInteger(M)); if(ab>Z){ ab=Z; }else{ if(ab<0)ab=0; if(aa>ab){ var ah=ab; ab=aa; aa=ah; } } } return 🔶️%_SubString(p,aa,ab); }
(L,M){ if((%IS_VAR(this)===null)||(this===(void 0)))🔶️throw 🔶️%make_type_error(17,"String.prototype.slice"); var p=(🔶️%_ToString(this)); var Z=p.length; var aa=(🔶️%_ToInteger(L)); var ab=Z; if(!(M===(void 0))){ ab=(🔶️%_ToInteger(M)); } if(aa<0){ aa+=Z; if(aa<0){ aa=0; } }else{ if(aa>Z){ return''; } } if(ab<0){ ab+⚠️=Z; if(ab⚠️<0){ return''; } }else{ if(ab>Z){ ab=Z; } } if(ab<=aa){ return''; } return 🔶️%_SubString(p,aa,ab); }
- Deopt: <JS Function isWhiteSpaceSingleLine (SharedFunctionInfo 0x30d407fdb0f1)> (opt #93) @1, FP to SP delta: 24, caller sp: 0x7fff5fbfd2e8
(L,Q){ if((%IS_VAR(this)===null)||(this===(void 0)))🔶️throw 🔶️%make_type_error(17,"String.prototype.substr"); var p=(🔶️%_ToString(this)); var ai=p⚠️.length; L=(🔶️%_ToInteger(L)); Q=(Q===(void 0))?ai:(🔶️%_ToInteger(Q)); if(L<0)L=🔶️g(ai⚠️+L,0); Q=🔷h(🔷g(Q,0),ai-L); if(Q<=0)return''; return 🔶️%_SubString(p,L,L+Q); }
Inlined functions:g
(k,l){ return k>l?k:l; }h
(k,l){ return k>l?l:k; }
~recompile~
~recompile~
(ac,ad){ if((%IS_VAR(this)===null)||(this===(void 0)))🔶️throw 🔶️%make_type_error(17,"String.prototype.split"); if(!(ac==null)){ var ae=ac⚠️[m]; if(!(ae===(void 0))){ return 🔶️%_Call(ae,ac,this,ad); } } var u=(🔶️%_ToString(this)); ad=((ad===(void 0)))?4294967295:((ad)>>>0); var Q=u.length; var af=(🔶️%_ToString(ac)); if(ad===0)return🔶️[]; if((ac===(void 0)))return⚠️[u]; var ag=af.length; if(ag===0)return 🔶️%StringToArray(u,ad); return 🔶️%StringSplit(u,af,ad); }
(property) { return ((this.mode & constants.S_IFMT) === property); }
(path, callback) { if (('' + path).🔶indexOf('\x5cu0000') !== -1) { var er🔶️ = new Error('Path must be a string without null bytes'); er.co⚠️de = 'ENOENT'; if (typeof callback !== 'function') 🔶️ throw er; proce🔶️ss.nextTick(callback, er); return false; } return true; }
( dev, mode, nlink, uid, gid, rdev, blksize, ino, size, blocks, atim_msec, mtim_msec, ctim_msec, birthtim_msec) { this.dev = dev; this.mode = mode; this.nlink = nlink; this.uid = uid; this.gid = gid; this.rdev = rdev; this.blksize = blksize; this.ino = ino; this.size = size; this.blocks = blocks; this.atime = 🔶️new Date(atim_msec); this.mtime = 🔶️new Date(mtim_msec); this.ctime = 🔶️new Date(ctim_msec); this.birthtime = 🔶️new Date(birthtim_msec); }
() { return this.🔷_checkModeProperty(constants.S_IFREG); }
Inlined functions:_checkModeProperty
(property) { return ((this.mode & constants.S_IFMT) === property); }
(path) { 🔷nullCheck(path); return binding.🔶️stat(pathModule.🔶_makeLong(path)); }
Inlined functions:nullCheck
(path, callback) { if (('' + path).🔶indexOf('\x5cu0000') !== -1) { var er🔶️ = new Error('Path must be a string without null bytes'); er.co⚠️de = 'ENOENT'; if (typeof callback !== 'function') 🔶️ throw er; proce🔶️ss.nextTick(callback, er); return false; } return true; }
(path) { 🔷nullCheck(path); return binding.🔶️lstat(pathModule.🔶_makeLong(path)); }
Inlined functions:nullCheck
(path, callback) { if (('' + path).🔶indexOf('\x5cu0000') !== -1) { var er🔶️ = new Error('Path must be a string without null bytes'); er.co⚠️de = 'ENOENT'; if (typeof callback !== 'function') 🔶️ throw er; proce🔶️ss.nextTick(callback, er); return false; } return true; }
() { return this.🔷_checkModeProperty(constants.S_IFLNK); }
Inlined functions:_checkModeProperty
(property) { return ((this.mode & constants.S_IFMT) === property); }
() { return this.🔷_checkModeProperty(constants.S_IFDIR); }
Inlined functions:_checkModeProperty
(property) { return ((this.mode & constants.S_IFMT) === property); }
(path, flags, mode) { mode = 🔷modeNum(mode, 0o666); 🔷nullCheck(path); return binding.🔶️open(pathModule.🔶_makeLong(path), 🔶️stringToFlags(flags), mode); }
Inlined functions:modeNum
(m, def) { if (typeof m === 'number') return m; if (typeof m === 'string') return 🔶️parseInt(m, 8); if (def) return 🔶modeNum(def); return undefined; }nullCheck
(path, callback) { if (('' + path).🔶indexOf('\x5cu0000') !== -1) { var er🔶️ = new Error('Path must be a string without null bytes'); er.co⚠️de = 'ENOENT'; if (typeof callback !== 'function') 🔶️ throw er; proce🔶️ss.nextTick(callback, er); return false; } return true; }
(fd) { return binding.🔶️fstat(fd); }
(fd) { return binding.🔶️close(fd); }
(options, defaultOptions) { if (options === null || options === undefined || typeof options === 'function') { return defaultOptions; } if (typeof options === 'string') { defaultOptions = util.🔷_extend({}, defaultOptions); defaultOptions.encoding = options; options = defaultOptions; } else if (typeof options !== 'object') { 🔶️throw 🔶️new TypeError('"options" must be a string or an object, got ' + typeof options + ' instead.'); } if (options.encoding ⚠️!== 'buffer') 🔷assertEncoding(options.encoding); return options; }
Inlined functions:_extend
(target, source) { // Don't do anything if source isn't an object if (source === null || typeof source !== 'object') return target;var keys = Object.keys(source); var i = keys.length; while (i--) { target[keys[i]] ⚠️= source⚠️[keys[i]]; } return target; }
assertEncoding
(encoding) { if (encoding && !Buffer.🔷isEncoding(encoding)) { 🔶️throw 🔶️new Error(`Unknown encoding: ${🔶️encoding}`); } }Inlined functions:isEncoding
(encoding) { return typeof encoding === 'string' && typeof internalUtil.🔷normalizeEncoding(encoding) === 'string'; }Inlined functions:normalizeEncoding
(enc) { if (!enc) return 'utf8'; var low; for (;;) { ⚠️switch (enc) { case 'utf8': case 'utf-8': return 'utf8'; case 'ucs2': case 'utf16le': case 'ucs-2': case 'utf-16le': return 'utf16le'; case 'binary': return 'latin1'; case 'base64': case 'ascii': case 'latin1': case 'hex': return enc; default: if (low) return; // undefined enc = ('' + enc).🔶️toLowerCase(); low = true; } } }
(p, options) { options = 🔷getOptions(options, {}); 🔷nullCheck(p); p = p.toString('utf8'); p = pathModule.resolve(p); const seenLinks = {}; const knownHard = {}; const cache = options[internalFS.realpathCacheKey]; const original = p; const maybeCachedResult = cache && cache.get(p); if (maybeCachedResult) { return maybeCachedResult; } // current character position in p var pos; // the partial path so far, including a trailing slash if any var current; // the partial path without a trailing slash (except when pointing at a root) var base; // the partial path scanned in the previous round, with slash var previous; start(); function start() { // Skip over roots var m = splitRootRe.exec(p); pos = m[0].length; current = m[0]; base = m[0]; previous = ''; // On windows, check that the root exists. On unix there is no need. if (isWindows && !knownHard[base]) { fs.lstatSync(base); knownHard[base] = true; } } // walk down the path, swapping out linked pathparts for their real // values // NB: p.length changes. while (pos < p.length) { // find the next part nextPartRe.lastIndex = pos; var result = nextPartRe.exec(p); previous = current; current += result[0]; base = previous + result[1]; pos = nextPartRe.lastIndex; // continue if not a symlink if (knownHard[base] || (cache && cache.get(base) === base)) { continue; } var resolvedLink; const maybeCachedResolved = cache && cache.get(base); if (maybeCachedResolved) { resolvedLink = maybeCachedResolved; } else { var stat = fs.🔷lstatSync(base); if (!stat.🔷isSymbolicLink()) { knownHard[base] = true; continue; } // read the link if it wasn't read before // dev/ino always return 0 on windows, so skip the check. let linkTarget = null; let id; if (!isWindows) { id = `${stat.dev.toString(32)}:${stat.ino.toString(32)}`; if (seenLinks.hasOwnProperty(id)) { linkTarget = seenLinks[id]; } } if (linkTarget === null) { fs.🔷statSync(base); linkTarget = fs.readlinkSync(base); } resolvedLink = pathModule.resolve(previous, linkTarget); if (cache) cache.set(base, resolvedLink); if (!isWindows) seenLinks[id] = linkTarget; } // resolve the link, then start over p = pathModule.resolve(resolvedLink, p.slice(pos)); start(); } if (cache) cache.set(original, p); return encodeRealpathResult(p, options); }
Inlined functions:getOptions
(options, defaultOptions) { if (options === null || options === undefined || typeof options === 'function') { return defaultOptions; }if (typeof options === 'string') { defaultOptions = util.🔷_extend({}, defaultOptions); defaultOptions.encoding = options; options = defaultOptions; } else if (typeof options !== 'object') { throw new TypeError('"options" must be a string or an object, got ' + typeof options + ' instead.'); }
if (options.encoding !== 'buffer') 🔷assertEncoding(options.encoding); return options; }
Inlined functions:_extend
(target, source) { // Don't do anything if source isn't an object if (source === null || typeof source !== 'object') return target;var keys = Object.keys(source); var i = keys.length; while (i--) { target[keys[i]] = source[keys[i]]; } return target; }
assertEncoding
(encoding) { if (encoding && !Buffer.🔷isEncoding(encoding)) { throw new Error(`Unknown encoding: ${encoding}`); } }Inlined functions:isEncoding
(encoding) { return typeof encoding === 'string' && typeof internalUtil.🔷normalizeEncoding(encoding) === 'string'; }Inlined functions:normalizeEncoding
(enc) { if (!enc) return 'utf8'; var low; for (;;) { switch (enc) { case 'utf8': case 'utf-8': return 'utf8'; case 'ucs2': case 'utf16le': case 'ucs-2': case 'utf-16le': return 'utf16le'; case 'binary': return 'latin1'; case 'base64': case 'ascii': case 'latin1': case 'hex': return enc; default: if (low) return; // undefined enc = ('' + enc).toLowerCase(); low = true; } } }nullCheck
(path, callback) { if (('' + path).indexOf('\x5cu0000') !== -1) { var er = new Error('Path must be a string without null bytes'); er.code = 'ENOENT'; if (typeof callback !== 'function') throw er; process.nextTick(callback, er); return false; } return true; }lstatSync
(path) { 🔷nullCheck(path); return binding.lstat(pathModule._makeLong(path)); }Inlined functions:nullCheck
(path, callback) { if (('' + path).indexOf('\x5cu0000') !== -1) { var er = new Error('Path must be a string without null bytes'); er.code = 'ENOENT'; if (typeof callback !== 'function') throw er; process.nextTick(callback, er); return false; } return true; }isSymbolicLink
() { return this.🔷_checkModeProperty(constants.S_IFLNK); }Inlined functions:_checkModeProperty
(property) { return ((this.mode & constants.S_IFMT) === property); }statSync
(path) { 🔷nullCheck(path); return binding.stat(pathModule._makeLong(path)); }Inlined functions:nullCheck
(path, callback) { if (('' + path).indexOf('\x5cu0000') !== -1) { var er = new Error('Path must be a string without null bytes'); er.code = 'ENOENT'; if (typeof callback !== 'function') throw er; process.nextTick(callback, er); return false; } return true; }
() { EventEmitter.🔶️call(this); var self = this; this._handle = 🔶️new binding.StatWatcher(); // uv_fs_poll is a little more powerful than ev_stat but we curb it for // the sake of backwards compatibility var oldStatus = -1; this._handle.onchange ⚠️= function(current, previous, newStatus) { if (oldStatus === -1 && newStatus === -1 && current.nlink === previous.nlink) return; oldStatus = newStatus; self.emit('change', current, previous); }; this._handle.onstop = 🔶️function() { process.nextTick(emitStop, self); }; }
(filename, persistent, interval) { 🔷nullCheck(filename); this._handle.🔶️start(pathModule.🔶_makeLong(filename), persistent, interval); }
Inlined functions:nullCheck
(path, callback) { if (('' + path).🔶indexOf('\x5cu0000') !== -1) { var er🔶️ = new Error('Path must be a string without null bytes'); er.co⚠️de = 'ENOENT'; if (typeof callback !== 'function') 🔶️ throw er; proce🔶️ss.nextTick(callback, er); return false; } return true; }
(m, def) { if (typeof m === 'number') return m; if (typeof m === 'string') return 🔶️parseInt(m, 8); if (def) return 🔶modeNum(def); return undefined; }
- Deopt: <JS Function isConst (SharedFunctionInfo 0x30d407fdf7a1)> (opt #1166) @19, FP to SP delta: 168, caller sp: 0x7fff5fbfcfa8
- Deopt: <JS Function getCombinedModifierFlags (SharedFunctionInfo 0x30d407ff0881)> (opt #1184) @55, FP to SP delta: 136, caller sp: 0x7fff5fbfcf70
~recompile~
~recompile~
(path1, path2) { if (!(path1 && path1.length)) return path2; if (!(path2 && path2⚠️.length)) return path1; if (🔶getRootLength(path2) !== 0) return path2; if (path1.charAt(path1.length - 1) === ts.directorySeparator) return path1 + path2; return path1 + ts.directorySeparator + path2; }
(path, extension) { return path.length > extension.length && 🔷endsWith(path, extension); }
Inlined functions:endsWith
(str, suffix) { var expectedPos = str.length - suffix.length; return expectedPos >= 0 && str.🔶indexOf(suffix, expectedPos) === expectedPos; }
~recompile~
~recompile~
(path) { if (path.🔶️charCodeAt(0) === 47) { if (path.🔶️charCodeAt(1) !== 47) return 1; var p1 = path.⚠️indexOf("/", 2); if (p1 < 0) return 2; var p2 = path.⚠️indexOf("/", p1 ⚠️+ 1); if (p2 < 0) return p1 ⚠️+ 1; return p2 ⚠️+ 1; } if (path.charCodeAt(1) === 58) { if (path.⚠️charCodeAt(2) ⚠️=== 47) return 3; return 2; } if (path.🔶lastIndexOf("file:///", 0) === 0) { return "file:///".length; } var idx = path.🔶indexOf("://"); if (idx !== -1) { return idx ⚠️+ "://".length; } return 0; }
(path, extension) { return 🔷fileExtensionIs(path, extension) ? 🔷removeExtension(path, extension) : undefined; }
Inlined functions:fileExtensionIs
(path, extension) { return path.length > extension.length && 🔷endsWith(path, extension); }Inlined functions:endsWith
(str, suffix) { var expectedPos = str.length - suffix.length; return expectedPos >= 0 && str.🔶indexOf(suffix, expectedPos) === expectedPos; }removeExtension
(path, extension) { return path.🔶substring(0, path.length - extension.length); }
(extensionPriority) { if (extensionPriority < 2) { return 0; } else if (extensionPriority < 5) { return 2; } else { return 5; } }
(key) { return key.🔶️toLowerCase(); }
(a, b) { return 🔷compareStrings(a, b, true); }
Inlined functions:compareStrings
(a, b, ignoreCase) { if (a === b) return 0; if (a === undefined) return -1; if (b === undefined) return 1; if (ignoreCase) { if (ts.collator && String.prototype.localeCompare) { var result = a.🔶️localeCompare(b, undefined, { usage: "sort", sensitivity: "accent" }); return result < 0 ? -1 : result > 0 ? 1 : 0; } a = a.🔶️toUpperCase(); b = b.🔶️toUpperCase(); if (a ⚠️=== b) return 0; } return a ⚠️< b ? -1 : 1; }
(ch) { return ch === 10 || ch === 13 || ch === 8232 || ch === 8233; }
() { return currentToken; }
() { return startPos; }
(ch, languageVersion) { return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 48 && ch <= 57 || ch === 36 || ch === 95 || ch > 127 && 🔶️isUnicodeIdentifierPart(ch, languageVersion); }
() { var len = tokenValue.length; if (len >= 2 && len <= 11) { var ch = tokenValue.charCodeAt(0); if (ch >= 97 && ch <= 122 && hasOwnProperty.🔶️call(textToToken, tokenValue)) { return token = textToToken⚠️[tokenValue]; } } return token = 70; }
() { return currentToken = scanner.🔶scan(); }
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
() { startPos = pos; hasExtendedUnicodeEscape = false; precedingLineBreak = false; tokenIsUnterminated = false; while (true) { tokenPos = pos; if (pos >= end) { return token = 1; } var ch = text.charCodeAt(pos); if (ch === 35 && pos ⚠️=== 0 && 🔶️isShebangTrivia(text, pos)) { pos = 🔶️scanShebangTrivia(text, pos); if (skipTrivia) { continue; } else { return token = 6; } } switch (ch) { case 10: case 13: precedingLineBreak = true; if (skipTrivia) { pos++; continue; } else { if (ch === 13 && pos + 1 < end && text.charCodeAt(pos + 1) === 10) { pos += 2; } else { pos++; } return token = 4; } case 9: case 11: case 12: case 32: if (skipTrivia) { pos++; continue; } else { while (pos < end && 🔷isWhiteSpaceSingleLine(text.charCodeAt(pos))) { pos++; } return token = 5; } case 33: if (text.charCodeAt(pos + 1) === 61) { if (text.charCodeAt(pos + 2) === 61) { return pos += 3, token = 34; } return pos += 2, token = 32; } pos++; return token = 50; case 34: case 39: tokenValue = 🔶scanString(); return token = 9; case 96: return token = 🔶️scanTemplateAndSetTokenValue(); case 37: if (text.charCodeAt(pos + 1) === 61) { return pos +⚠️= 2, token = 63; } pos++; return token = 41; case 38: if (text.charCodeAt(pos + 1) === 38) { return pos += 2, token = 52; } if (text.charCodeAt(pos + 1) === 61) { return pos +⚠️= 2, token = 67; } pos++; return token = 47; case 40: pos++; return token = 18; case 41: pos++; return token = 19; case 42: if (text.charCodeAt(pos + 1) === 61) { return pos +⚠️= 2, token = 60; } if (text.charCodeAt(pos + 1) === 42) { if (text.🔶️charCodeAt(pos ⚠️+ 2) ⚠️=== 61) { return pos +⚠️= 3, token = 61; } return pos +⚠️= 2, token = 39; } pos++; return token = 38; case 43: if (text.charCodeAt(pos + 1) === 43) { return pos += 2, token = 42; } if (text.charCodeAt(pos + 1) === 61) { return pos += 2, token = 58; } pos++; return token = 36; case 44: pos++; return token = 25; case 45: if (text.charCodeAt(pos + 1) === 45) { return pos += 2, token = 43; } if (text.charCodeAt(pos + 1) === 61) { return pos +⚠️= 2, token = 59; } pos++; return token = 37; case 46: if (🔷isDigit(text.charCodeAt(pos + 1))) { tokenValue = 🔶️scanNumber(); return token = 8; } if (text.charCodeAt(pos + 1) === 46 && text.charCodeAt(pos + 2) === 46) { return pos += 3, token = 23; } pos++; return token = 22; case 47: if (text.charCodeAt(pos + 1) === 47) { pos += 2; while (pos < end) { if (🔷isLineBreak(text.charCodeAt(pos))) { break; } pos++; } if (skipTrivia) { continue; } else { return token = 2; } } if (text.charCodeAt(pos + 1) === 42) { pos += 2; var commentClosed = false; while (pos < end) { var ch_2 = text.charCodeAt(pos); if (ch_2 === 42 && text.charCodeAt(pos + 1) === 47) { pos += 2; commentClosed = true; break; } if (🔷isLineBreak(ch_2)) { precedingLineBreak = true; } pos++; } if (!commentClosed) { 🔶️error(ts⚠️.Diagnostics⚠️.Asterisk_Slash_expected); } if (skipTrivia) { continue; } else { tokenIsUnterminated = !commentClosed; return token = 3; } } if (text.charCodeAt(pos + 1) === 61) { return pos +⚠️= 2, token = 62; } pos++; return token = 40; case 48: if (pos + 2 < end && (text.charCodeAt(pos + 1) === 88 || text.charCodeAt(pos + 1) === 120)) { pos +⚠️= 2; var value = 🔶️scanMinimumNumberOfHexDigits(1); if (value ⚠️< 0) { 🔶️error(ts⚠️.Diagnostics⚠️.Hexadecimal_digit_expected); value = 0; } tokenValue = "" + value; return token = 8; } else if (pos + 2 < end && (text.charCodeAt(pos + 1) === 66 || text.charCodeAt(pos + 1) === 98)) { pos +⚠️= 2; var value = 🔶️scanBinaryOrOctalDigits(2); if (value ⚠️< 0) { 🔶️error(ts⚠️.Diagnostics⚠️.Binary_digit_expected); value = 0; } tokenValue = "" + value; return token = 8; } else if (pos + 2 < end && (text.charCodeAt(pos + 1) === 79 || text.charCodeAt(pos + 1) === 111)) { pos +⚠️= 2; var value = 🔶️scanBinaryOrOctalDigits(8); if (value ⚠️< 0) { 🔶️error(ts⚠️.Diagnostics⚠️.Octal_digit_expected); value = 0; } tokenValue = "" + value; return token = 8; } if (pos + 1 < end && 🔷isOctalDigit(text.charCodeAt(pos + 1))) { tokenValue = "" + 🔶️scanOctalDigits(); return token = 8; } case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: tokenValue = 🔶️scanNumber(); return token = 8; case 58: pos++; return token = 55; case 59: pos++; return token = 24; case 60: if (🔶isConflictMarkerTrivia(text, pos)) { pos = 🔶️scanConflictMarkerTrivia(text, pos, error); if (skipTrivia) { continue; } else { return token = 7; } } if (text.charCodeAt(pos + 1) === 60) { if (text.🔶️charCodeAt(pos ⚠️+ 2) ⚠️=== 61) { return pos +⚠️= 3, token = 64; } return pos +⚠️= 2, token = 44; } if (text.charCodeAt(pos + 1) === 61) { return pos += 2, token = 29; } if (languageVariant === 1 && text.charCodeAt(pos + 1) === 47 && text.🔶️charCodeAt(pos ⚠️+ 2) ⚠️!== 42) { return pos +⚠️= 2, token = 27; } pos++; return token = 26; case 61: if (🔶isConflictMarkerTrivia(text, pos)) { pos = 🔶️scanConflictMarkerTrivia(text, pos, error); if (skipTrivia) { continue; } else { return token = 7; } } if (text.charCodeAt(pos + 1) === 61) { if (text.charCodeAt(pos + 2) === 61) { return pos += 3, token = 33; } return pos += 2, token = 31; } if (text.charCodeAt(pos + 1) === 62) { return pos += 2, token = 35; } pos++; return token = 57; case 62: if (🔶isConflictMarkerTrivia(text, pos)) { pos = 🔶️scanConflictMarkerTrivia(text, pos, error); if (skipTrivia) { continue; } else { return token = 7; } } pos++; return token = 28; case 63: pos++; return token = 54; case 91: pos++; return token = 20; case 93: pos++; return token = 21; case 94: if (text.⚠️charCodeAt(pos ⚠️+ 1) ⚠️=== 61) { return pos +⚠️= 2, token = 69; } pos++; return token = 49; case 123: pos++; return token = 16; case 124: if (text.charCodeAt(pos + 1) === 124) { return pos += 2, token = 53; } if (text.charCodeAt(pos + 1) === 61) { return pos +⚠️= 2, token = 68; } pos++; return token = 48; case 125: pos++; return token = 17; case 126: pos++; return token = 51; case 64: pos++; return token = 56; case 92: var cookedChar = 🔶️peekUnicodeEscape(); if (cookedChar >= 0 && 🔶isIdentifierStart(cookedChar, languageVersion)) { pos +⚠️= 6; tokenValue = String.fromCharCode(cookedChar) ⚠️+ scanIdentifierParts(); return token = 🔶getIdentifierToken(); } 🔶️error(ts⚠️.Diagnostics⚠️.Invalid_character); pos++; return token = 0; default: if (🔷isIdentifierStart(ch, languageVersion)) { pos++; while (pos < end && 🔷isIdentifierPart(ch = text.charCodeAt(pos), languageVersion)) pos++; tokenValue = text.🔶substring(tokenPos, pos); if (ch === 92) { tokenValue +⚠️= scanIdentifierParts(); } return token = 🔶getIdentifierToken(); } else if (🔶isWhiteSpaceSingleLine(ch)) { pos++; continue; } else if (🔶isLineBreak(ch)) { precedingLineBreak = true; pos++; continue; } 🔶️error(ts⚠️.Diagnostics⚠️.Invalid_character); pos++; return token = 0; } } }
Inlined functions:isWhiteSpaceSingleLine
(ch) { return ch === 32 || ch === 9 || ch === 11 || ch === 12 || ch === 160 || ch === 133 || ch === 5760 || ch >= 8192 && ch <= 8203 || ch === 8239 || ch === 8287 || ch === 12288 || ch === 65279; }isDigit
(ch) { return ch >= 48 && ch <= 57; }isLineBreak
(ch) { return ch === 10 || ch === 13 || ch === 8232 || ch === 8233; }isLineBreak
(ch) { return ch === 10 || ch === 13 || ch === 8232 || ch === 8233; }isOctalDigit
(ch) { return ch >= 48 && ch <= 55; }isIdentifierStart
(ch, languageVersion) { return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch === 36 || ch === 95 || ch > 127 && 🔷isUnicodeIdentifierStart(ch, languageVersion); }Inlined functions:isUnicodeIdentifierStart
(code, languageVersion) { return languageVersion >= 1 ? 🔷lookupInUnicodeMap(code, unicodeES5IdentifierStart) : 🔶️lookupInUnicodeMap(code, unicodeES3IdentifierStart); }Inlined functions:lookupInUnicodeMap
(code, map) { if (code < map[0]) { return false; } var lo = 0; var hi = map.length; var mid; while (lo + 1 < hi) { mid = lo + (hi - lo) / 2; mid -= mid % 2; if (map[mid] <= code && code <= map[mid + 1]) { return true; } if (code < map[mid]) { hi = mid; } else { lo = mid + 2; } } return false; }isIdentifierPart
(ch, languageVersion) { return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 48 && ch <= 57 || ch === 36 || ch === 95 || ch > 127 && 🔷isUnicodeIdentifierPart(ch, languageVersion); }Inlined functions:isUnicodeIdentifierPart
(code, languageVersion) { return languageVersion >= 1 ? 🔷lookupInUnicodeMap(code, unicodeES5IdentifierPart) : 🔶️lookupInUnicodeMap(code, unicodeES3IdentifierPart); }Inlined functions:lookupInUnicodeMap
(code, map) { if (code < map[0]) { return false; } var lo = 0; var hi = map.length; var mid; while (lo + 1 < hi) { mid = lo + (hi - lo) / 2; mid -= mid % 2; if (map[mid] <= code && code <= map[mid + 1]) { return true; } if (code < map[mid]) { hi = mid; } else { lo = mid + 2; } } return false; }
() { return 🔷inContext(8192); }
Inlined functions:inContext
(flags) { return (contextFlags & flags) !== 0; }
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
~recompile~
~recompile~
(kind, location, flags) { var ConstructorForKind = kind === 261 ? (SourceFileConstructor || (SourceFileConstructor = ts⚠️.objectAllocator.🔶getSourceFileConstructor())) : (NodeConstructor || (NodeConstructor = ts⚠️.objectAllocator.🔶getNodeConstructor())); var node = location ? 🔷new ConstructorForKind(kind, location⚠️.pos, location⚠️.end) : 🔷new ConstructorForKind(kind, -1, -1); node.flags = flags | 8; return node; }
Inlined functions:new ConstructorForKind
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new ConstructorForKind
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }
- Deopt: <JS Function addJSDocComment (SharedFunctionInfo 0x98bdb9c5db9)> (opt #372) @15, FP to SP delta: 48, caller sp: 0x7fff5fbfd2b0
- Deopt: <JS Function parseList (SharedFunctionInfo 0x98bdb9c95f9)> (opt #272) @21, FP to SP delta: 80, caller sp: 0x7fff5fbfd5d0
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }
Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
(elements, location, hasTrailingComma) { if (elements) { if (ts.🔷isNodeArray(elements)) { return elements; } } else { elements = []; } var array = elements; if (location) { array.pos ⚠️= location⚠️.pos; array.end = location⚠️.end; } else { array.pos ⚠️= -1; array.end = -1; } if (hasTrailingComma) { array.hasTrailingComma = true; } return array; }
Inlined functions:isNodeArray
(array) { return array.🔶️hasOwnProperty("pos") && array.🔶️hasOwnProperty("end"); }
() { return tokenValue; }
~recompile~
~recompile~
~recompile~
(node) { return node⚠️.kind === 70; }
~recompile~
~recompile~
(identifier) { return identifier⚠️.length >= 2 && identifier.🔶️charCodeAt(0) === 95 && identifier.charCodeAt(1) === 95 ? "_" + identifier : identifier; }
() { return tokenPos; }
~recompile~
~recompile~
~recompile~
(text, location) { var node = 🔷createNode(70, location); node.text = ts.🔷escapeIdentifier(text); node.originalKeywordKind = ts.🔷stringToToken(text); node.autoGenerateKind = 0; node.autoGenerateId = 0; return node; }
Inlined functions:createNode
(kind, location, flags) { var ConstructorForKind = kind === 261 ? (SourceFileConstructor || (SourceFileConstructor = ts⚠️.objectAllocator.🔶getSourceFileConstructor())) : (NodeConstructor || (NodeConstructor = ts⚠️.objectAllocator.🔶getNodeConstructor())); var node = location ? 🔷new ConstructorForKind(kind, location⚠️.pos, location⚠️.end) : 🔷new ConstructorForKind(kind, -1, -1); node.flags = flags | 8; return node; }Inlined functions:new ConstructorForKind
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new ConstructorForKind
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }escapeIdentifier
(identifier) { return identifier⚠️.length >= 2 && identifier.🔶️charCodeAt(0) === 95 && identifier.charCodeAt(1) === 95 ? "_" + identifier : identifier; }stringToToken
(s) { return textToToken⚠️[s]; }
() { return scanner.🔶getStartPos(); }
~recompile~
~recompile~
(callback, isLookahead) { var savePos = pos; var saveStartPos = startPos; var saveTokenPos = tokenPos; var saveToken = token; var saveTokenValue = tokenValue; var savePrecedingLineBreak = precedingLineBreak; var result = 🔶️callback(); if (!result || isLookahead) { pos = savePos; startPos = saveStartPos; tokenPos = saveTokenPos; token = saveToken; tokenValue = saveTokenValue; precedingLineBreak = savePrecedingLineBreak; } return result; }
- Deopt: <JS Function findSourceFile (SharedFunctionInfo 0x3901d38f6429)> (opt #361) @34, FP to SP delta: 96, caller sp: 0x7fff5fbfdf90
(token) { switch (token) { case 116: case 119: case 75: case 123: case 78: case 83: case 113: case 111: case 112: case 130: case 114: return true; } return false; }
() { switch (🔷token()) { case 126: return 🔶parseTypeOperator(126); } return 🔶parseArrayTypeOrHigher(); }
Inlined functions:token
() { return currentToken; }
~recompile~
~recompile~
~recompile~
~recompile~
() { return 🔷parseUnionOrIntersectionType(165, parseTypeOperatorOrHigher, 47); }
Inlined functions:parseUnionOrIntersectionType
(kind, parseConstituentType, operator) { 🔷parseOptional(operator); var type = 🔶️parseConstituentType(); if (🔷token() === operator) { var types = 🔷createNodeArray([type], type⚠️.pos); while (🔷parseOptional(operator)) { types.push(🔶️parseConstituentType()); } types.end = 🔷getNodeEnd(); var node = 🔷createNode(kind, type⚠️.pos); node.types = types; type = 🔷finishNode(node); } return type; }Inlined functions:parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }createNodeArray
(elements, pos) { var array = (elements || []); if (!(pos >= 0)) { pos = 🔷getNodePos(); } array.pos ⚠️= pos; array.end = pos; return array; }Inlined functions:getNodePos
() { return scanner.🔶getStartPos(); }parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }getNodeEnd
() { return scanner.🔶getStartPos(); }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }
() { return 🔷doOutsideOfContext(20480, parseTypeWorker); }
Inlined functions:doOutsideOfContext
(context, func) { var contextFlagsToClear = context & contextFlags; if (contextFlagsToClear) { 🔶setContextFlag(false, contextFlagsToClear); var result = 🔶️func(); 🔶setContextFlag(true, contextFlagsToClear); return result; } return 🔶️func(); }
~recompile~
~recompile~
~recompile~
() { if (🔷isStartOfFunctionType()) { return 🔷parseFunctionOrConstructorType(158); } if (🔶token() === 93) { return 🔶️parseFunctionOrConstructorType(159); } return 🔶parseUnionTypeOrHigher(); }
Inlined functions:isStartOfFunctionType
() { if (🔷token() === 26) { return true; } return 🔷token() === 18 && 🔷lookAhead(isUnambiguouslyStartOfFunctionType); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }lookAhead
(callback) { return 🔶speculationHelper(callback, true); }parseFunctionOrConstructorType
(kind) { var node = 🔷createNode(kind); if (kind === 159) { 🔷parseExpected(93); } 🔶fillSignature(35, false, false, false, node); return 🔷finishNode(node); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }
() { if (🔷token() === 26) { return true; } return 🔷token() === 18 && 🔷lookAhead(isUnambiguouslyStartOfFunctionType); }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }lookAhead
(callback) { return 🔶speculationHelper(callback, true); }
~recompile~
~recompile~
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }
Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
() { return precedingLineBreak; }
~recompile~
~recompile~
~recompile~
(t) { if (🔷token() === t) { return 🔷parseTokenNode(); } return undefined; }
Inlined functions:token
() { return currentToken; }parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔷nextToken(); return 🔷finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
(reduce, text, pos, trailing, cb, state, initial) { var pendingPos; var pendingEnd; var pendingKind; var pendingHasTrailingNewLine; var hasPendingCommentRange = false; var collecting = trailing || pos === 0; var accumulator = initial; scan: while (pos >= 0 && pos < text.length) { var ch = text.charCodeAt(pos); switch (ch) { case 13: if (text.charCodeAt(pos + 1) === 10) { pos++; } case 10: pos++; if (trailing) { break scan; } collecting = true; if (hasPendingCommentRange) { pendingHasTrailingNewLine = true; } continue; case 9: case 11: case 12: case 32: pos++; continue; case 47: var nextChar = text.charCodeAt(pos + 1); var hasTrailingNewLine = false; if (nextChar === 47 || nextChar === 42) { var kind = nextChar === 47 ? 2 : 3; var startPos = pos; pos += 2; if (nextChar === 47) { while (pos < text.length) { if (🔷isLineBreak(text.charCodeAt(pos))) { hasTrailingNewLine = true; break; } pos++; } } else { while (pos < text.length) { if (text.charCodeAt(pos) === 42 && text.charCodeAt(pos + 1) === 47) { pos += 2; break; } pos++; } } if (collecting) { if (hasPendingCommentRange) { accumulator = 🔶️cb(pendingPos, pendingEnd, pendingKind, pendingHasTrailingNewLine, state, accumulator); if (!reduce && accumulator) { return accumulator; } hasPendingCommentRange = false; } pendingPos = startPos; pendingEnd = pos; pendingKind = kind; pendingHasTrailingNewLine = hasTrailingNewLine; hasPendingCommentRange = true; } continue; } break scan; default: if (ch > 127 && (🔶isWhiteSpace(ch))) { if (hasPendingCommentRange && 🔶isLineBreak(ch)) { pendingHasTrailingNewLine = true; } pos++; continue; } break scan; } } if (hasPendingCommentRange) { accumulator = 🔶️cb(pendingPos, pendingEnd, pendingKind, pendingHasTrailingNewLine, state, accumulator); } return accumulator; }
Inlined functions:isLineBreak
(ch) { return ch === 10 || ch === 13 || ch === 8232 || ch === 8233; }
~recompile~
~recompile~
~recompile~
(diagnosticMessage) { return 🔷createIdentifier(🔷isIdentifier(), diagnosticMessage); }
Inlined functions:isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }createIdentifier
(isIdentifier, diagnosticMessage) { identifierCount++; if (isIdentifier) { var node = 🔷createNode(70); if (🔷token() !== 70) { node.originalKeywordKind = 🔷token(); } node.text = 🔷internIdentifier(scanner.getTokenValue()); 🔷nextToken(); return 🔷finishNode(node); } return 🔷createMissingNode(70, false, diagnosticMessage || ts⚠️.Diagnostics⚠️.Identifier_expected); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }token
() { return currentToken; }token
() { return currentToken; }internIdentifier
(text) { text = ts.🔷escapeIdentifier(text); return identifiers⚠️[text] || (identifiers[text] ⚠️= text); }Inlined functions:escapeIdentifier
(identifier) { return identifier⚠️.length >= 2 && identifier.🔶️charCodeAt(0) === 95 && identifier.charCodeAt(1) === 95 ? "_" + identifier : identifier; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }createMissingNode
(kind, reportAtCurrentPosition, diagnosticMessage, arg0) { if (reportAtCurrentPosition) { 🔶️parseErrorAtPosition(scanner.🔶getStartPos(), 0, diagnosticMessage, arg0); } else { 🔷parseErrorAtCurrentToken(diagnosticMessage, arg0); } var result = 🔶createNode(kind, scanner.🔶getStartPos()); result.text = ""; return 🔶finishNode(result); }Inlined functions:parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
~recompile~
~recompile~
(val, flag) { if (val) { contextFlags |= flag; } else { contextFlags &= ~flag; } }
~recompile~
~recompile~
~recompile~
~recompile~
(parsingContext, inErrorRecovery) { var node = 🔶currentNode(parsingContext); if (node) { return true; } ⚠️switch (parsingContext) { case 0: case 1: case 3: return !(🔷token() === 24 && inErrorRecovery) && 🔶isStartOfStatement(); case 2: return 🔶token() ⚠️=== 72 || 🔶token() ⚠️=== 78; case 4: return 🔷lookAhead(isTypeMemberStart); case 5: return 🔷lookAhead(isClassMemberStart) || (🔷token() === 24 && !inErrorRecovery); case 6: return 🔷token() === 20 || 🔷isLiteralPropertyName(); case 12: return 🔷token() === 20 || 🔷token() === 38 || 🔷token() === 23 || 🔷isLiteralPropertyName(); case 17: return 🔶isLiteralPropertyName(); case 9: return 🔷token() === 20 || 🔷token() === 23 || 🔷isLiteralPropertyName(); case 7: if (🔷token() === 16) { return 🔶lookAhead(isValidHeritageClauseObjectLiteral); } if (!inErrorRecovery) { return 🔶isStartOfLeftHandSideExpression() && !🔷isHeritageClauseExtendsOrImplementsKeyword(); } else { return 🔶isIdentifier() && !🔶️isHeritageClauseExtendsOrImplementsKeyword(); } case 8: return 🔷isIdentifierOrPattern(); case 10: return 🔷token() === 25 || 🔷token() === 23 || 🔷isIdentifierOrPattern(); case 18: return 🔷isIdentifier(); case 11: case 15: return 🔷token() === 25 || 🔷token() === 23 || 🔶isStartOfExpression(); case 16: return 🔷isStartOfParameter(); case 19: case 20: return 🔶token() === 25 || 🔶isStartOfType(); case 21: return 🔶isHeritageClause(); case 22: return ts.🔶tokenIsIdentifierOrKeyword(🔶token()); case 13: return ts.🔶tokenIsIdentifierOrKeyword(🔶token()) || 🔶token() === 16; case 14: return true; case 23: case 24: case 26: return JSDocParser.⚠️isJSDocType(); case 25: return 🔶️isSimplePropertyName(); } ts⚠️.Debug.⚠️fail("Non-exhaustive case in 'isListElement'."); }
Inlined functions:token
() { return currentToken; }lookAhead
(callback) { return 🔶speculationHelper(callback, true); }lookAhead
(callback) { return 🔶speculationHelper(callback, true); }token
() { return currentToken; }token
() { return currentToken; }isLiteralPropertyName
() { return ts.🔷tokenIsIdentifierOrKeyword(🔷token()) || 🔷token() === 9 || 🔷token() === 8; }Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isLiteralPropertyName
() { return ts.🔷tokenIsIdentifierOrKeyword(🔷token()) || 🔷token() === 9 || 🔷token() === 8; }Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isLiteralPropertyName
() { return ts.🔷tokenIsIdentifierOrKeyword(🔷token()) || 🔷token() === 9 || 🔷token() === 8; }Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isHeritageClauseExtendsOrImplementsKeyword
() { if (🔷token() === 107 || 🔷token() === 84) { return 🔶lookAhead(nextTokenIsStartOfExpression); } return false; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }isIdentifierOrPattern
() { return 🔷token() === 16 || 🔷token() === 20 || 🔷isIdentifier(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isIdentifierOrPattern
() { return 🔷token() === 16 || 🔷token() === 20 || 🔷isIdentifier(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isStartOfParameter
() { return 🔷token() === 23 || 🔷isIdentifierOrPattern() || ts.🔷isModifierKind(🔷token()) || 🔶token() === 56 || 🔶token() === 98; }Inlined functions:token
() { return currentToken; }isIdentifierOrPattern
() { return 🔷token() === 16 || 🔷token() === 20 || 🔷isIdentifier(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isModifierKind
(token) { switch (token) { case 116: case 119: case 75: case 123: case 78: case 83: case 113: case 111: case 112: case 130: case 114: return true; } return false; }
(parsingContext, parseElement) { var node = 🔶currentNode(parsingContext); if (node) { return 🔶️consumeNode(node); } return 🔶️parseElement(); }
~recompile~
~recompile~
() { var typeName = 🔷parseEntityName(false, ts.Diagnostics.Type_expected); var node = createNode(157, typeName.pos); node.typeName = typeName; if (!scanner.🔶hasPrecedingLineBreak() && 🔶token() === 26) { node.typeArguments = 🔶parseBracketedList(19, parseType, 26, 28); } return 🔶finishNode(node); }
Inlined functions:parseEntityName
(allowReservedWords, diagnosticMessage) { var entity = 🔷parseIdentifier(diagnosticMessage); while (🔶parseOptional(22)) { var node = createNode(141, entity.pos); node.left = entity; node.right = 🔶parseRightSideOfDot(allowReservedWords); entity = 🔶finishNode(node); } return entity; }Inlined functions:parseIdentifier
(diagnosticMessage) { return 🔷createIdentifier(🔷isIdentifier(), diagnosticMessage); }Inlined functions:isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }createIdentifier
(isIdentifier, diagnosticMessage) { identifierCount++; if (isIdentifier) { var node = 🔷createNode(70); if (🔷token() !== 70) { node.originalKeywordKind = 🔷token(); } node.text = 🔷internIdentifier(scanner.getTokenValue()); 🔷nextToken(); return 🔷finishNode(node); } return 🔷createMissingNode(70, false, diagnosticMessage || ts⚠️.Diagnostics⚠️.Identifier_expected); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }token
() { return currentToken; }token
() { return currentToken; }internIdentifier
(text) { text = ts.🔷escapeIdentifier(text); return identifiers⚠️[text] || (identifiers[text] ⚠️= text); }Inlined functions:escapeIdentifier
(identifier) { return identifier⚠️.length >= 2 && identifier.charCodeAt(0) === 95 && identifier.charCodeAt(1) === 95 ? "_" + identifier : identifier; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }createMissingNode
(kind, reportAtCurrentPosition, diagnosticMessage, arg0) { if (reportAtCurrentPosition) { 🔶️parseErrorAtPosition(scanner.🔶getStartPos(), 0, diagnosticMessage, arg0); } else { 🔷parseErrorAtCurrentToken(diagnosticMessage, arg0); } var result = 🔷createNode(kind, scanner.🔶getStartPos()); result.text = ""; return 🔶finishNode(result); }Inlined functions:parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔶️parseErrorAtPosition(start, length, message, arg0); }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔶️new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔶️new IdentifierConstructor(kind, pos, pos) : 🔶️new TokenConstructor(kind, pos, pos); }
(text, pos) { return 🔷reduceEachLeadingCommentRange(text, pos, appendCommentRange, undefined, undefined); }
Inlined functions:reduceEachLeadingCommentRange
(text, pos, cb, state, initial) { return 🔶iterateCommentRanges(true, text, pos, false, cb, state, initial); }
(kind, parseElement, open, close) { if (🔷parseExpected(open)) { var result = 🔶parseDelimitedList(kind, parseElement); 🔷parseExpected(close); return result; } return 🔶️createMissingList(); }
Inlined functions:parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts⚠️.Diagnostics⚠️._0_expected, ts.🔶tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔶lastOrUndefined(parseDiagnostics); if (!lastError || start ⚠️!== lastError⚠️.start) { parseDiagnostics.🔶️push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts⚠️.Diagnostics⚠️._0_expected, ts.🔶tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔶lastOrUndefined(parseDiagnostics); if (!lastError || start ⚠️!== lastError⚠️.start) { parseDiagnostics.🔶️push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
(kind) { if (🔷token() === 1) { return true; } switch (kind) { case 1: case 2: case 4: case 5: case 6: case 12: case 9: case 22: return 🔷token() === 17; case 3: return 🔶token() ⚠️=== 17 || 🔶token() ⚠️=== 72 || 🔶token() ⚠️=== 78; case 7: return 🔷token() === 16 || 🔷token() === 84 || 🔷token() === 107; case 8: return 🔷isVariableDeclaratorListTerminator(); case 18: return 🔷token() === 28 || 🔶token() ⚠️=== 18 || 🔶token() ⚠️=== 16 || 🔶token() ⚠️=== 84 || 🔶token() ⚠️=== 107; case 11: return 🔷token() === 19 || 🔷token() === 24; case 15: case 20: case 10: return 🔷token() === 21; case 16: case 17: return 🔷token() === 19 || 🔷token() === 21; case 19: return 🔷token() !== 25; case 21: return 🔷token() === 16 || 🔷token() === 17; case 13: return 🔷token() === 28 || 🔷token() === 40; case 14: return 🔶token() ⚠️=== 26 && 🔶lookAhead(nextTokenIsSlash); case 23: return 🔶token() ⚠️=== 19 || 🔶token() ⚠️=== 55 || 🔶token() ⚠️=== 17; case 24: return 🔶token() ⚠️=== 28 || 🔶token() ⚠️=== 17; case 26: return 🔶token() ⚠️=== 21 || 🔶token() ⚠️=== 17; case 25: return 🔶token() ⚠️=== 17; } }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isVariableDeclaratorListTerminator
() { if (🔷canParseSemicolon()) { return true; } if (🔷isInOrOfKeyword(🔷token())) { return true; } if (🔷token() === 35) { return true; } return false; }Inlined functions:canParseSemicolon
() { if (🔷token() === 24) { return true; } return 🔷token() === 17 || 🔷token() === 1 || scanner.🔶hasPrecedingLineBreak(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isInOrOfKeyword
(t) { return t === 91 || t === 140; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }
~recompile~
~recompile~
() { switch (🔷token()) { case 118: case 134: case 132: case 121: case 135: case 137: case 129: var node = 🔷tryParse(parseKeywordAndNoDot); return node || 🔶parseTypeReference(); case 9: case 8: case 100: case 85: return 🔷parseLiteralTypeNode(); case 37: return 🔶lookAhead(nextTokenIsNumericLiteral) ? 🔶️parseLiteralTypeNode() : 🔶parseTypeReference(); case 104: case 94: return 🔷parseTokenNode(); case 98: { var thisKeyword = 🔶parseThisTypeNode(); if (🔶token() === 125 && !scanner.⚠️hasPrecedingLineBreak()) { return 🔶️parseThisTypePredicate(thisKeyword); } else { return thisKeyword; } } case 102: return 🔶️parseTypeQuery(); case 16: return 🔶lookAhead(isStartOfMappedType) ? 🔶️parseMappedType() : 🔶parseTypeLiteral(); case 20: return 🔶️parseTupleType(); case 18: return 🔶️parseParenthesizedType(); default: return 🔶parseTypeReference(); } }
Inlined functions:token
() { return currentToken; }tryParse
(callback) { return 🔶speculationHelper(callback, false); }parseLiteralTypeNode
() { var node = 🔷createNode(171); node.literal = 🔶parseSimpleUnaryExpression(); 🔷finishNode(node); return node; }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔶nextToken(); return 🔶finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
(token) { return token >= 70; }
- Deopt: <JS Function iterateCommentRanges (SharedFunctionInfo 0x30d407fdb871)> (opt #65) @10, FP to SP delta: 128, caller sp: 0x7fff5fbfd670
(ch, languageVersion) { return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch === 36 || ch === 95 || ch > 127 && 🔶️isUnicodeIdentifierStart(ch, languageVersion); }
(val) { 🔷setContextFlag(val, 4096); }
Inlined functions:setContextFlag
(val, flag) { if (val) { contextFlags |⚠️= flag; } else { contextFlags &= ~flag; } }
(val) { 🔷setContextFlag(val, 16384); }
Inlined functions:setContextFlag
(val, flag) { if (val) { contextFlags |⚠️= flag; } else { contextFlags &= ~flag; } }
() { return scanner.🔶getStartPos(); }
(callback) { return 🔶speculationHelper(callback, false); }
() { return ts.🔷isModifierKind(🔷token()) && 🔷tryParse(nextTokenCanFollowModifier); }
Inlined functions:token
() { return currentToken; }isModifierKind
(token) { switch (token) { case 116: case 119: case 75: case 123: case 78: case 83: case 113: case 111: case 112: case 130: case 114: return true; } return false; }tryParse
(callback) { return 🔶speculationHelper(callback, false); }
() { return ts.🔷tokenIsIdentifierOrKeyword(🔷token()) || 🔷token() === 9 || 🔷token() === 8; }
Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }token
() { return currentToken; }token
() { return currentToken; }
~recompile~
~recompile~
(callback) { return 🔶speculationHelper(callback, true); }
() { if (🔷token() !== 20) { return false; } return 🔷lookAhead(isUnambiguouslyIndexSignature); }
Inlined functions:token
() { return currentToken; }lookAhead
(callback) { return 🔶speculationHelper(callback, true); }
~recompile~
~recompile~
~recompile~
() { return 🔷parsePropertyNameWorker(true); }
Inlined functions:parsePropertyNameWorker
(allowComputedPropertyNames) { if (🔷token() === 9 || 🔷token() === 8) { return 🔷parseLiteralNode(true); } if (allowComputedPropertyNames && 🔷token() === 20) { return 🔷parseComputedPropertyName(); } return 🔶parseIdentifierName(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }parseLiteralNode
(internName) { return 🔶parseLiteralLikeNode(🔷token(), internName); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }parseComputedPropertyName
() { var node = 🔷createNode(142); 🔷parseExpected(20); node.expression = 🔷allowInAnd(parseExpression); 🔷parseExpected(21); return 🔶finishNode(node); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔶lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }allowInAnd
(func) { return 🔷doOutsideOfContext(2048, func); }Inlined functions:doOutsideOfContext
(context, func) { var contextFlagsToClear = context & contextFlags; if (contextFlagsToClear) { 🔶setContextFlag(false, contextFlagsToClear); var result = 🔶️func(); 🔶setContextFlag(true, contextFlagsToClear); return result; } return 🔶️func(); }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔶lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }
() { if (🔷token() === 26) { return 🔷parseBracketedList(18, parseTypeParameter, 26, 28); } }
Inlined functions:token
() { return currentToken; }parseBracketedList
(kind, parseElement, open, close) { if (🔷parseExpected(open)) { var result = 🔶parseDelimitedList(kind, parseElement); 🔷parseExpected(close); return result; } return 🔶️createMissingList(); }Inlined functions:parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts⚠️.Diagnostics⚠️._0_expected, ts.🔶tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔶lastOrUndefined(parseDiagnostics); if (!lastError || start ⚠️!== lastError⚠️.start) { parseDiagnostics.🔶️push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts⚠️.Diagnostics⚠️._0_expected, ts.🔶tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔶lastOrUndefined(parseDiagnostics); if (!lastError || start ⚠️!== lastError⚠️.start) { parseDiagnostics.🔶️push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }
~recompile~
~recompile~
~recompile~
~recompile~
(text) { if (!margin) { margin = indent; } comments.push(text); indent += text.length; }
() { return text.🔶substring(tokenPos, pos); }
~recompile~
~recompile~
(ch) { return ch === 32 || ch === 9 || ch === 11 || ch === 12 || ch === 160 || ch === 133 || ch === 5760 || ch >= 8192 && ch <= 8203 || ch === 8239 || ch === 8287 || ch === 12288 || ch === 65279; }
(callback) { return 🔶speculationHelper(callback, false); }
(allowComputedPropertyNames) { if (🔷token() === 9 || 🔷token() === 8) { return 🔶parseLiteralNode(true); } if (allowComputedPropertyNames && 🔷token() === 20) { return 🔶️parseComputedPropertyName(); } return 🔷parseIdentifierName(); }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }parseIdentifierName
() { return 🔷createIdentifier(ts.🔷tokenIsIdentifierOrKeyword(🔷token())); }Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }createIdentifier
(isIdentifier, diagnosticMessage) { identifierCount++; if (isIdentifier) { var node = 🔷createNode(70); if (🔷token() !== 70) { node.originalKeywordKind = 🔷token(); } node.text = 🔷internIdentifier(scanner.getTokenValue()); 🔷nextToken(); return 🔷finishNode(node); } return 🔶️createMissingNode(70, false, diagnosticMessage || ts⚠️.Diagnostics⚠️.Identifier_expected); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }token
() { return currentToken; }token
() { return currentToken; }internIdentifier
(text) { text = ts.🔷escapeIdentifier(text); return identifiers⚠️[text] || (identifiers[text] ⚠️= text); }Inlined functions:escapeIdentifier
(identifier) { return identifier.length >= 2 && identifier.charCodeAt(0) === 95 && identifier.🔶️charCodeAt(1) === 95 ? "_" + identifier : identifier; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }
() { if (🔷token() === 18 || 🔷token() === 26) { return 🔷parseSignatureMember(153); } if (🔶token() === 93 && 🔶lookAhead(isStartOfConstructSignature)) { return 🔶parseSignatureMember(154); } var fullStart = 🔶getNodePos(); var modifiers = 🔶parseModifiers(); if (🔶isIndexSignature()) { return 🔶️parseIndexSignatureDeclaration(fullStart, undefined, modifiers); } return 🔶parsePropertyOrMethodSignature(fullStart, modifiers); }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }parseSignatureMember
(kind) { var node = 🔷createNode(kind); if (kind === 154) { 🔷parseExpected(93); } 🔶fillSignature(55, false, false, false, node); 🔷parseTypeMemberSemicolon(); return 🔶addJSDocComment(🔶finishNode(node)); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts⚠️.Diagnostics⚠️._0_expected, ts.🔶tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔶lastOrUndefined(parseDiagnostics); if (!lastError || start ⚠️!== lastError⚠️.start) { parseDiagnostics.🔶️push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }parseTypeMemberSemicolon
() { if (🔷parseOptional(25)) { return; } 🔷parseSemicolon(); }Inlined functions:parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseSemicolon
() { if (🔷canParseSemicolon()) { if (🔷token() === 24) { 🔷nextToken(); } return true; } else { return 🔶parseExpected(24); } }Inlined functions:canParseSemicolon
() { if (🔷token() === 24) { return true; } return 🔷token() === 17 || 🔷token() === 1 || scanner.🔶hasPrecedingLineBreak(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }
() { if (🔷token() === 24) { return true; } return 🔷token() === 17 || 🔷token() === 1 || scanner.🔶hasPrecedingLineBreak(); }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }
() { return 🔷parseOptional(55) ? 🔷parseType() : undefined; }
Inlined functions:parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseType
() { return 🔷doOutsideOfContext(20480, parseTypeWorker); }Inlined functions:doOutsideOfContext
(context, func) { var contextFlagsToClear = context & contextFlags; if (contextFlagsToClear) { 🔶setContextFlag(false, contextFlagsToClear); var result = 🔶️func(); 🔶setContextFlag(true, contextFlagsToClear); return result; } return 🔶️func(); }
() { if (🔷canParseSemicolon()) { if (🔷token() === 24) { 🔷nextToken(); } return true; } else { return 🔶parseExpected(24); } }
Inlined functions:canParseSemicolon
() { if (🔷token() === 24) { return true; } return 🔷token() === 17 || 🔷token() === 1 || scanner.🔶hasPrecedingLineBreak(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }
~recompile~
~recompile~
(node, text) { var commentRanges = (node⚠️.kind === 144 || node⚠️.kind === 143 || node⚠️.kind === 184 || node⚠️.kind === 185) ? ts.🔷concatenate(ts.🔷getTrailingCommentRanges(text, node.pos), ts.🔷getLeadingCommentRanges(text, node.pos)) : 🔷getLeadingCommentRangesOfNodeFromText(node, text); return ts.🔷filter(commentRanges, 🔶️function (comment) { return text.charCodeAt(comment.pos + 1) === 42 && text.charCodeAt(comment.pos + 2) === 42 && text.charCodeAt(comment.pos + 3) !== 47; }); }
Inlined functions:getTrailingCommentRanges
(text, pos) { return 🔷reduceEachTrailingCommentRange(text, pos, appendCommentRange, undefined, undefined); }Inlined functions:reduceEachTrailingCommentRange
(text, pos, cb, state, initial) { return iterateCommentRanges(true, text, pos, true, cb, state, initial); }getLeadingCommentRanges
(text, pos) { return 🔷reduceEachLeadingCommentRange(text, pos, appendCommentRange, undefined, undefined); }Inlined functions:reduceEachLeadingCommentRange
(text, pos, cb, state, initial) { return iterateCommentRanges(true, text, pos, false, cb, state, initial); }concatenate
(array1, array2) { if (!🔷some(array2)) return array1; if (!🔶️some(array1)) return array2; return array1.🔶️concat(array2); }Inlined functions:some
(array, predicate) { if (array) { if (predicate) { for (var _i = 0, array_5 = array; _i ⚠️< array_5⚠️.length; _i++) { var v = array_5⚠️[_i]; if (🔶️predicate(v)) { return true; } } } else { return array.length > 0; } } return false; }getLeadingCommentRangesOfNodeFromText
(node, text) { return ts.🔷getLeadingCommentRanges(text, node⚠️.pos); }Inlined functions:getLeadingCommentRanges
(text, pos) { return 🔷reduceEachLeadingCommentRange(text, pos, appendCommentRange, undefined, undefined); }Inlined functions:reduceEachLeadingCommentRange
(text, pos, cb, state, initial) { return 🔶iterateCommentRanges(true, text, pos, false, cb, state, initial); }filter
(array, f) { if (array) { var len = array.length; var i = 0; while (i < len && 🔶️f(array[i])) i++; if (i < len) { var result = array.slice(0, i); i++; while (i < len) { var item = array[i]; if (🔶️f(item)) { result.push(item); } i++; } return result; } } return array; }
() { switch (🔷token()) { case 118: case 134: case 132: case 121: case 135: case 104: case 137: case 94: case 98: case 102: case 129: case 16: case 20: case 26: case 48: case 47: case 93: case 9: case 8: case 100: case 85: return true; case 37: return 🔶lookAhead(nextTokenIsNumericLiteral); case 18: return 🔶lookAhead(isStartOfParenthesizedOrFunctionType); default: return 🔷isIdentifier(); } }
Inlined functions:token
() { return currentToken; }isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }
() { if (🔷parseOptional(25)) { return; } 🔷parseSemicolon(); }
Inlined functions:parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseSemicolon
() { if (🔷canParseSemicolon()) { if (🔷token() === 24) { 🔷nextToken(); } return true; } else { return 🔶parseExpected(24); } }Inlined functions:canParseSemicolon
() { if (🔷token() === 24) { return true; } return 🔷token() === 17 || 🔷token() === 1 || scanner.🔶hasPrecedingLineBreak(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }
~recompile~
~recompile~
() { return currentToken = scanner.🔶scanJSDocToken(); }
~recompile~
~recompile~
~recompile~
() { var node = 🔷createNode(🔷token()); 🔷nextToken(); return 🔷finishNode(node); }
Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }
() { if (pos >= end) { return token = 1; } startPos = pos; tokenPos = pos; var ch = text.charCodeAt(pos); switch (ch) { case 9: case 11: case 12: case 32: while (pos < end && 🔷isWhiteSpaceSingleLine(text.charCodeAt(pos))) { pos++; } return token = 5; case 64: pos++; return token = 56; case 10: case 13: pos++; return token = 4; case 42: pos++; return token = 38; case 123: pos++; return token = 16; case 125: pos++; return token = 17; case 91: pos++; return token = 20; case 93: pos++; return token = 21; case 61: pos++; return token = 57; case 44: pos++; return token = 25; case 46: pos++; return token = 22; } if (🔷isIdentifierStart(ch, 5)) { pos++; while (🔷isIdentifierPart(text.charCodeAt(pos), 5) && pos < end) { pos++; } return token = 70; } else { return pos += 1, token = 0; } }
Inlined functions:isWhiteSpaceSingleLine
(ch) { return ch === 32 || ch === 9 || ch === 11 || ch === 12 || ch === 160 || ch === 133 || ch === 5760 || ch >= 8192 && ch <= 8203 || ch === 8239 || ch === 8287 || ch === 12288 || ch === 65279; }isIdentifierStart
(ch, languageVersion) { return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch === 36 || ch === 95 || ch > 127 && 🔷isUnicodeIdentifierStart(ch, languageVersion); }Inlined functions:isUnicodeIdentifierStart
(code, languageVersion) { return languageVersion >= 1 ? 🔷lookupInUnicodeMap(code, unicodeES5IdentifierStart) : 🔶️lookupInUnicodeMap(code, unicodeES3IdentifierStart); }Inlined functions:lookupInUnicodeMap
(code, map) { if (code < map[0]) { return false; } var lo = 0; var hi = map.length; var mid; while (lo + 1 < hi) { mid = lo + (hi - lo) / 2; mid -= mid % 2; if (map[mid] <= code && code <= map[mid + 1]) { return true; } if (code < map[mid]) { hi = mid; } else { lo = mid + 2; } } return false; }isIdentifierPart
(ch, languageVersion) { return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 48 && ch <= 57 || ch === 36 || ch === 95 || ch > 127 && 🔷isUnicodeIdentifierPart(ch, languageVersion); }Inlined functions:isUnicodeIdentifierPart
(code, languageVersion) { return languageVersion >= 1 ? 🔷lookupInUnicodeMap(code, unicodeES5IdentifierPart) : 🔶️lookupInUnicodeMap(code, unicodeES3IdentifierPart); }Inlined functions:lookupInUnicodeMap
(code, map) { if (code < map[0]) { return false; } var lo = 0; var hi = map.length; var mid; while (lo + 1 < hi) { mid = lo + (hi - lo) / 2; mid -= mid % 2; if (map[mid] <= code && code <= map[mid + 1]) { return true; } if (code < map[mid]) { hi = mid; } else { lo = mid + 2; } } return false; }
(node) { return 🔶isLeftHandSideExpressionKind(ts.🔷skipPartiallyEmittedExpressions(node)⚠️.kind); }
Inlined functions:skipPartiallyEmittedExpressions
(node) { while (node⚠️.kind === 294) { node = node⚠️.expression; } return node; }
(newText, start, length) { text = newText || ""; end = length === undefined ? text.length : start + length; 🔶setTextPos(start || 0); }
(textPos) { ts.Debug.🔶️assert(textPos >= 0); pos = textPos; startPos = textPos; tokenPos = textPos; token = 0; precedingLineBreak = false; tokenValue = undefined; hasExtendedUnicodeEscape = false; tokenIsUnterminated = false; }
(parent, start, length) { var saveToken = currentToken; var saveParseDiagnosticsLength = parseDiagnostics.length; var saveParseErrorBeforeNextFinishedNode = parseErrorBeforeNextFinishedNode; var comment = parseJSDocCommentWorker(start, length); if (comment) { comment.parent = parent; } currentToken = saveToken; parseDiagnostics.length ⚠️= saveParseDiagnosticsLength; parseErrorBeforeNextFinishedNode = saveParseErrorBeforeNextFinishedNode; return comment; }
(fullStart, modifiers) { var name = 🔷parsePropertyName(); var questionToken = 🔷parseOptionalToken(54); if (🔶token() === 18 || 🔶token() === 26) { var method = createNode(148, fullStart); method.modifiers = modifiers; method.name = name; method.questionToken = questionToken; 🔶fillSignature(55, false, false, false, method); 🔶parseTypeMemberSemicolon(); return 🔶addJSDocComment(🔶finishNode(method)); } else { var property = createNode(146, fullStart); property.modifiers = modifiers; property.name = name; property.questionToken = questionToken; property.type = 🔶parseTypeAnnotation(); if (🔶token() === 57) { property.initializer ⚠️= parseNonParameterInitializer(); } 🔶parseTypeMemberSemicolon(); return 🔶addJSDocComment(🔶finishNode(property)); } }
Inlined functions:parsePropertyName
() { return 🔷parsePropertyNameWorker(true); }Inlined functions:parsePropertyNameWorker
(allowComputedPropertyNames) { if (🔷token() === 9 || 🔷token() === 8) { return 🔶parseLiteralNode(true); } if (allowComputedPropertyNames && 🔷token() === 20) { return 🔶️parseComputedPropertyName(); } return 🔷parseIdentifierName(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }parseIdentifierName
() { return 🔷createIdentifier(ts.🔷tokenIsIdentifierOrKeyword(🔷token())); }Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }createIdentifier
(isIdentifier, diagnosticMessage) { identifierCount++; if (isIdentifier) { var node = 🔷createNode(70); if (🔷token() !== 70) { node.originalKeywordKind = 🔷token(); } node.text = 🔷internIdentifier(scanner.🔶getTokenValue()); 🔷nextToken(); return 🔷finishNode(node); } return 🔶️createMissingNode(70, false, diagnosticMessage || ts⚠️.Diagnostics⚠️.Identifier_expected); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔶️new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔶️new IdentifierConstructor(kind, pos, pos) : 🔶️new TokenConstructor(kind, pos, pos); }token
() { return currentToken; }token
() { return currentToken; }internIdentifier
(text) { text = ts.🔶escapeIdentifier(text); return identifiers⚠️[text] || (identifiers[text] ⚠️= text); }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }parseOptionalToken
(t) { if (🔷token() === t) { return 🔷parseTokenNode(); } return undefined; }Inlined functions:token
() { return currentToken; }parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔶nextToken(); return 🔶finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
() { var node = 🔷parseTokenNode(); return 🔷token() === 22 ? undefined : node; }
Inlined functions:parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔷nextToken(); return 🔷finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }token
() { return currentToken; }
(flags) { return (contextFlags & flags) !== 0; }
() { var expression = 🔷token() === 96 ? 🔶️parseSuperExpression() : 🔷parseMemberExpressionOrHigher(); return 🔶️parseCallExpressionRest(expression); }
Inlined functions:token
() { return currentToken; }parseMemberExpressionOrHigher
() { var expression = 🔶parsePrimaryExpression(); return 🔶parseMemberExpressionRest(expression); }
~recompile~
~recompile~
(allowIdentifierNames) { if (scanner.🔶hasPrecedingLineBreak() && ts.🔶tokenIsIdentifierOrKeyword(🔶token())) { var matchesPattern = 🔶lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine); if (matchesPattern) { return 🔶️createMissingNode(70, true, ts⚠️.Diagnostics⚠️.Identifier_expected); } } return allowIdentifierNames ? 🔷parseIdentifierName() : 🔶parseIdentifier(); }
Inlined functions:parseIdentifierName
() { return 🔷createIdentifier(ts.🔷tokenIsIdentifierOrKeyword(🔷token())); }Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }createIdentifier
(isIdentifier, diagnosticMessage) { identifierCount++; if (isIdentifier) { var node = 🔷createNode(70); if (🔷token() !== 70) { node.originalKeywordKind = 🔷token(); } node.text = 🔷internIdentifier(scanner.getTokenValue()); 🔷nextToken(); return 🔷finishNode(node); } return 🔷createMissingNode(70, false, diagnosticMessage || ts⚠️.Diagnostics⚠️.Identifier_expected); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }token
() { return currentToken; }token
() { return currentToken; }internIdentifier
(text) { text = ts.🔷escapeIdentifier(text); return identifiers⚠️[text] || (identifiers[text] ⚠️= text); }Inlined functions:escapeIdentifier
(identifier) { return identifier⚠️.length >= 2 && identifier.charCodeAt(0) === 95 && identifier.charCodeAt(1) === 95 ? "_" + identifier : identifier; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }createMissingNode
(kind, reportAtCurrentPosition, diagnosticMessage, arg0) { if (reportAtCurrentPosition) { 🔶️parseErrorAtPosition(scanner.🔶getStartPos(), 0, diagnosticMessage, arg0); } else { 🔷parseErrorAtCurrentToken(diagnosticMessage, arg0); } var result = 🔷createNode(kind, scanner.🔶getStartPos()); result.text = ""; return 🔶finishNode(result); }Inlined functions:parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔶lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔶️new IdentifierConstructor(kind, pos, pos) : 🔶️new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
~recompile~
- Deopt: <JS Function isListElement (SharedFunctionInfo 0x98bdb9c8f39)> (opt #68) @61, FP to SP delta: 120, caller sp: 0x7fff5fbfd248
~recompile~
() { if (token === 28) { if (text.charCodeAt(pos) === 62) { if (text.🔶️charCodeAt(pos ⚠️+ 1) ⚠️=== 62) { if (text.⚠️charCodeAt(pos ⚠️+ 2) ⚠️=== 61) { return pos +⚠️= 3, token = 66; } return pos +⚠️= 2, token = 46; } if (text.⚠️charCodeAt(pos ⚠️+ 1) ⚠️=== 61) { return pos +⚠️= 2, token = 65; } pos++; return token = 45; } if (text.charCodeAt(pos) === 61) { pos++; return token = 30; } } return token; }
- Deopt: <JS Function isListTerminator (SharedFunctionInfo 0x98bdb9c93b9)> (opt #95) @13, FP to SP delta: 56, caller sp: 0x7fff5fbfd1d8
(inParameter) { if (🔷token() !== 57) { if (scanner.🔶hasPrecedingLineBreak() || (inParameter && 🔷token() === 16) || !🔶isStartOfExpression()) { return undefined; } } 🔷parseExpected(57); return 🔶parseAssignmentExpressionOrHigher(); }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts⚠️.Diagnostics⚠️._0_expected, ts.🔶tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔶lastOrUndefined(parseDiagnostics); if (!lastError || start ⚠️!== lastError⚠️.start) { parseDiagnostics.🔶️push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }
(precedence) { var leftOperand = 🔶parseUnaryExpressionOrHigher(); return 🔶parseBinaryExpressionRest(precedence, leftOperand); }
~recompile~
~recompile~
() { return 🔷createIdentifier(ts.🔷tokenIsIdentifierOrKeyword(🔷token())); }
Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }createIdentifier
(isIdentifier, diagnosticMessage) { identifierCount++; if (isIdentifier) { var node = 🔷createNode(70); if (🔷token() !== 70) { node.originalKeywordKind = 🔷token(); } node.text = 🔷internIdentifier(scanner.getTokenValue()); 🔷nextToken(); return 🔷finishNode(node); } return 🔷createMissingNode(70, false, diagnosticMessage || ts⚠️.Diagnostics⚠️.Identifier_expected); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }token
() { return currentToken; }token
() { return currentToken; }internIdentifier
(text) { text = ts.🔷escapeIdentifier(text); return identifiers⚠️[text] || (identifiers[text] ⚠️= text); }Inlined functions:escapeIdentifier
(identifier) { return identifier⚠️.length >= 2 && identifier.🔶️charCodeAt(0) === 95 && identifier.charCodeAt(1) === 95 ? "_" + identifier : identifier; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }createMissingNode
(kind, reportAtCurrentPosition, diagnosticMessage, arg0) { if (reportAtCurrentPosition) { 🔶️parseErrorAtPosition(scanner.🔶getStartPos(), 0, diagnosticMessage, arg0); } else { 🔷parseErrorAtCurrentToken(diagnosticMessage, arg0); } var result = 🔷createNode(kind, scanner.🔶getStartPos()); result.text = ""; return 🔶finishNode(result); }Inlined functions:parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔶️new IdentifierConstructor(kind, pos, pos) : 🔶️new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
() { if (🔷token() === 115) { if (🔶inYieldContext()) { return true; } return 🔶lookAhead(nextTokenIsIdentifierOrKeywordOrNumberOnSameLine); } return false; }
Inlined functions:token
() { return currentToken; }
() { if (🔷token() === 18 || 🔷token() === 26 || 🔷token() === 119) { return 🔷lookAhead(isParenthesizedArrowFunctionExpressionWorker); } if (🔷token() === 35) { return 1; } return 0; }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }lookAhead
(callback) { return 🔶speculationHelper(callback, true); }token
() { return currentToken; }
() { if (🔷token() === 119) { var isUnParenthesizedAsyncArrowFunction = 🔶lookAhead(isUnParenthesizedAsyncArrowFunctionWorker); if (isUnParenthesizedAsyncArrowFunction ⚠️=== 1) { var asyncModifier = 🔶️parseModifiersForArrowFunction(); var expr = 🔶parseBinaryExpressionOrHigher(0); return 🔶️parseSimpleArrowFunctionExpression(expr, asyncModifier); } } return undefined; }
Inlined functions:token
() { return currentToken; }
() { if (🔷inDisallowInContext() && 🔶token() ⚠️=== 91) { return false; } return 🔶getBinaryOperatorPrecedence() > 0; }
Inlined functions:inDisallowInContext
() { return 🔷inContext(2048); }Inlined functions:inContext
(flags) { return (contextFlags & flags) !== 0; }
(token) { return token >= 57 && token <= 69; }
~recompile~
~recompile~
() { if (🔷token() === 20) { return 🔷parseArrayBindingPattern(); } if (🔶token() === 16) { return 🔶️parseObjectBindingPattern(); } return 🔶parseIdentifier(); }
Inlined functions:token
() { return currentToken; }parseArrayBindingPattern
() { var node = 🔷createNode(173); 🔷parseExpected(20); node.elements = 🔶parseDelimitedList(10, parseArrayBindingElement); 🔷parseExpected(21); return 🔶finishNode(node); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
(kind) { return kind === 177 || kind === 178 || kind === 180 || kind === 179 || kind === 246 || kind === 247 || kind === 181 || kind === 175 || kind === 183 || kind === 176 || kind === 197 || kind === 184 || kind === 70 || kind === 11 || kind === 8 || kind === 9 || kind === 12 || kind === 194 || kind === 85 || kind === 94 || kind === 98 || kind === 100 || kind === 96 || kind === 201 || kind === 297; }
(context, func) { var contextFlagsToClear = context & contextFlags; if (contextFlagsToClear) { 🔶setContextFlag(false, contextFlagsToClear); var result = 🔶️func(); 🔶setContextFlag(true, contextFlagsToClear); return result; } return 🔶️func(); }
() { switch (🔷token()) { case 53: return 1; case 52: return 2; case 48: return 3; case 49: return 4; case 47: return 5; case 31: case 32: case 33: case 34: return 6; case 26: case 28: case 29: case 30: case 92: case 91: case 117: return 7; case 44: case 45: case 46: return 8; case 36: case 37: return 9; case 38: case 40: case 41: return 10; case 39: return 11; } return -1; }
Inlined functions:token
() { return currentToken; }
(fileName, failedLookupLocations, onlyRecordFailures, state) { if (!onlyRecordFailures && state.host.🔶fileExists(fileName)) { if (state.traceEnabled) { 🔶️trace(state⚠️.host, ts⚠️.Diagnostics⚠️.File_0_exist_use_it_as_a_name_resolution_result, fileName); } return fileName; } else { if (state.traceEnabled) { 🔶️trace(state⚠️.host, ts⚠️.Diagnostics⚠️.File_0_does_not_exist, fileName); } failedLookupLocations.push(fileName); return undefined; } }
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
- Deopt: <JS Function instantiateTypeNoAlias (SharedFunctionInfo 0x3f6f7cfb6939)> (opt #769) @19, FP to SP delta: 264, caller sp: 0x7fff5fbfcaa0
- Deopt: <JS Function instantiateTypeNoAlias (SharedFunctionInfo 0x3f6f7cfb6939)> (opt #769) @11, FP to SP delta: 264, caller sp: 0x7fff5fbfcd58
- Deopt: <JS Function getTypeOfVariableOrParameterOrProperty (SharedFunctionInfo 0x3f6f7cfacb99)> (opt #754) @126, FP to SP delta: 184, caller sp: 0x7fff5fbfc8c0
~recompile~
- Deopt: <JS Function getTypeOfVariableOrParameterOrProperty (SharedFunctionInfo 0x3f6f7cfacb99)> (opt #822) @18, FP to SP delta: 184, caller sp: 0x7fff5fbfceb8
~recompile~
~recompile~
~recompile~
- Deopt: <JS Function computeParameter (SharedFunctionInfo 0x98bdb9d8909)> (opt #665) @21, FP to SP delta: 48, caller sp: 0x7fff5fbfd288
- Deopt: <JS Function isThisIdentifier (SharedFunctionInfo 0x30d407fe5da1)> (opt #1075) @3, FP to SP delta: 24, caller sp: 0x7fff5fbfd220
- Deopt: <JS Function hasModifier (SharedFunctionInfo 0x30d407fe66a1)> (opt #370) @7, FP to SP delta: 48, caller sp: 0x7fff5fbfd950
- Deopt: <JS Function computePropertyAccess (SharedFunctionInfo 0x98bdb9d9389)> (opt #660) @2, FP to SP delta: 24, caller sp: 0x7fff5fbfd020
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
- Deopt: <JS Function visitorWorker (SharedFunctionInfo 0x173c75a94911)> (opt #1246) @6, FP to SP delta: 24, caller sp: 0x7fff5fbfddd8
- Deopt: <JS Function visitTypeScript (SharedFunctionInfo 0x173c75a94f11)> (opt #1336) @86, FP to SP delta: 176, caller sp: 0x7fff5fbfdda0
- Deopt: <JS Function isStaticInitializedProperty (SharedFunctionInfo 0x173c75a95be9)> (opt #1342) @1, FP to SP delta: 64, caller sp: 0x7fff5fbfdc78
- Deopt: <JS Function visitor (SharedFunctionInfo 0x173c75a94851)> (opt #1464) @1, FP to SP delta: 136, caller sp: 0x7fff5fbfd8e0
- Deopt: <JS Function classElementVisitor (SharedFunctionInfo 0x173c75a94cd1)> (opt #1301) @1, FP to SP delta: 136, caller sp: 0x7fff5fbfdb08
- Deopt: <JS Function classElementVisitorWorker (SharedFunctionInfo 0x173c75a94d91)> (opt #1343) @3, FP to SP delta: 32, caller sp: 0x7fff5fbfda78
- Deopt: <JS Function addClassElementDecorationStatements (SharedFunctionInfo 0x173c75a968a9)> (opt #1456) @3, FP to SP delta: 96, caller sp: 0x7fff5fbfdcf8
- Deopt: <JS Function visitor (SharedFunctionInfo 0x173c75a9ddf1)> (opt #1349) @1, FP to SP delta: 24, caller sp: 0x7fff5fbfde68
- Deopt: <JS Function saveStateAndInvoke (SharedFunctionInfo 0x173c75aa3901)> (opt #1266) @4, FP to SP delta: 112, caller sp: 0x7fff5fbfe0b0
- Deopt: <JS Function visitor (SharedFunctionInfo 0x173c75aa3781)> (opt #1261) @1, FP to SP delta: 24, caller sp: 0x7fff5fbfdec0
- Deopt: <JS Function dispatcher (SharedFunctionInfo 0x173c75aa3841)> (opt #1286) @2, FP to SP delta: 104, caller sp: 0x7fff5fbfddf0
- Deopt: <JS Function visitorWorker (SharedFunctionInfo 0x173c75aa3cc1)> (opt #1272) @1, FP to SP delta: 64, caller sp: 0x7fff5fbfddb8
- Deopt: <JS Function visitJavaScript (SharedFunctionInfo 0x173c75aa3f01)> (opt #1357) @133, FP to SP delta: 288, caller sp: 0x7fff5fbfdd80
- Deopt: <JS Function getClassExtendsHeritageClauseElement (SharedFunctionInfo 0x30d407fe2f21)> (opt #1865) @6, FP to SP delta: 32, caller sp: 0x7fff5fbfdc68
- Deopt: <JS Function transformFunctionBody (SharedFunctionInfo 0x173c75aa5a39)> (opt #1462) @2, FP to SP delta: 368, caller sp: 0x7fff5fbfd998
- Deopt: <JS Function getReferencedImportDeclaration (SharedFunctionInfo 0x3f6f7cfcd8c9)> (opt #1515) @14, FP to SP delta: 152, caller sp: 0x7fff5fbfdf98
- Deopt: <JS Function getReferencedValueDeclaration (SharedFunctionInfo 0x3f6f7cfce889)> (opt #1596) @20, FP to SP delta: 128, caller sp: 0x7fff5fbfdf98
- Deopt: <JS Function sourceElementVisitor (SharedFunctionInfo 0x173c75ab3ad1)> (opt #1403) @31, FP to SP delta: 96, caller sp: 0x7fff5fbfdf48
~recompile~
~recompile~
~recompile~
~recompile~
(i) { return array[i]; }
(inParameter) { return inParameter ? 🔷parseParameterInitializer() : 🔷parseNonParameterInitializer(); }
Inlined functions:parseParameterInitializer
() { return 🔷parseInitializer(true); }Inlined functions:parseInitializer
(inParameter) { if (🔷token() !== 57) { if (scanner.🔶hasPrecedingLineBreak() || (inParameter && 🔷token() === 16) || !🔶isStartOfExpression()) { return undefined; } } 🔷parseExpected(57); return 🔶parseAssignmentExpressionOrHigher(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔶lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }parseNonParameterInitializer
() { return 🔷parseInitializer(false); }Inlined functions:parseInitializer
(inParameter) { if (🔷token() !== 57) { if (scanner.🔶hasPrecedingLineBreak() || (inParameter && 🔷token() === 16) || !🔶isStartOfExpression()) { return undefined; } } 🔷parseExpected(57); return 🔶parseAssignmentExpressionOrHigher(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔶lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }
~recompile~
~recompile~
(node) { return node.end - node.pos; }
() { if (🔷parseOptional(55)) { return 🔷parseType(); } return undefined; }
Inlined functions:parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseType
() { return 🔷doOutsideOfContext(20480, parseTypeWorker); }Inlined functions:doOutsideOfContext
(context, func) { var contextFlagsToClear = context & contextFlags; if (contextFlagsToClear) { 🔶setContextFlag(false, contextFlagsToClear); var result = 🔶️func(); 🔶setContextFlag(true, contextFlagsToClear); return result; } return 🔶️func(); }
() { var expression = 🔶parsePrimaryExpression(); return 🔶parseMemberExpressionRest(expression); }
- Deopt: <JS Function createIdentifier (SharedFunctionInfo 0x98bdb9c83f9)> (opt #141) @47, FP to SP delta: 88, caller sp: 0x7fff5fbfcdb8
- Deopt: <JS Function parseExpected (SharedFunctionInfo 0x98bdb9c7af9)> (opt #62) @20, FP to SP delta: 144, caller sp: 0x7fff5fbfd0a8
- Deopt: <JS Function getFullWidth (SharedFunctionInfo 0x30d407fdce61)> (opt #151) @2, FP to SP delta: 24, caller sp: 0x7fff5fbfd058
() { return 🔷inContext(16384); }
Inlined functions:inContext
(flags) { return (contextFlags & flags) !== 0; }
(t) { return 🔷token() === t && 🔶tryParse(nextTokenCanFollowModifier); }
Inlined functions:token
() { return currentToken; }
~recompile~
~recompile~
~recompile~
~recompile~
() { if (🔷token() === 42 || 🔷token() === 43) { var node = 🔶createNode(190); node.operator ⚠️= token(); 🔶nextToken(); node.operand ⚠️= parseLeftHandSideExpressionOrHigher(); return 🔶finishNode(node); } else if (sourceFile.languageVariant === 1 && 🔷token() === 26 && 🔷lookAhead(nextTokenIsIdentifierOrKeyword)) { return 🔶️parseJsxElementOrSelfClosingElement(true); } var expression = 🔷parseLeftHandSideExpressionOrHigher(); ts.Debug.🔶️assert(ts.🔷isLeftHandSideExpression(expression)); if ((🔶token() === 42 || 🔶token() === 43) && !scanner.🔶hasPrecedingLineBreak()) { var node = createNode(191, expression.pos); node.operand = expression; node.operator = 🔶token(); 🔶nextToken(); return 🔶finishNode(node); } return expression; }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }lookAhead
(callback) { return 🔶speculationHelper(callback, true); }parseLeftHandSideExpressionOrHigher
() { var expression = 🔷token() === 96 ? 🔷parseSuperExpression() : 🔷parseMemberExpressionOrHigher(); return parseCallExpressionRest(expression); }Inlined functions:token
() { return currentToken; }parseSuperExpression
() { var expression = 🔷parseTokenNode(); if (🔷token() === 18 || 🔷token() === 22 || 🔶token() ⚠️=== 20) { return expression; } var node = 🔶createNode(177, expression⚠️.pos); node.expression ⚠️= expression; 🔶parseExpectedToken(22, false, ts⚠️.Diagnostics⚠️.super_must_be_followed_by_an_argument_list_or_member_access); node.name ⚠️= parseRightSideOfDot(true); return 🔶finishNode(node); }Inlined functions:parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔷nextToken(); return 🔷finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }token
() { return currentToken; }token
() { return currentToken; }parseMemberExpressionOrHigher
() { var expression = 🔶parsePrimaryExpression(); return 🔶parseMemberExpressionRest(expression); }isLeftHandSideExpression
(node) { return 🔶isLeftHandSideExpressionKind(ts.🔷skipPartiallyEmittedExpressions(node)⚠️.kind); }Inlined functions:skipPartiallyEmittedExpressions
(node) { while (node⚠️.kind === 294) { node = node⚠️.expression; } return node; }
() { if (🔷isUpdateExpression()) { var incrementExpression = 🔶parseIncrementExpression(); return 🔷token() === 39 ? 🔶parseBinaryExpressionRest(🔶getBinaryOperatorPrecedence(), incrementExpression) : incrementExpression; } var unaryOperator = 🔷token(); var simpleUnaryExpression = 🔶parseSimpleUnaryExpression(); if (🔷token() === 39) { var start = ts.⚠️skipTrivia(sourceText, simpleUnaryExpression⚠️.pos); if (simpleUnaryExpression⚠️.kind ⚠️=== 182) { 🔶️parseErrorAtPosition(start, simpleUnaryExpression⚠️.end ⚠️- start, ts⚠️.Diagnostics⚠️.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses); } else { 🔶️parseErrorAtPosition(start, simpleUnaryExpression⚠️.end ⚠️- start, ts⚠️.Diagnostics⚠️.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses, ts.⚠️tokenToString(unaryOperator)); } } return simpleUnaryExpression; }
Inlined functions:isUpdateExpression
() { switch (🔷token()) { case 36: case 37: case 51: case 50: case 79: case 102: case 104: case 120: return false; case 26: if (sourceFile.languageVariant !== 1) { return false; } default: return true; } }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }
() { switch (🔷token()) { case 98: case 96: case 94: case 100: case 85: case 8: case 9: case 12: case 13: case 18: case 20: case 16: case 88: case 74: case 93: case 40: case 62: case 70: return true; default: return 🔷isIdentifier(); } }
Inlined functions:token
() { return currentToken; }isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }
~recompile~
~recompile~
(returnToken, yieldContext, awaitContext, requireCompleteParameterList, signature) { var returnTokenRequired = returnToken === 35; signature.typeParameters ⚠️= parseTypeParameters(); signature.parameters ⚠️= parseParameterList(yieldContext, awaitContext, requireCompleteParameterList); if (returnTokenRequired) { 🔷parseExpected(returnToken); signature.type = 🔶parseTypeOrTypePredicate(); } else if (🔶parseOptional(returnToken)) { signature.type ⚠️= parseTypeOrTypePredicate(); } }
Inlined functions:parseTypeParameters
() { if (🔷token() === 26) { return 🔷parseBracketedList(18, parseTypeParameter, 26, 28); } }Inlined functions:token
() { return currentToken; }parseBracketedList
(kind, parseElement, open, close) { if (🔷parseExpected(open)) { var result = 🔶parseDelimitedList(kind, parseElement); 🔷parseExpected(close); return result; } return 🔶️createMissingList(); }Inlined functions:parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔶lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔶lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
(yieldContext, awaitContext, requireCompleteParameterList) { if (🔷parseExpected(18)) { var savedYieldContext = 🔷inYieldContext(); var savedAwaitContext = 🔷inAwaitContext(); 🔷setYieldContext(yieldContext); 🔷setAwaitContext(awaitContext); var result = 🔶parseDelimitedList(16, parseParameter); 🔷setYieldContext(savedYieldContext); 🔷setAwaitContext(savedAwaitContext); if (!🔷parseExpected(19) && requireCompleteParameterList) { return undefined; } return result; } return requireCompleteParameterList ? undefined : 🔶️createMissingList(); }
Inlined functions:parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }inYieldContext
() { return 🔷inContext(4096); }Inlined functions:inContext
(flags) { return (contextFlags & flags) !== 0; }inAwaitContext
() { return 🔷inContext(16384); }Inlined functions:inContext
(flags) { return (contextFlags & flags) !== 0; }setYieldContext
(val) { 🔷setContextFlag(val, 4096); }Inlined functions:setContextFlag
(val, flag) { if (val) { contextFlags |= flag; } else { contextFlags &= ~flag; } }setAwaitContext
(val) { 🔷setContextFlag(val, 16384); }Inlined functions:setContextFlag
(val, flag) { if (val) { contextFlags |= flag; } else { contextFlags &= ~flag; } }setYieldContext
(val) { 🔷setContextFlag(val, 4096); }Inlined functions:setContextFlag
(val, flag) { if (val) { contextFlags |= flag; } else { contextFlags &= ~flag; } }setAwaitContext
(val) { 🔷setContextFlag(val, 16384); }Inlined functions:setContextFlag
(val, flag) { if (val) { contextFlags |= flag; } else { contextFlags &= ~flag; } }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
() { if (🔷isYieldExpression()) { return 🔶️parseYieldExpression(); } var arrowExpression = 🔶tryParseParenthesizedArrowFunctionExpression() || 🔷tryParseAsyncSimpleArrowFunctionExpression(); if (arrowExpression) { return arrowExpression; } var expr = 🔷parseBinaryExpressionOrHigher(0); if (expr⚠️.kind === 70 && 🔷token() === 35) { return 🔶️parseSimpleArrowFunctionExpression(expr); } if (ts.🔷isLeftHandSideExpression(expr) && ts.🔷isAssignmentOperator(🔷reScanGreaterToken())) { return 🔷makeBinaryExpression(expr, 🔷parseTokenNode(), 🔶parseAssignmentExpressionOrHigher()); } return 🔶parseConditionalExpressionRest(expr); }
Inlined functions:isYieldExpression
() { if (🔷token() === 115) { if (🔶inYieldContext()) { return true; } return 🔶lookAhead(nextTokenIsIdentifierOrKeywordOrNumberOnSameLine); } return false; }Inlined functions:token
() { return currentToken; }tryParseAsyncSimpleArrowFunctionExpression
() { if (🔷token() === 119) { var isUnParenthesizedAsyncArrowFunction = 🔶lookAhead(isUnParenthesizedAsyncArrowFunctionWorker); if (isUnParenthesizedAsyncArrowFunction ⚠️=== 1) { var asyncModifier = 🔶️parseModifiersForArrowFunction(); var expr = 🔶parseBinaryExpressionOrHigher(0); return 🔶️parseSimpleArrowFunctionExpression(expr, asyncModifier); } } return undefined; }Inlined functions:token
() { return currentToken; }parseBinaryExpressionOrHigher
(precedence) { var leftOperand = 🔶parseUnaryExpressionOrHigher(); return parseBinaryExpressionRest(precedence, leftOperand); }token
() { return currentToken; }isLeftHandSideExpression
(node) { return 🔶isLeftHandSideExpressionKind(ts.🔷skipPartiallyEmittedExpressions(node)⚠️.kind); }Inlined functions:skipPartiallyEmittedExpressions
(node) { while (node⚠️.kind === 294) { node = node⚠️.expression; } return node; }reScanGreaterToken
() { return currentToken = scanner.🔶reScanGreaterToken(); }isAssignmentOperator
(token) { return token >= 57 && token <= 69; }parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔷nextToken(); return 🔷finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags |= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }makeBinaryExpression
(left, operatorToken, right) { var node = 🔷createNode(192, left⚠️.pos); node.left = left; node.operatorToken = operatorToken; node.right = right; return 🔶finishNode(node); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔶️new IdentifierConstructor(kind, pos, pos) : 🔶️new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
() { var triState = 🔷isParenthesizedArrowFunctionExpression(); if (triState === 0) { return undefined; } var arrowFunction = triState === 1 ? 🔷parseParenthesizedArrowFunctionExpressionHead(true) : 🔶tryParse(parsePossibleParenthesizedArrowFunctionExpressionHead); if (!arrowFunction) { return undefined; } var isAsync = !!(ts.🔶️getModifierFlags(arrowFunction) & 256); var lastToken = 🔶token(); arrowFunction.equalsGreaterThanToken = 🔶parseExpectedToken(35, false, ts.Diagnostics._0_expected, "=>"); arrowFunction.body = (lastToken === 35 || lastToken ⚠️=== 16) ? 🔶parseArrowFunctionExpressionBody(isAsync) : 🔶parseIdentifier(); return 🔶addJSDocComment(🔶finishNode(arrowFunction)); }
Inlined functions:isParenthesizedArrowFunctionExpression
() { if (🔷token() === 18 || 🔷token() === 26 || 🔷token() === 119) { return 🔷lookAhead(isParenthesizedArrowFunctionExpressionWorker); } if (🔷token() === 35) { return 1; } return 0; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }lookAhead
(callback) { return 🔶speculationHelper(callback, true); }token
() { return currentToken; }parseParenthesizedArrowFunctionExpressionHead
(allowAmbiguity) { var node = 🔷createNode(185); node.modifiers = 🔷parseModifiersForArrowFunction(); var isAsync = !!(ts.🔷getModifierFlags(node) & 256); 🔶fillSignature(55, false, isAsync, !allowAmbiguity, node); if (!node.parameters) { return undefined; } if (!allowAmbiguity && 🔶token() !== 35 && 🔶token() !== 16) { return undefined; } return node; }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseModifiersForArrowFunction
() { var modifiers; if (🔷token() === 119) { var modifierStart = scanner.⚠️getStartPos(); var modifierKind = 🔶token(); 🔶nextToken(); var modifier = 🔶finishNode(🔶createNode(modifierKind, modifierStart)); modifiers = 🔶createNodeArray(⚠️[modifier], modifierStart); modifiers.end ⚠️= scanner.🔶getStartPos(); } return modifiers; }Inlined functions:token
() { return currentToken; }getModifierFlags
(node) { if (node⚠️.modifierFlagsCache & 536870912) { return node.modifierFlagsCache & ~536870912; } var flags = 0; if (node⚠️.modifiers) { for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; flags |= 🔷modifierToFlag(modifier.kind); } } if (node⚠️.flags & 4 || (node⚠️.kind === 70 && node⚠️.isInJSDocNamespace)) { flags |⚠️= 1; } node.modifierFlagsCache ⚠️= flags | 536870912; return flags; }Inlined functions:modifierToFlag
(token) { ⚠️switch (token) { case 114: return 32; case 113: return 4; case 112: return 16; case 111: return 8; case 116: return 128; case 83: return 1; case 123: return 2; case 75: return 2048; case 78: return 512; case 119: return 256; case 130: return 64; } return 0; }
() { if (🔶isStartOfLeftHandSideExpression()) { return true; } switch (🔷token()) { case 36: case 37: case 51: case 50: case 79: case 102: case 104: case 42: case 43: case 26: case 120: case 115: return true; default: if (🔷isBinaryOperator()) { return true; } return 🔷isIdentifier(); } }
Inlined functions:token
() { return currentToken; }isBinaryOperator
() { if (🔷inDisallowInContext() && 🔶token() ⚠️=== 91) { return false; } return 🔶getBinaryOperatorPrecedence() > 0; }Inlined functions:inDisallowInContext
() { return 🔷inContext(2048); }Inlined functions:inContext
(flags) { return (contextFlags & flags) !== 0; }isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }
(ch) { return ch >= 48 && ch <= 57; }
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
(leftOperand) { var questionToken = 🔷parseOptionalToken(54); if (!questionToken) { return leftOperand; } var node = 🔷createNode(193, leftOperand⚠️.pos); node.condition = leftOperand; node.questionToken = questionToken; node.whenTrue = 🔶doOutsideOfContext(disallowInAndDecoratorContext, parseAssignmentExpressionOrHigher); node.colonToken = 🔶parseExpectedToken(55, false, ts.Diagnostics._0_expected, ts.🔶tokenToString(55)); node.whenFalse = 🔶parseAssignmentExpressionOrHigher(); return 🔶finishNode(node); }
Inlined functions:parseOptionalToken
(t) { if (🔷token() === t) { return 🔷parseTokenNode(); } return undefined; }Inlined functions:token
() { return currentToken; }parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔷nextToken(); return 🔷finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
() { return tokenIsUnterminated; }
~recompile~
~recompile~
() { switch (🔷token()) { case 8: case 9: case 12: return 🔷parseLiteralNode(); case 98: case 96: case 94: case 100: case 85: return 🔷parseTokenNode(); case 18: return 🔷parseParenthesizedExpression(); case 20: return 🔶️parseArrayLiteralExpression(); case 16: return 🔶parseObjectLiteralExpression(); case 119: if (!🔶lookAhead(nextTokenIsFunctionKeywordOnSameLine)) { break; } return 🔶️parseFunctionExpression(); case 74: return 🔶️parseClassExpression(); case 88: return 🔶️parseFunctionExpression(); case 93: return 🔶️parseNewExpression(); case 40: case 62: if (🔶️reScanSlashToken() === 11) { return 🔶parseLiteralNode(); } break; case 13: return 🔶️parseTemplateExpression(); } return 🔶parseIdentifier(ts.Diagnostics.Expression_expected); }
Inlined functions:token
() { return currentToken; }parseLiteralNode
(internName) { return 🔶parseLiteralLikeNode(🔷token(), internName); }Inlined functions:token
() { return currentToken; }parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔷nextToken(); return 🔷finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }parseParenthesizedExpression
() { var node = 🔷createNode(183); 🔶parseExpected(18); node.expression = 🔶allowInAnd(parseExpression); 🔶parseExpected(19); return 🔶finishNode(node); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
(node, flags) { return (🔷getModifierFlags(node) & flags) !== 0; }
Inlined functions:getModifierFlags
(node) { if (node⚠️.modifierFlagsCache & 536870912) { return node⚠️.modifierFlagsCache & ~536870912; } var flags = 0; if (node⚠️.modifiers) { for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; flags |= 🔷modifierToFlag(modifier.kind); } } if (node⚠️.flags & 4 || (node⚠️.kind === 70 && node⚠️.isInJSDocNamespace)) { flags |⚠️= 1; } node.modifierFlagsCache ⚠️= flags | 536870912; return flags; }Inlined functions:modifierToFlag
(token) { switch (token) { case 114: return 32; case 113: return 4; case 112: return 16; case 111: return 8; case 116: return 128; case 83: return 1; case 123: return 2; case 75: return 2048; case 78: return 512; case 119: return 256; case 130: return 64; } return 0; }
(val) { 🔷setContextFlag(val, 2048); }
Inlined functions:setContextFlag
(val, flag) { if (val) { contextFlags |= flag; } else { contextFlags &= ~flag; } }
() { return 🔷doOutsideOfContext(disallowInAndDecoratorContext, parseArgumentOrArrayLiteralElement); }
Inlined functions:doOutsideOfContext
(context, func) { var contextFlagsToClear = context & contextFlags; if (contextFlagsToClear) { 🔶setContextFlag(false, contextFlagsToClear); var result = 🔶️func(); 🔶setContextFlag(true, contextFlagsToClear); return result; } return 🔶️func(); }
() { return 🔷token() === 23 ? 🔶️parseSpreadElement() : 🔷token() === 25 ? 🔶createNode(198) : 🔶parseAssignmentExpressionOrHigher(); }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }
() { switch (🔷token()) { case 56: case 24: case 16: case 103: case 109: case 88: case 74: case 82: case 89: case 80: case 105: case 87: case 76: case 71: case 95: case 106: case 97: case 99: case 101: case 77: case 73: case 86: return true; case 75: case 83: case 90: return 🔷isStartOfDeclaration(); case 119: case 123: case 108: case 127: case 128: case 136: case 139: return true; case 113: case 111: case 112: case 114: case 130: return 🔶isStartOfDeclaration() || !🔶lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine); default: return 🔶isStartOfExpression(); } }
Inlined functions:token
() { return currentToken; }isStartOfDeclaration
() { return 🔷lookAhead(isDeclaration); }Inlined functions:lookAhead
(callback) { return 🔶speculationHelper(callback, true); }
(func) { return 🔷doOutsideOfContext(2048, func); }
Inlined functions:doOutsideOfContext
(context, func) { var contextFlagsToClear = context & contextFlags; if (contextFlagsToClear) { 🔶setContextFlag(false, contextFlagsToClear); var result = 🔶️func(); 🔶setContextFlag(true, contextFlagsToClear); return result; } return 🔶️func(); }
() { 🔷parseExpected(18); var result = 🔶parseDelimitedList(11, parseArgumentExpression); 🔷parseExpected(19); return result; }
Inlined functions:parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
() { return 🔷token() === 16 || 🔷token() === 20 || 🔷isIdentifier(); }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }
~recompile~
~recompile~
~recompile~
() { return 🔷parseUnionOrIntersectionType(164, parseIntersectionTypeOrHigher, 48); }
Inlined functions:parseUnionOrIntersectionType
(kind, parseConstituentType, operator) { 🔷parseOptional(operator); var type = 🔶️parseConstituentType(); if (🔷token() === operator) { var types = 🔷createNodeArray([type], type⚠️.pos); while (🔷parseOptional(operator)) { types.push(🔶️parseConstituentType()); } types.end = 🔷getNodeEnd(); var node = 🔷createNode(kind, type⚠️.pos); node.types = types; type = 🔷finishNode(node); } return type; }Inlined functions:parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }createNodeArray
(elements, pos) { var array = (elements || []); if (!(pos >= 0)) { pos = 🔷getNodePos(); } array.pos ⚠️= pos; array.end = pos; return array; }Inlined functions:getNodePos
() { return scanner.🔶getStartPos(); }parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }getNodeEnd
() { return scanner.🔶getStartPos(); }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }
(fullStart, decorators, modifiers) { var asteriskToken = 🔷parseOptionalToken(38); var name = 🔷parsePropertyName(); var questionToken = 🔶parseOptionalToken(54); if (asteriskToken || 🔶token() === 18 || 🔶token() === 26) { return 🔶parseMethodDeclaration(fullStart, decorators, modifiers, asteriskToken, name, questionToken, ts.Diagnostics.or_expected); } else { return 🔶parsePropertyDeclaration(fullStart, decorators, modifiers, name, questionToken); } }
Inlined functions:parseOptionalToken
(t) { if (🔷token() === t) { return 🔷parseTokenNode(); } return undefined; }Inlined functions:token
() { return currentToken; }parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔷nextToken(); return 🔷finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }parsePropertyName
() { return 🔷parsePropertyNameWorker(true); }Inlined functions:parsePropertyNameWorker
(allowComputedPropertyNames) { if (🔷token() === 9 || 🔷token() === 8) { return 🔷parseLiteralNode(true); } if (allowComputedPropertyNames && 🔷token() === 20) { return 🔶️parseComputedPropertyName(); } return 🔷parseIdentifierName(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }parseLiteralNode
(internName) { return 🔶parseLiteralLikeNode(🔷token(), internName); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }parseIdentifierName
() { return 🔷createIdentifier(ts.🔷tokenIsIdentifierOrKeyword(🔷token())); }Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }createIdentifier
(isIdentifier, diagnosticMessage) { identifierCount++; if (isIdentifier) { var node = 🔷createNode(70); if (🔷token() !== 70) { node.originalKeywordKind = 🔷token(); } node.text = 🔷internIdentifier(scanner.🔶getTokenValue()); 🔷nextToken(); return 🔷finishNode(node); } return 🔶️createMissingNode(70, false, diagnosticMessage || ts⚠️.Diagnostics⚠️.Identifier_expected); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔶️new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔶️new IdentifierConstructor(kind, pos, pos) : 🔶️new TokenConstructor(kind, pos, pos); }token
() { return currentToken; }token
() { return currentToken; }internIdentifier
(text) { text = ts.🔶escapeIdentifier(text); return identifiers⚠️[text] || (identifiers[text] ⚠️= text); }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }
() { switch (🔷token()) { case 24: return 🔶️parseEmptyStatement(); case 16: return 🔷parseBlock(false); case 103: return 🔶️parseVariableStatement(scanner.🔶getStartPos(), undefined, undefined); case 109: if (🔶️isLetDeclaration()) { return 🔶️parseVariableStatement(scanner.🔶getStartPos(), undefined, undefined); } break; case 88: return 🔶parseFunctionDeclaration(scanner.🔶getStartPos(), undefined, undefined); case 74: return 🔶️parseClassDeclaration(scanner.🔶getStartPos(), undefined, undefined); case 89: return 🔶️parseIfStatement(); case 80: return 🔶️parseDoStatement(); case 105: return 🔶️parseWhileStatement(); case 87: return 🔶️parseForOrForInOrForOfStatement(); case 76: return 🔶️parseBreakOrContinueStatement(214); case 71: return 🔶️parseBreakOrContinueStatement(215); case 95: return 🔶parseReturnStatement(); case 106: return 🔶️parseWithStatement(); case 97: return 🔶️parseSwitchStatement(); case 99: return 🔶️parseThrowStatement(); case 101: case 73: case 86: return 🔶️parseTryStatement(); case 77: return 🔶️parseDebuggerStatement(); case 56: return 🔶parseDeclaration(); case 119: case 108: case 136: case 127: case 128: case 123: case 75: case 82: case 83: case 90: case 111: case 112: case 113: case 116: case 114: case 130: case 139: if (🔶isStartOfDeclaration()) { return 🔶parseDeclaration(); } break; } return 🔶️parseExpressionOrLabeledStatement(); }
Inlined functions:token
() { return currentToken; }parseBlock
(ignoreMissingOpenBrace, diagnosticMessage) { var node = 🔷createNode(204); if (🔷parseExpected(16, diagnosticMessage) || ignoreMissingOpenBrace) { if (scanner.🔶hasPrecedingLineBreak()) { node.multiLine = true; } node.statements = 🔶parseList(1, parseStatement); 🔷parseExpected(17); } else { node.statements ⚠️= createMissingList(); } return 🔶finishNode(node); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
() { var typePredicateVariable = 🔷isIdentifier() && 🔷tryParse(parseTypePredicatePrefix); var type = 🔷parseType(); if (typePredicateVariable) { var node = 🔷createNode(156, typePredicateVariable⚠️.pos); node.parameterName ⚠️= typePredicateVariable; node.type ⚠️= type; return 🔷finishNode(node); } else { return type; } }
Inlined functions:isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }tryParse
(callback) { return 🔶speculationHelper(callback, false); }parseType
() { return 🔷doOutsideOfContext(20480, parseTypeWorker); }Inlined functions:doOutsideOfContext
(context, func) { var contextFlagsToClear = context & contextFlags; if (contextFlagsToClear) { 🔶setContextFlag(false, contextFlagsToClear); var result = 🔶️func(); 🔶setContextFlag(true, contextFlagsToClear); return result; } return 🔶️func(); }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }
(isGenerator, isAsync, diagnosticMessage) { if (🔷token() !== 16 && 🔷canParseSemicolon()) { 🔷parseSemicolon(); return; } return 🔶parseFunctionBlock(isGenerator, isAsync, false, diagnosticMessage); }
Inlined functions:token
() { return currentToken; }canParseSemicolon
() { if (🔷token() === 24) { return true; } return 🔷token() === 17 || 🔷token() === 1 || scanner.🔶hasPrecedingLineBreak(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }parseSemicolon
() { if (🔷canParseSemicolon()) { if (🔷token() === 24) { 🔷nextToken(); } return true; } else { return 🔶parseExpected(24); } }Inlined functions:canParseSemicolon
() { if (🔷token() === 24) { return true; } return 🔷token() === 17 || 🔷token() === 1 || scanner.🔶hasPrecedingLineBreak(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }
~recompile~
~recompile~
(extensions, candidate, failedLookupLocations, onlyRecordFailures, state) { var resolvedByAddingExtension = 🔶tryAddingExtensions(candidate, extensions, failedLookupLocations, onlyRecordFailures, state); if (resolvedByAddingExtension) { return resolvedByAddingExtension; } if (ts.🔶hasJavaScriptFileExtension(candidate)) { var extensionless = ts.🔷removeFileExtension(candidate); if (state.traceEnabled) { var extension = candidate.🔶substring(extensionless⚠️.length); 🔶️trace(state⚠️.host, ts⚠️.Diagnostics⚠️.File_name_0_has_a_1_extension_stripping_it, candidate, extension); } return 🔶tryAddingExtensions(extensionless, extensions, failedLookupLocations, onlyRecordFailures, state); } }
Inlined functions:removeFileExtension
(path) { for (var _i = 0, extensionsToRemove_1 = extensionsToRemove; _i < extensionsToRemove_1.length; _i++) { var ext = extensionsToRemove_1[_i]; var extensionless = 🔷tryRemoveExtension(path, ext); if (extensionless !== undefined) { return extensionless; } } return path; }Inlined functions:tryRemoveExtension
(path, extension) { return 🔷fileExtensionIs(path, extension) ? 🔷removeExtension(path, extension) : undefined; }Inlined functions:fileExtensionIs
(path, extension) { return path.length > extension.length && 🔷endsWith(path, extension); }Inlined functions:endsWith
(str, suffix) { var expectedPos = str.length - suffix.length; return expectedPos >= 0 && str.🔶indexOf(suffix, expectedPos) === expectedPos; }removeExtension
(path, extension) { return path.🔶substring(0, path.length - extension.length); }
~recompile~
~recompile~
~recompile~
(ext, extension) { var path = 🔷tryFile(candidate + ext, failedLookupLocations, onlyRecordFailures, state); return path && { path: path, extension: extension }; }
Inlined functions:tryFile
(fileName, failedLookupLocations, onlyRecordFailures, state) { if (!onlyRecordFailures && state.host.🔶fileExists(fileName)) { if (state.traceEnabled) { 🔶️trace(state⚠️.host, ts⚠️.Diagnostics⚠️.File_0_exist_use_it_as_a_name_resolution_result, fileName); } return fileName; } else { if (state.traceEnabled) { 🔶️trace(state⚠️.host, ts⚠️.Diagnostics⚠️.File_0_does_not_exist, fileName); } failedLookupLocations.🔶️push(fileName); return undefined; } }
(path) { path = 🔷normalizeSlashes(path); var rootLength = 🔶getRootLength(path); var root = path.🔶substr(0, rootLength); var normalized = 🔶getNormalizedParts(path, rootLength); if (normalized.length) { var joinedParts = root + normalized.🔶join(ts.directorySeparator); return 🔷pathEndsWithDirectorySeparator(path) ? joinedParts ⚠️+ ts⚠️.directorySeparator : joinedParts; } else { return root; } }
Inlined functions:normalizeSlashes
(path) { return path.⚠️replace(🔶️/\x5c\x5c/g, "/"); }pathEndsWithDirectorySeparator
(path) { return path.charCodeAt(path.length - 1) === directorySeparatorCharCode; }
(internName) { return 🔶parseLiteralLikeNode(🔷token(), internName); }
Inlined functions:token
() { return currentToken; }
() { var members; if (🔷parseExpected(16)) { members = 🔶parseList(4, parseTypeMember); 🔷parseExpected(17); } else { members = 🔶️createMissingList(); } return members; }
Inlined functions:parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
() { return currentToken = scanner.🔶scanJsxIdentifier(); }
(fileName) { return 🔷forEach(ts.supportedJavascriptExtensions, 🔶️function (extension) { return fileExtensionIs(fileName, extension); }); }
Inlined functions:forEach
(array, callback) { if (array) { for (var i = 0, len = array.length; i < len; i++) { var result = 🔶️callback(array[i], i); if (result) { return result; } } } return undefined; }
~recompile~
~recompile~
(directoryName) { return ts.sys.🔶directoryExists(directoryName); }
(directoryName, host) { return !host.directoryExists || host.🔶directoryExists(directoryName); }
(fullStart, decorators, modifiers) { if (🔷parseContextualModifier(124)) { return 🔷parseAccessorDeclaration(151, fullStart, decorators, modifiers); } else if (🔶parseContextualModifier(133)) { return 🔶️parseAccessorDeclaration(152, fullStart, decorators, modifiers); } return undefined; }
Inlined functions:parseContextualModifier
(t) { return 🔷token() === t && 🔷tryParse(nextTokenCanFollowModifier); }Inlined functions:token
() { return currentToken; }tryParse
(callback) { return 🔶speculationHelper(callback, false); }parseAccessorDeclaration
(kind, fullStart, decorators, modifiers) { var node = 🔷createNode(kind, fullStart); node.decorators = decorators; node.modifiers = modifiers; node.name = 🔷parsePropertyName(); 🔶fillSignature(55, false, false, false, node); node.body = 🔶parseFunctionBlockOrSemicolon(false, false); return 🔶addJSDocComment(🔶finishNode(node)); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parsePropertyName
() { return 🔷parsePropertyNameWorker(true); }Inlined functions:parsePropertyNameWorker
(allowComputedPropertyNames) { if (🔷token() === 9 || 🔷token() === 8) { return 🔷parseLiteralNode(true); } if (allowComputedPropertyNames && 🔷token() === 20) { return 🔷parseComputedPropertyName(); } return 🔶parseIdentifierName(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }parseLiteralNode
(internName) { return 🔶parseLiteralLikeNode(🔷token(), internName); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }parseComputedPropertyName
() { var node = 🔷createNode(142); 🔷parseExpected(20); node.expression = 🔷allowInAnd(parseExpression); 🔷parseExpected(21); return 🔷finishNode(node); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔶️new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔶️new IdentifierConstructor(kind, pos, pos) : 🔶️new TokenConstructor(kind, pos, pos); }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔶token() === kind) { if (shouldAdvance) { 🔶nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔶️parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔶tokenToString(kind)); } return false; }allowInAnd
(func) { return 🔶doOutsideOfContext(2048, func); }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔶token() === kind) { if (shouldAdvance) { 🔶nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔶️parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔶tokenToString(kind)); } return false; }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }
(path) { return path.🔶substr(0, Math.max(🔶getRootLength(path), path.🔶lastIndexOf(ts.directorySeparator))); }
(token) { return 71 <= token && token <= 140; }
() { return pos; }
() { return 🔷token() === 20 || 🔷token() === 16 || 🔷token() === 38 || 🔷token() === 23 || 🔷isLiteralPropertyName(); }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isLiteralPropertyName
() { return ts.🔷tokenIsIdentifierOrKeyword(🔷token()) || 🔷token() === 9 || 🔷token() === 8; }Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }token
() { return currentToken; }token
() { return currentToken; }
() { var node = 🔷createNode(143); node.name = 🔷parseIdentifier(); if (🔶parseOptional(84)) { if (🔶isStartOfType() || !🔶isStartOfExpression()) { node.constraint = 🔶parseType(); } else { node.expression ⚠️= parseUnaryExpressionOrHigher(); } } return 🔶finishNode(node); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseIdentifier
(diagnosticMessage) { return 🔷createIdentifier(🔷isIdentifier(), diagnosticMessage); }Inlined functions:isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }createIdentifier
(isIdentifier, diagnosticMessage) { identifierCount++; if (isIdentifier) { var node = 🔷createNode(70); if (🔶token() !== 70) { node.originalKeywordKind = 🔶token(); } node.text = 🔶️internIdentifier(scanner.🔶getTokenValue()); 🔶nextToken(); return 🔶finishNode(node); } return 🔶️createMissingNode(70, false, diagnosticMessage || ts⚠️.Diagnostics⚠️.Identifier_expected); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
() { var id = 🔷parseIdentifier(); if (🔶token() === 125 && !scanner.🔶hasPrecedingLineBreak()) { 🔶nextToken(); return id; } }
Inlined functions:parseIdentifier
(diagnosticMessage) { return 🔷createIdentifier(🔷isIdentifier(), diagnosticMessage); }Inlined functions:isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }createIdentifier
(isIdentifier, diagnosticMessage) { identifierCount++; if (isIdentifier) { var node = 🔷createNode(70); if (🔷token() !== 70) { node.originalKeywordKind = 🔷token(); } node.text = 🔷internIdentifier(scanner.getTokenValue()); 🔷nextToken(); return 🔷finishNode(node); } return 🔷createMissingNode(70, false, diagnosticMessage || ts⚠️.Diagnostics⚠️.Identifier_expected); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }token
() { return currentToken; }token
() { return currentToken; }internIdentifier
(text) { text = ts.🔷escapeIdentifier(text); return identifiers⚠️[text] || (identifiers[text] ⚠️= text); }Inlined functions:escapeIdentifier
(identifier) { return identifier⚠️.length >= 2 && identifier.🔶️charCodeAt(0) === 95 && identifier.charCodeAt(1) === 95 ? "_" + identifier : identifier; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }createMissingNode
(kind, reportAtCurrentPosition, diagnosticMessage, arg0) { if (reportAtCurrentPosition) { 🔶️parseErrorAtPosition(scanner.🔶getStartPos(), 0, diagnosticMessage, arg0); } else { 🔷parseErrorAtCurrentToken(diagnosticMessage, arg0); } var result = 🔶createNode(kind, scanner.🔶getStartPos()); result.text = ""; return 🔶finishNode(result); }Inlined functions:parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔶lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }
() { return 🔷lookAhead(isDeclaration); }
Inlined functions:lookAhead
(callback) { return 🔶speculationHelper(callback, true); }
() { 🔷nextToken(); if (scanner.🔶hasPrecedingLineBreak()) { return false; } return 🔷canFollowModifier(); }
Inlined functions:nextToken
() { return currentToken = scanner.🔶scan(); }canFollowModifier
() { return 🔷token() === 20 || 🔷token() === 16 || 🔷token() === 38 || 🔷token() === 23 || 🔷isLiteralPropertyName(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isLiteralPropertyName
() { return ts.🔷tokenIsIdentifierOrKeyword(🔷token()) || 🔷token() === 9 || 🔷token() === 8; }Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }token
() { return currentToken; }token
() { return currentToken; }
(fullStart, decorators, modifiers, name, questionToken) { var property = 🔷createNode(147, fullStart); property.decorators = decorators; property.modifiers = modifiers; property.name = name; property.questionToken = questionToken; property.type = 🔷parseTypeAnnotation(); property.initializer = ts.🔷hasModifier(property, 32) ? 🔶allowInAnd(parseNonParameterInitializer) : 🔶doOutsideOfContext(4096 | 2048, parseNonParameterInitializer); 🔶parseSemicolon(); return 🔶addJSDocComment(🔶finishNode(property)); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseTypeAnnotation
() { return 🔷parseOptional(55) ? 🔷parseType() : undefined; }Inlined functions:parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseType
() { return 🔷doOutsideOfContext(20480, parseTypeWorker); }Inlined functions:doOutsideOfContext
(context, func) { var contextFlagsToClear = context & contextFlags; if (contextFlagsToClear) { 🔶setContextFlag(false, contextFlagsToClear); var result = 🔶️func(); 🔶setContextFlag(true, contextFlagsToClear); return result; } return 🔶️func(); }hasModifier
(node, flags) { return (🔷getModifierFlags(node) & flags) !== 0; }Inlined functions:getModifierFlags
(node) { if (node⚠️.modifierFlagsCache & 536870912) { return node.modifierFlagsCache & ~536870912; } var flags = 0; if (node⚠️.modifiers) { for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; flags |= 🔷modifierToFlag(modifier.kind); } } if (node⚠️.flags & 4 || (node⚠️.kind === 70 && node⚠️.isInJSDocNamespace)) { flags |⚠️= 1; } node.modifierFlagsCache ⚠️= flags | 536870912; return flags; }Inlined functions:modifierToFlag
(token) { switch (token) { case 114: return 32; case 113: return 4; case 112: return 16; case 111: return 8; case 116: return 128; case 83: return 1; case 123: return 2; case 75: return 2048; case 78: return 512; case 119: return 256; case 130: return 64; } return 0; }
(fullStart, decorators, modifiers, asteriskToken, name, questionToken, diagnosticMessage) { var method = 🔷createNode(149, fullStart); method.decorators = decorators; method.modifiers = modifiers; method.asteriskToken = asteriskToken; method.name = name; method.questionToken = questionToken; var isGenerator = !!asteriskToken; var isAsync = ts.🔷hasModifier(method, 256); 🔶fillSignature(55, isGenerator, isAsync, false, method); method.body ⚠️= parseFunctionBlockOrSemicolon(isGenerator, isAsync, diagnosticMessage); return 🔶addJSDocComment(🔶finishNode(method)); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }hasModifier
(node, flags) { return (🔷getModifierFlags(node) & flags) !== 0; }Inlined functions:getModifierFlags
(node) { if (node⚠️.modifierFlagsCache & 536870912) { return node.modifierFlagsCache & ~536870912; } var flags = 0; if (node⚠️.modifiers) { for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; flags |= 🔷modifierToFlag(modifier.kind); } } if (node⚠️.flags & 4 || (node⚠️.kind === 70 && node⚠️.isInJSDocNamespace)) { flags |⚠️= 1; } node.modifierFlagsCache ⚠️= flags | 536870912; return flags; }Inlined functions:modifierToFlag
(token) { switch (token) { case 114: return 32; case 113: return 4; case 112: return 16; case 111: return 8; case 116: return 128; case 83: return 1; case 123: return 2; case 75: return 2048; case 78: return 512; case 119: return 256; case 130: return 64; } return 0; }parseFunctionBlockOrSemicolon
(isGenerator, isAsync, diagnosticMessage) { if (🔷token() !== 16 && 🔷canParseSemicolon()) { 🔶parseSemicolon(); return; } return 🔶parseFunctionBlock(isGenerator, isAsync, false, diagnosticMessage); }Inlined functions:token
() { return currentToken; }canParseSemicolon
() { if (🔷token() === 24) { return true; } return 🔷token() === 17 || 🔷token() === 1 || scanner.🔶hasPrecedingLineBreak(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }
() { var node = 🔷createNode(144); if (🔷token() === 98) { node.name = 🔷createIdentifier(true, undefined); node.type = 🔶parseParameterType(); return 🔶finishNode(node); } node.decorators = 🔶parseDecorators(); node.modifiers = 🔶parseModifiers(); node.dotDotDotToken = 🔶parseOptionalToken(23); node.name = 🔶parseIdentifierOrPattern(); if (ts.🔶getFullWidth(node.name) === 0 && !ts.🔶️hasModifiers(node) && ts.⚠️isModifierKind(🔶token())) { 🔶nextToken(); } node.questionToken = 🔶parseOptionalToken(54); node.type = 🔶parseParameterType(); node.initializer = 🔶parseBindingElementInitializer(true); return 🔶addJSDocComment(🔶finishNode(node)); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }token
() { return currentToken; }createIdentifier
(isIdentifier, diagnosticMessage) { identifierCount++; if (isIdentifier) { var node = 🔷createNode(70); if (🔶token() !== 70) { node.originalKeywordKind = 🔶token(); } node.text = 🔶️internIdentifier(scanner.🔶getTokenValue()); 🔶nextToken(); return 🔶finishNode(node); } return 🔶️createMissingNode(70, false, diagnosticMessage || ts⚠️.Diagnostics⚠️.Identifier_expected); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
() { var fullStart = 🔷getNodePos(); var decorators = parseDecorators(); var modifiers = parseModifiers(); switch (🔷token()) { case 103: case 109: case 75: return 🔷parseVariableStatement(fullStart, decorators, modifiers); case 88: return 🔶parseFunctionDeclaration(fullStart, decorators, modifiers); case 74: return 🔷parseClassDeclaration(fullStart, decorators, modifiers); case 108: return 🔷parseInterfaceDeclaration(fullStart, decorators, modifiers); case 136: return 🔶parseTypeAliasDeclaration(fullStart, decorators, modifiers); case 82: return 🔶️parseEnumDeclaration(fullStart, decorators, modifiers); case 139: case 127: case 128: return 🔶️parseModuleDeclaration(fullStart, decorators, modifiers); case 90: return 🔶️parseImportDeclarationOrImportEqualsDeclaration(fullStart, decorators, modifiers); case 83: 🔶nextToken(); switch (🔶token()) { case 78: case 57: return 🔶️parseExportAssignment(fullStart, decorators, modifiers); case 117: return 🔶️parseNamespaceExportDeclaration(fullStart, decorators, modifiers); default: return 🔶️parseExportDeclaration(fullStart, decorators, modifiers); } default: if (decorators || modifiers) { var node = 🔶️createMissingNode(244, true, ts⚠️.Diagnostics⚠️.Declaration_expected); node.pos ⚠️= fullStart; node.decorators ⚠️= decorators; node.modifiers ⚠️= modifiers; return 🔶finishNode(node); } } }
Inlined functions:getNodePos
() { return scanner.getStartPos(); }token
() { return currentToken; }parseVariableStatement
(fullStart, decorators, modifiers) { var node = 🔷createNode(205, fullStart); node.decorators = decorators; node.modifiers = modifiers; node.declarationList = 🔶parseVariableDeclarationList(false); 🔷parseSemicolon(); return 🔶addJSDocComment(🔷finishNode(node)); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseSemicolon
() { if (🔷canParseSemicolon()) { if (🔷token() === 24) { 🔷nextToken(); } return true; } else { return 🔶parseExpected(24); } }Inlined functions:canParseSemicolon
() { if (🔷token() === 24) { return true; } return 🔷token() === 17 || 🔷token() === 1 || scanner.🔶hasPrecedingLineBreak(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }parseClassDeclaration
(fullStart, decorators, modifiers) { return 🔶parseClassDeclarationOrExpression(fullStart, decorators, modifiers, 226); }parseInterfaceDeclaration
(fullStart, decorators, modifiers) { var node = 🔷createNode(227, fullStart); node.decorators = decorators; node.modifiers = modifiers; 🔶parseExpected(108); node.name = 🔶parseIdentifier(); node.typeParameters = 🔶parseTypeParameters(); node.heritageClauses = 🔶parseHeritageClauses(); node.members = 🔶parseObjectTypeMembers(); return 🔶addJSDocComment(🔶finishNode(node)); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔶️new IdentifierConstructor(kind, pos, pos) : 🔶️new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
() { if (🔷isHeritageClause()) { return 🔶parseList(21, parseHeritageClause); } return undefined; }
Inlined functions:isHeritageClause
() { return 🔷token() === 84 || 🔷token() === 107; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }
(left, operatorToken, right) { var node = 🔷createNode(192, left⚠️.pos); node.left = left; node.operatorToken = operatorToken; node.right = right; return 🔷finishNode(node); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }
(path) { return 🔶getRootLength(path) !== 0; }
(allowEscapes) { if (allowEscapes === void 0) { allowEscapes = true; } var quote = text.charCodeAt(pos); pos++; var result = ""; var start = pos; while (true) { if (pos >= end) { result +⚠️= text.⚠️substring(start, pos); tokenIsUnterminated = true; 🔶️error(ts⚠️.Diagnostics⚠️.Unterminated_string_literal); break; } var ch = text.charCodeAt(pos); if (ch === quote) { result += text.🔶substring(start, pos); pos++; break; } if (ch === 92 && allowEscapes) { result += text.⚠️substring(start, pos); result += 🔶️scanEscapeSequence(); start = pos; continue; } if (🔷isLineBreak(ch)) { result +⚠️= text.⚠️substring(start, pos); tokenIsUnterminated = true; 🔶️error(ts⚠️.Diagnostics⚠️.Unterminated_string_literal); break; } pos++; } return result; }
Inlined functions:isLineBreak
(ch) { return ch === 10 || ch === 13 || ch === 8232 || ch === 8233; }
~recompile~
~recompile~
~recompile~
(expression) { while (true) { var dotToken = 🔷parseOptionalToken(22); if (dotToken) { var propertyAccess = 🔷createNode(177, expression⚠️.pos); propertyAccess.expression = expression; propertyAccess.name = 🔶parseRightSideOfDot(true); expression = 🔶finishNode(propertyAccess); continue; } if (🔶token() === 50 && !scanner.🔶hasPrecedingLineBreak()) { 🔶nextToken(); var nonNullExpression = 🔶createNode(201, expression.pos); nonNullExpression.expression = expression; expression = 🔶finishNode(nonNullExpression); continue; } if (!🔶inDecoratorContext() && 🔶parseOptional(20)) { var indexedAccess = createNode(178, expression.pos); indexedAccess.expression = expression; if (🔶token() !== 21) { indexedAccess.argumentExpression = 🔶allowInAnd(parseExpression); if (indexedAccess.argumentExpression⚠️.kind === 9 || indexedAccess.argumentExpression⚠️.kind === 8) { var literal = indexedAccess.argumentExpression; literal.text = 🔶️internIdentifier(literal.text); } } 🔶parseExpected(21); expression = 🔶finishNode(indexedAccess); continue; } if (🔶token() === 12 || 🔶token() === 13) { var tagExpression = 🔶createNode(181, expression⚠️.pos); tagExpression.tag ⚠️= expression; tagExpression.template ⚠️= token() ⚠️=== 12 ? 🔶parseLiteralNode() : 🔶️parseTemplateExpression(); expression = 🔶finishNode(tagExpression); continue; } return expression; } }
Inlined functions:parseOptionalToken
(t) { if (🔷token() === t) { return 🔷parseTokenNode(); } return undefined; }Inlined functions:token
() { return currentToken; }parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔷nextToken(); return 🔷finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
(kind, internName) { var node = 🔷createNode(kind); var text = scanner.getTokenValue(); node.text = internName ? 🔷internIdentifier(text) : text; if (scanner.🔶hasExtendedUnicodeEscape()) { node.hasExtendedUnicodeEscape ⚠️= true; } if (scanner.🔶isUnterminated()) { node.isUnterminated ⚠️= true; } var tokenPos = scanner.🔶getTokenPos(); 🔷nextToken(); 🔷finishNode(node); if (node.kind === 8 && sourceText.charCodeAt(tokenPos) === 48 && ts.🔷isOctalDigit(sourceText.charCodeAt(tokenPos + 1))) { node.isOctalLiteral ⚠️= true; } return node; }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }internIdentifier
(text) { text = ts.🔷escapeIdentifier(text); return identifiers⚠️[text] || (identifiers[text] ⚠️= text); }Inlined functions:escapeIdentifier
(identifier) { return identifier⚠️.length >= 2 && identifier.🔶️charCodeAt(0) === 95 && identifier.charCodeAt(1) === 95 ? "_" + identifier : identifier; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }isOctalDigit
(ch) { return ch >= 48 && ch <= 55; }
() { return hasExtendedUnicodeEscape; }
() { return 🔷inContext(4096); }
Inlined functions:inContext
(flags) { return (contextFlags & flags) !== 0; }
(allowYield, allowAwait, ignoreMissingOpenBrace, diagnosticMessage) { var savedYieldContext = 🔷inYieldContext(); 🔷setYieldContext(allowYield); var savedAwaitContext = 🔷inAwaitContext(); 🔷setAwaitContext(allowAwait); var saveDecoratorContext = 🔷inDecoratorContext(); if (saveDecoratorContext) { 🔶️setDecoratorContext(false); } var block = 🔷parseBlock(ignoreMissingOpenBrace, diagnosticMessage); if (saveDecoratorContext) { 🔶️setDecoratorContext(true); } 🔶setYieldContext(savedYieldContext); 🔶setAwaitContext(savedAwaitContext); return block; }
Inlined functions:inYieldContext
() { return 🔷inContext(4096); }Inlined functions:inContext
(flags) { return (contextFlags & flags) !== 0; }setYieldContext
(val) { 🔷setContextFlag(val, 4096); }Inlined functions:setContextFlag
(val, flag) { if (val) { contextFlags |= flag; } else { contextFlags &= ~flag; } }inAwaitContext
() { return 🔷inContext(16384); }Inlined functions:inContext
(flags) { return (contextFlags & flags) !== 0; }setAwaitContext
(val) { 🔷setContextFlag(val, 16384); }Inlined functions:setContextFlag
(val, flag) { if (val) { contextFlags |= flag; } else { contextFlags &= ~flag; } }inDecoratorContext
() { return 🔷inContext(8192); }Inlined functions:inContext
(flags) { return (contextFlags & flags) !== 0; }parseBlock
(ignoreMissingOpenBrace, diagnosticMessage) { var node = 🔷createNode(204); if (🔷parseExpected(16, diagnosticMessage) || ignoreMissingOpenBrace) { if (scanner.🔶hasPrecedingLineBreak()) { node.multiLine = true; } node.statements = 🔶parseList(1, parseStatement); 🔶parseExpected(17); } else { node.statements ⚠️= createMissingList(); } return 🔶finishNode(node); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
~recompile~
~recompile~
- Deopt: <JS Function isParameterPropertyDeclaration (SharedFunctionInfo 0x30d407ff0701)> (opt #633) @23, FP to SP delta: 56, caller sp: 0x7fff5fbfdb68
~recompile~
(array) { return array && array⚠️.length > 0 ? array[array.length - 1] : undefined; }
(compilerOptions, host) { return compilerOptions.traceResolution && host⚠️.trace !== undefined; }
(moduleName) { return !(ts.🔷isRootedDiskPath(moduleName) || ts.🔷isExternalModuleNameRelative(moduleName)); }
Inlined functions:isRootedDiskPath
(path) { return 🔶getRootLength(path) !== 0; }isExternalModuleNameRelative
(moduleName) { return 🔶️/^\x5c.\x5c.?($|[\🔶️x5c\x5c/])/.test(moduleName); }
() { if (🔷token() === 75) { return 🔷nextToken() === 82; } if (🔷token() === 83) { 🔷nextToken(); if (🔷token() === 78) { return 🔷lookAhead(nextTokenIsClassOrFunctionOrAsync); } return 🔷token() !== 38 && 🔷token() !== 117 && 🔷token() !== 16 && 🔷canFollowModifier(); } if (🔷token() === 78) { return 🔷nextTokenIsClassOrFunctionOrAsync(); } if (🔷token() === 114) { 🔷nextToken(); return 🔷canFollowModifier(); } return 🔷nextTokenIsOnSameLineAndCanFollowModifier(); }
Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }lookAhead
(callback) { return 🔶speculationHelper(callback, true); }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }canFollowModifier
() { return 🔷token() === 20 || 🔷token() === 16 || 🔷token() === 38 || 🔷token() === 23 || 🔷isLiteralPropertyName(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isLiteralPropertyName
() { return ts.🔷tokenIsIdentifierOrKeyword(🔷token()) || 🔷token() === 9 || 🔷token() === 8; }Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }nextTokenIsClassOrFunctionOrAsync
() { 🔷nextToken(); return 🔷token() === 74 || 🔷token() === 88 || (🔷token() === 119 && 🔶lookAhead(nextTokenIsFunctionKeywordOnSameLine)); }Inlined functions:nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }canFollowModifier
() { return 🔷token() === 20 || 🔷token() === 16 || 🔷token() === 38 || 🔷token() === 23 || 🔷isLiteralPropertyName(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isLiteralPropertyName
() { return ts.🔷tokenIsIdentifierOrKeyword(🔷token()) || 🔷token() === 9 || 🔷token() === 8; }Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }token
() { return currentToken; }token
() { return currentToken; }nextTokenIsOnSameLineAndCanFollowModifier
() { 🔷nextToken(); if (scanner.🔶hasPrecedingLineBreak()) { return false; } return 🔷canFollowModifier(); }Inlined functions:nextToken
() { return currentToken = scanner.🔶scan(); }canFollowModifier
() { return 🔷token() === 20 || 🔷token() === 16 || 🔷token() === 38 || 🔷token() === 23 || 🔷isLiteralPropertyName(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isLiteralPropertyName
() { return ts.🔷tokenIsIdentifierOrKeyword(🔷token()) || 🔷token() === 9 || 🔷token() === 8; }Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }token
() { return currentToken; }token
() { return currentToken; }
() { return 🔷parseInitializer(false); }
Inlined functions:parseInitializer
(inParameter) { if (🔷token() !== 57) { if (scanner.🔶hasPrecedingLineBreak() || (inParameter && 🔷token() === 16) || !🔶isStartOfExpression()) { return undefined; } } 🔷parseExpected(57); return 🔶parseAssignmentExpressionOrHigher(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
(t) { return t === 91 || t === 140; }
() { return 🔷inContext(2048); }
Inlined functions:inContext
(flags) { return (contextFlags & flags) !== 0; }
() { var node = 🔷createNode(223); node.name = 🔷parseIdentifierOrPattern(); node.type = 🔶parseTypeAnnotation(); if (!🔶isInOrOfKeyword(🔶token())) { node.initializer = 🔶parseInitializer(false); } return 🔶finishNode(node); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseIdentifierOrPattern
() { if (🔷token() === 20) { return 🔷parseArrayBindingPattern(); } if (🔶token() === 16) { return 🔶️parseObjectBindingPattern(); } return 🔶parseIdentifier(); }Inlined functions:token
() { return currentToken; }parseArrayBindingPattern
() { var node = 🔷createNode(173); 🔶parseExpected(20); node.elements ⚠️= parseDelimitedList(10, parseArrayBindingElement); 🔶parseExpected(21); return 🔶finishNode(node); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
() { if (!🔷parseOptional(26)) { return undefined; } var typeArguments = 🔶parseDelimitedList(19, parseType); if (!🔷parseExpected(28)) { return undefined; } return typeArguments && 🔶️canFollowTypeArgumentsInExpression() ? typeArguments : undefined; }
Inlined functions:parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
~recompile~
- Deopt: <JS Function hasModifier (SharedFunctionInfo 0x30d407fe66a1)> (opt #222) @19, FP to SP delta: 48, caller sp: 0x7fff5fbfda50
~recompile~
(path) { return keyMapper ? 🔷keyMapper(path) : path; }
Inlined functions:keyMapper
(key) { return key.🔶️toLocaleLowerCase(); }
() { pos = tokenPos = startPos; return token = 🔶scanJsxToken(); }
~recompile~
~recompile~
(extensions, moduleName, directory, failedLookupLocations, state) { var nodeModulesFolder = ts.🔷combinePaths(directory, "node_modules"); var nodeModulesFolderExists = 🔷directoryProbablyExists(nodeModulesFolder, state.host); var candidate = ts.🔷normalizePath(ts.🔷combinePaths(nodeModulesFolder, moduleName)); return 🔶loadModuleFromFile(extensions, candidate, failedLookupLocations, !nodeModulesFolderExists, state) || 🔶loadNodeModuleFromDirectory(extensions, candidate, failedLookupLocations, !nodeModulesFolderExists, state); }
Inlined functions:combinePaths
(path1, path2) { if (!(path1 && path1.length)) return path2; if (!(path2 && path2⚠️.length)) return path1; if (🔶getRootLength(path2) !== 0) return path2; if (path1.charAt(path1.length - 1) === ts.directorySeparator) return path1 + path2; return path1 + ts.directorySeparator + path2; }directoryProbablyExists
(directoryName, host) { return !host.directoryExists || host.🔶directoryExists(directoryName); }combinePaths
(path1, path2) { if (!(path1 && path1.length)) return path2; if (!(path2 && path2⚠️.length)) return path1; if (🔶getRootLength(path2) !== 0) return path2; if (path1.charAt(path1.length - 1) === ts.directorySeparator) return path1 + path2; return path1 + ts.directorySeparator + path2; }normalizePath
(path) { path = 🔷normalizeSlashes(path); var rootLength = 🔶getRootLength(path); var root = path.🔶substr(0, rootLength); var normalized = 🔶getNormalizedParts(path, rootLength); if (normalized.length) { var joinedParts = root + normalized.🔶join(ts.directorySeparator); return 🔷pathEndsWithDirectorySeparator(path) ? joinedParts ⚠️+ ts⚠️.directorySeparator : joinedParts; } else { return root; } }Inlined functions:normalizeSlashes
(path) { return path.⚠️replace(🔶️/\x5c\x5c/g, "/"); }pathEndsWithDirectorySeparator
(path) { return path.charCodeAt(path.length - 1) === directorySeparatorCharCode; }
() { switch (🔷token()) { case 10: return 🔷parseJsxText(); case 16: return 🔷parseJsxExpression(false); case 26: return 🔶️parseJsxElementOrSelfClosingElement(false); } ts⚠️.Debug.🔶️fail("Unknown JSX child kind " + 🔶token()); }
Inlined functions:token
() { return currentToken; }parseJsxText
() { var node = 🔷createNode(10, scanner.🔶getStartPos()); currentToken = scanner.🔶scanJsxToken(); return 🔷finishNode(node); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }parseJsxExpression
(inExpressionContext) { var node = 🔷createNode(252); 🔶parseExpected(16); if (🔶token() !== 17) { node.expression = 🔶parseAssignmentExpressionOrHigher(); } if (inExpressionContext) { 🔶parseExpected(17); } else { 🔶parseExpected(17, undefined, false); 🔶scanJsxText(); } return 🔶finishNode(node); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
~recompile~
~recompile~
~recompile~
~recompile~
(node) { if (node⚠️.kind === 235) { return node.moduleSpecifier; } if (node.kind === 234) { var reference = node.moduleReference; if (reference.kind === 245) { return reference.expression; } } if (node.kind === 241) { return node.moduleSpecifier; } if (node⚠️.kind ⚠️=== 230 && node⚠️.name⚠️.kind ⚠️=== 9) { return node⚠️.name; } }
~recompile~
~recompile~
(candidate, extensions, failedLookupLocations, onlyRecordFailures, state) { if (!onlyRecordFailures) { var directory = ts.🔷getDirectoryPath(candidate); if (directory) { onlyRecordFailures = !🔷directoryProbablyExists(directory, state.host); } } switch (extensions) { case 2: return 🔶tryExtension(".d.ts", ts.Extension.Dts); case 0: return 🔶tryExtension(".ts", ts.Extension.Ts) || 🔶tryExtension(".tsx", ts.Extension.Tsx) || 🔶tryExtension(".d.ts", ts.Extension.Dts); case 1: return 🔶tryExtension(".js", ts.Extension.Js) || 🔶tryExtension(".jsx", ts.Extension.Jsx); } 🔶️function tryExtension(ext, extension) { var path = tryFile(candidate + ext, failedLookupLocations, onlyRecordFailures, state); return path && { path: path, extension: extension }; } }
Inlined functions:getDirectoryPath
(path) { return path.🔶substr(0, Math.max(🔶getRootLength(path), path.🔶lastIndexOf(ts.directorySeparator))); }directoryProbablyExists
(directoryName, host) { return !host.directoryExists || host.🔶directoryExists(directoryName); }
(normalizedSlashedPath, rootLength) { var parts = normalizedSlashedPath.🔶substr(rootLength).split(ts.directorySeparator); var normalized = []; for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) { var part = parts_1[_i]; if (part !== ".") { if (part === ".." && normalized.length > 0 && 🔷lastOrUndefined(normalized) !== "..") { normalized.pop(); } else { if (part) { normalized.push(part); } } } } return normalized; }
Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
(kind) { var node = 🔷createNode(kind); node.elements = 🔷parseBracketedList(22, kind === 238 ? parseImportSpecifier : parseExportSpecifier, 16, 17); return 🔶finishNode(node); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseBracketedList
(kind, parseElement, open, close) { if (🔷parseExpected(open)) { var result = 🔶parseDelimitedList(kind, parseElement); 🔷parseExpected(close); return result; } return 🔶️createMissingList(); }Inlined functions:parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
~recompile~
~recompile~
~recompile~
(kind, parseElement, considerSemicolonAsDelimiter) { var saveParsingContext = parsingContext; parsingContext |= 1 << kind; var result = 🔷createNodeArray(); var commaStart = -1; while (true) { if (🔶isListElement(kind, false)) { result.push(🔷parseListElement(kind, parseElement)); commaStart = scanner.🔶getTokenPos(); if (🔷parseOptional(25)) { continue; } commaStart = -1; if (🔶isListTerminator(kind)) { break; } 🔷parseExpected(25); if (considerSemicolonAsDelimiter && 🔶token() ⚠️=== 24 && !scanner.🔶hasPrecedingLineBreak()) { 🔶nextToken(); } continue; } if (🔶isListTerminator(kind)) { break; } if (🔷abortParsingListOrMoveToNextToken(kind)) { break; } } if (commaStart >= 0) { result.hasTrailingComma = true; } result.end = 🔷getNodeEnd(); parsingContext = saveParsingContext; return result; }
Inlined functions:createNodeArray
(elements, pos) { var array = (elements || []); if (!(pos >= 0)) { pos = 🔷getNodePos(); } array.pos ⚠️= pos; array.end = pos; return array; }Inlined functions:getNodePos
() { return scanner.🔶getStartPos(); }parseListElement
(parsingContext, parseElement) { var node = 🔶currentNode(parsingContext); if (node) { return 🔶️consumeNode(node); } return 🔶️parseElement(); }parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }abortParsingListOrMoveToNextToken
(kind) { 🔷parseErrorAtCurrentToken(🔶️parsingContextErrors(kind)); if (🔷isInSomeParsingContext()) { return true; } 🔷nextToken(); return false; }Inlined functions:parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }isInSomeParsingContext
() { for (var kind = 0; kind < 27; kind++) { if (parsingContext & (1 << kind)) { if (🔶isListElement(kind, true) || 🔶isListTerminator(kind)) { return true; } } } return false; }nextToken
() { return currentToken = scanner.🔶scan(); }getNodeEnd
() { return scanner.🔶getStartPos(); }
() { if (🔷token() === 9) { var result = 🔷parseLiteralNode(); 🔷internIdentifier(result.text); return result; } else { return 🔶️parseExpression(); } }
Inlined functions:token
() { return currentToken; }parseLiteralNode
(internName) { return 🔶parseLiteralLikeNode(🔷token(), internName); }Inlined functions:token
() { return currentToken; }internIdentifier
(text) { text = ts.🔷escapeIdentifier(text); return identifiers⚠️[text] || (identifiers[text] ⚠️= text); }Inlined functions:escapeIdentifier
(identifier) { return identifier⚠️.length >= 2 && identifier.🔶️charCodeAt(0) === 95 && identifier.charCodeAt(1) === 95 ? "_" + identifier : identifier; }
(identifier, fullStart) { var importClause = 🔷createNode(236, fullStart); if (identifier) { importClause.name = identifier; } if (!importClause.name || 🔷parseOptional(25)) { importClause.namedBindings = 🔷token() === 38 ? 🔷parseNamespaceImport() : 🔶parseNamedImportsOrExports(238); } return 🔶finishNode(importClause); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }parseNamespaceImport
() { var namespaceImport = 🔷createNode(237); 🔶parseExpected(38); 🔶parseExpected(117); namespaceImport.name = 🔶parseIdentifier(); return 🔶finishNode(namespaceImport); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
() { return 🔶️parseImportOrExportSpecifier(239); }
~recompile~
~recompile~
(kind, parseElement) { var saveParsingContext = parsingContext; parsingContext |= 1 << kind; var result = 🔷createNodeArray(); while (!🔶isListTerminator(kind)) { if (🔶isListElement(kind, false)) { var element = 🔷parseListElement(kind, parseElement); result.push(element); continue; } if (🔶️abortParsingListOrMoveToNextToken(kind)) { break; } } result.end = 🔷getNodeEnd(); parsingContext = saveParsingContext; return result; }
Inlined functions:createNodeArray
(elements, pos) { var array = (elements || []); if (!(pos >= 0)) { pos = 🔷getNodePos(); } array.pos ⚠️= pos; array.end = pos; return array; }Inlined functions:getNodePos
() { return scanner.🔶getStartPos(); }parseListElement
(parsingContext, parseElement) { var node = 🔶currentNode(parsingContext); if (node) { return 🔶️consumeNode(node); } return 🔶️parseElement(); }getNodeEnd
() { return scanner.🔶getStartPos(); }
() { if (🔷token() === 16) { return 🔶️parseJsxSpreadAttribute(); } 🔷scanJsxIdentifier(); var node = 🔷createNode(250); node.name = 🔷parseIdentifierName(); if (🔶token() === 57) { switch (🔶scanJsxAttributeValue()) { case 9: node.initializer = 🔶parseLiteralNode(); break; default: node.initializer = 🔶parseJsxExpression(true); break; } } return 🔶finishNode(node); }
Inlined functions:token
() { return currentToken; }scanJsxIdentifier
() { return currentToken = scanner.🔶scanJsxIdentifier(); }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseIdentifierName
() { return 🔷createIdentifier(ts.🔷tokenIsIdentifierOrKeyword(🔷token())); }Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }createIdentifier
(isIdentifier, diagnosticMessage) { identifierCount++; if (isIdentifier) { var node = 🔷createNode(70); if (🔶token() !== 70) { node.originalKeywordKind = 🔶token(); } node.text = 🔶️internIdentifier(scanner.🔶getTokenValue()); 🔶nextToken(); return 🔶finishNode(node); } return 🔶️createMissingNode(70, false, diagnosticMessage || ts⚠️.Diagnostics⚠️.Identifier_expected); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
~recompile~
~recompile~
() { startPos = pos; switch (text.charCodeAt(pos)) { case 34: case 39: tokenValue = 🔶scanString(false); return token = 9; default: return 🔶scan(); } }
() { return currentToken = scanner.🔶scanJsxToken(); }
(literal) { return literal.text; }
~recompile~
~recompile~
(moduleName, containingFile) { return ts.🔶resolveModuleName(moduleName, containingFile, options, host).resolvedModule; }
(compilerOptions) { return typeof compilerOptions.module === "number" ? compilerOptions.module : 🔶getEmitScriptTarget(compilerOptions) ⚠️>= 2 ? ts⚠️.ModuleKind⚠️.ES2015 : ts⚠️.ModuleKind⚠️.CommonJS; }
(extensions, moduleName, containingDirectory, loader, failedLookupLocations, state) { if (🔷moduleHasNonRelativeName(moduleName)) { return 🔶️tryLoadModuleUsingBaseUrl(extensions, moduleName, loader, failedLookupLocations, state); } else { return 🔶️tryLoadModuleUsingRootDirs(extensions, moduleName, containingDirectory, loader, failedLookupLocations, state); } }
Inlined functions:moduleHasNonRelativeName
(moduleName) { return !(ts.🔷isRootedDiskPath(moduleName) || ts.🔷isExternalModuleNameRelative(moduleName)); }Inlined functions:isRootedDiskPath
(path) { return 🔶getRootLength(path) !== 0; }isExternalModuleNameRelative
(moduleName) { return 🔶️/^\x5c.\x5c.?($|[\🔶️x5c\x5c/])/.test(moduleName); }
~recompile~
~recompile~
(resolved, isExternalLibraryImport, failedLookupLocations) { return { resolvedModule: resolved && 🔷resolvedModuleFromResolved(resolved, isExternalLibraryImport), failedLookupLocations: failedLookupLocations }; }
Inlined functions:resolvedModuleFromResolved
(_a, isExternalLibraryImport) { var path = _a.path, extension = _a.extension; return { resolvedFileName: path, extension: extension, isExternalLibraryImport: isExternalLibraryImport }; }
~recompile~
~recompile~
(path) { return 🔶️fileSystemEntryExists(path, 0); }
(path) { if (path === undefined) { return undefined; } var i = path.🔶lastIndexOf(ts.directorySeparator); return i < 0 ? path : path.🔶substring(i + 1); }
(parsingContext) { if (parseErrorBeforeNextFinishedNode) { return undefined; } if (!syntaxCursor) { return undefined; } var node = syntaxCursor.🔶currentNode(scanner.⚠️getStartPos()); if (ts.🔶nodeIsMissing(node)) { return undefined; } if (node⚠️.intersectsChange) { return undefined; } if (ts.🔶️containsParseError(node)) { return undefined; } var nodeContextFlags = node⚠️.flags ⚠️& 96256; if (nodeContextFlags ⚠️!== contextFlags) { return undefined; } if (!🔶️canReuseNode(node, parsingContext)) { return undefined; } return node; }
() { while (true) { ⚠️switch (🔷token()) { case 103: case 109: case 75: case 88: case 74: case 82: return true; case 108: case 136: return 🔷nextTokenIsIdentifierOnSameLine(); case 127: case 128: return 🔷nextTokenIsIdentifierOrStringLiteralOnSameLine(); case 116: case 119: case 123: case 111: case 112: case 113: case 130: 🔷nextToken(); if (scanner.🔶hasPrecedingLineBreak()) { return false; } continue; case 139: 🔷nextToken(); return 🔷token() === 16 || 🔷token() === 70 || 🔷token() === 83; case 90: 🔷nextToken(); return 🔷token() === 9 || 🔷token() === 38 || 🔷token() === 16 || ts.🔷tokenIsIdentifierOrKeyword(🔷token()); case 83: 🔷nextToken(); if (🔷token() === 57 || 🔷token() === 38 || 🔷token() === 16 || 🔷token() === 78 || 🔷token() === 117) { return true; } continue; case 114: 🔶nextToken(); continue; default: return false; } } }
Inlined functions:token
() { return currentToken; }nextTokenIsIdentifierOnSameLine
() { 🔷nextToken(); return !scanner.🔶hasPrecedingLineBreak() && 🔷isIdentifier(); }Inlined functions:nextToken
() { return currentToken = scanner.🔶scan(); }isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }nextTokenIsIdentifierOrStringLiteralOnSameLine
() { 🔷nextToken(); return !scanner.🔶hasPrecedingLineBreak() && (🔷isIdentifier() || 🔷token() === 9); }Inlined functions:nextToken
() { return currentToken = scanner.🔶scan(); }isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }
() { if (🔷token() === 24) { var result = 🔶createNode(203); 🔶nextToken(); return 🔶finishNode(result); } var fullStart = 🔷getNodePos(); var decorators = parseDecorators(); var modifiers = parseModifiers(true); var accessor = 🔷tryParseAccessorDeclaration(fullStart, decorators, modifiers); if (accessor) { return accessor; } if (🔶token() === 122) { return 🔶️parseConstructorDeclaration(fullStart, decorators, modifiers); } if (🔶isIndexSignature()) { return 🔶️parseIndexSignatureDeclaration(fullStart, decorators, modifiers); } if (ts.🔶tokenIsIdentifierOrKeyword(🔶token()) || 🔶token() === 9 || 🔶token() === 8 || 🔶token() === 38 || 🔶token() === 20) { return 🔶parsePropertyOrMethodDeclaration(fullStart, decorators, modifiers); } if (decorators || modifiers) { var name_13 = 🔶️createMissingNode(70, true, ts⚠️.Diagnostics⚠️.Declaration_expected); return 🔶parsePropertyDeclaration(fullStart, decorators, modifiers, name_13, undefined); } ts⚠️.Debug.⚠️fail("Should not have attempted to parse class member declaration."); }
Inlined functions:token
() { return currentToken; }getNodePos
() { return scanner.getStartPos(); }tryParseAccessorDeclaration
(fullStart, decorators, modifiers) { if (🔷parseContextualModifier(124)) { return 🔷parseAccessorDeclaration(151, fullStart, decorators, modifiers); } else if (🔶parseContextualModifier(133)) { return 🔶️parseAccessorDeclaration(152, fullStart, decorators, modifiers); } return undefined; }Inlined functions:parseContextualModifier
(t) { return 🔷token() === t && 🔷tryParse(nextTokenCanFollowModifier); }Inlined functions:token
() { return currentToken; }tryParse
(callback) { return 🔶speculationHelper(callback, false); }parseAccessorDeclaration
(kind, fullStart, decorators, modifiers) { var node = 🔷createNode(kind, fullStart); node.decorators = decorators; node.modifiers = modifiers; node.name = 🔷parsePropertyName(); 🔶fillSignature(55, false, false, false, node); node.body = 🔷parseFunctionBlockOrSemicolon(false, false); return 🔶addJSDocComment(🔶finishNode(node)); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parsePropertyName
() { return 🔷parsePropertyNameWorker(true); }Inlined functions:parsePropertyNameWorker
(allowComputedPropertyNames) { if (🔷token() === 9 || 🔷token() === 8) { return 🔷parseLiteralNode(true); } if (allowComputedPropertyNames && 🔷token() === 20) { return 🔷parseComputedPropertyName(); } return 🔷parseIdentifierName(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }parseLiteralNode
(internName) { return 🔶parseLiteralLikeNode(🔶token(), internName); }token
() { return currentToken; }parseComputedPropertyName
() { var node = 🔶createNode(142); 🔶parseExpected(20); node.expression = 🔶allowInAnd(parseExpression); 🔶parseExpected(21); return 🔶finishNode(node); }parseIdentifierName
() { return 🔶createIdentifier(ts.🔶tokenIsIdentifierOrKeyword(🔶token())); }parseFunctionBlockOrSemicolon
(isGenerator, isAsync, diagnosticMessage) { if (🔷token() !== 16 && 🔷canParseSemicolon()) { 🔷parseSemicolon(); return; } return 🔶parseFunctionBlock(isGenerator, isAsync, false, diagnosticMessage); }Inlined functions:token
() { return currentToken; }canParseSemicolon
() { if (🔷token() === 24) { return true; } return 🔷token() === 17 || 🔷token() === 1 || scanner.🔶hasPrecedingLineBreak(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }parseSemicolon
() { if (🔷canParseSemicolon()) { if (🔷token() === 24) { 🔷nextToken(); } return true; } else { return 🔶parseExpected(24); } }Inlined functions:canParseSemicolon
() { if (🔶token() === 24) { return true; } return 🔶token() === 17 || 🔶token() === 1 || scanner.🔶hasPrecedingLineBreak(); }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }
(extensions, candidate, failedLookupLocations, onlyRecordFailures, state) { if (state.traceEnabled) { 🔶️trace(state⚠️.host, ts⚠️.Diagnostics⚠️.Loading_module_as_file_Slash_folder_candidate_module_location_0, candidate); } var resolvedFromFile = !ts.🔷pathEndsWithDirectorySeparator(candidate) && 🔶loadModuleFromFile(extensions, candidate, failedLookupLocations, onlyRecordFailures, state); return resolvedFromFile || 🔶loadNodeModuleFromDirectory(extensions, candidate, failedLookupLocations, onlyRecordFailures, state); }
Inlined functions:pathEndsWithDirectorySeparator
(path) { return path.charCodeAt(path.length - 1) === directorySeparatorCharCode; }
(directory) { return ts.🔷combinePaths(directory, "package.json"); }
Inlined functions:combinePaths
(path1, path2) { if (!(path1 && path1.length)) return path2; if (!(path2 && path2.length)) return path1; if (🔶getRootLength(path2) !== 0) return path2; if (path1.charAt(path1.length - 1) === ts.directorySeparator) return path1 ⚠️+ path2; return path1 + ts.directorySeparator + path2; }
~recompile~
~recompile~
(fileName) { return host.🔶getCanonicalFileName(fileName); }
(fileName, basePath, getCanonicalFileName) { var nonCanonicalizedPath = 🔷isRootedDiskPath(fileName) ? 🔷normalizePath(fileName) : 🔶getNormalizedAbsolutePath(fileName, basePath); return 🔶getCanonicalFileName(nonCanonicalizedPath); }
Inlined functions:isRootedDiskPath
(path) { return 🔶getRootLength(path) !== 0; }normalizePath
(path) { path = 🔷normalizeSlashes(path); var rootLength = 🔶getRootLength(path); var root = path.🔶substr(0, rootLength); var normalized = 🔶getNormalizedParts(path, rootLength); if (normalized.length) { var joinedParts = root + normalized.🔶join(ts.directorySeparator); return 🔷pathEndsWithDirectorySeparator(path) ? joinedParts ⚠️+ ts⚠️.directorySeparator : joinedParts; } else { return root; } }Inlined functions:normalizeSlashes
(path) { return path.⚠️replace(🔶️/\x5c\x5c/g, "/"); }pathEndsWithDirectorySeparator
(path) { return path.charCodeAt(path.length - 1) === directorySeparatorCharCode; }
(path) { return 🔷toKey(path) 🔶️in files; }
Inlined functions:toKey
(path) { return keyMapper ? 🔶️keyMapper(path) : path; }
(sourceFile, moduleNameText, resolvedModule) { if (!sourceFile.resolvedModules) { sourceFile.resolvedModules ⚠️= ts.🔶createMap(); } sourceFile.resolvedModules[moduleNameText] ⚠️= resolvedModule; }
(pos) { return !(pos >= 0); }
- Deopt: <JS Function parseIncrementExpression (SharedFunctionInfo 0x98bdb9ce879)> (opt #209) @3, FP to SP delta: 168, caller sp: 0x7fff5fbfce08
- Deopt: <JS Function combinePaths (SharedFunctionInfo 0x30d407fbc2a1)> (opt #3) @16, FP to SP delta: 40, caller sp: 0x7fff5fbfd628
- Deopt: <JS Function getRootLength (SharedFunctionInfo 0x30d407fbb2e1)> (opt #10) @14, FP to SP delta: 24, caller sp: 0x7fff5fbfd628
(inExpressionContext) { var node = 🔷createNode(252); 🔷parseExpected(16); if (🔷token() !== 17) { node.expression = 🔶parseAssignmentExpressionOrHigher(); } if (inExpressionContext) { 🔷parseExpected(17); } else { 🔶parseExpected(17, undefined, false); 🔶scanJsxText(); } return 🔶finishNode(node); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }token
() { return currentToken; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
() { var node = 🔷createNode(216); 🔷parseExpected(95); if (!🔷canParseSemicolon()) { node.expression = 🔷allowInAnd(parseExpression); } 🔶parseSemicolon(); return 🔶finishNode(node); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }canParseSemicolon
() { if (🔷token() === 24) { return true; } return 🔷token() === 17 || 🔷token() === 1 || scanner.🔶hasPrecedingLineBreak(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }allowInAnd
(func) { return 🔷doOutsideOfContext(2048, func); }Inlined functions:doOutsideOfContext
(context, func) { var contextFlagsToClear = context & contextFlags; if (contextFlagsToClear) { 🔶setContextFlag(false, contextFlagsToClear); var result = 🔶️func(); 🔶setContextFlag(true, contextFlagsToClear); return result; } return 🔶️func(); }
(extensions, candidate, failedLookupLocations, onlyRecordFailures, state) { var packageJsonPath = 🔷pathToPackageJson(candidate); var directoryExists = !onlyRecordFailures && 🔷directoryProbablyExists(candidate, state.host); if (directoryExists && state.host.🔶fileExists(packageJsonPath)) { if (state.traceEnabled) { 🔶️trace(state⚠️.host, ts⚠️.Diagnostics⚠️.Found_package_json_at_0, packageJsonPath); } var typesFile = tryReadTypesSection(extensions, packageJsonPath, candidate, state); if (typesFile) { var onlyRecordFailures_1 = !🔷directoryProbablyExists(ts.🔷getDirectoryPath(typesFile), state.host); var fromFile = 🔷tryFile(typesFile, failedLookupLocations, onlyRecordFailures_1, state); if (fromFile) { return 🔷resolvedFromAnyFile(fromFile); } var x = 🔶tryAddingExtensions(typesFile, 0, failedLookupLocations, onlyRecordFailures_1, state); if (x) { return x; } } else { if (state.traceEnabled) { 🔶️trace(state⚠️.host, ts⚠️.Diagnostics⚠️.package_json_does_not_have_a_types_or_main_field); } } } else { if (state.traceEnabled) { 🔶️trace(state⚠️.host, ts⚠️.Diagnostics⚠️.File_0_does_not_exist, packageJsonPath); } failedLookupLocations.push(packageJsonPath); } return 🔶loadModuleFromFile(extensions, ts.🔷combinePaths(candidate, "index"), failedLookupLocations, !directoryExists, state); }
Inlined functions:pathToPackageJson
(directory) { return ts.🔷combinePaths(directory, "package.json"); }Inlined functions:combinePaths
(path1, path2) { if (!(path1 && path1.length)) return path2; if (!(path2 && path2⚠️.length)) return path1; if (🔶getRootLength(path2) !== 0) return path2; if (path1.charAt(path1.length - 1) === ts.directorySeparator) return path1 + path2; return path1 + ts.directorySeparator + path2; }directoryProbablyExists
(directoryName, host) { return !host.directoryExists || host.🔶directoryExists(directoryName); }getDirectoryPath
(path) { return path.🔶substr(0, Math.max(🔶getRootLength(path), path.🔶lastIndexOf(ts.directorySeparator))); }directoryProbablyExists
(directoryName, host) { return !host.directoryExists || host.🔶directoryExists(directoryName); }tryFile
(fileName, failedLookupLocations, onlyRecordFailures, state) { if (!onlyRecordFailures && state.host.🔶fileExists(fileName)) { if (state.traceEnabled) { 🔶️trace(state⚠️.host, ts⚠️.Diagnostics⚠️.File_0_exist_use_it_as_a_name_resolution_result, fileName); } return fileName; } else { if (state.traceEnabled) { 🔶️trace(state⚠️.host, ts⚠️.Diagnostics⚠️.File_0_does_not_exist, fileName); } failedLookupLocations.push(fileName); return undefined; } }resolvedFromAnyFile
(path) { return { path: path, extension: ts.🔷extensionFromPath(path) }; }Inlined functions:extensionFromPath
(path) { var ext = 🔷tryGetExtensionFromPath(path); if (ext !== undefined) { return ext; } Debug.🔶️fail("File " + path + " has unknown extension."); }Inlined functions:tryGetExtensionFromPath
(path) { if (🔷fileExtensionIs(path, ".d.ts")) { return ts.Extension.Dts; } if (🔶fileExtensionIs(path, ".ts")) { return ts⚠️.Extension⚠️.Ts; } if (🔶fileExtensionIs(path, ".tsx")) { return ts⚠️.Extension⚠️.Tsx; } if (🔶fileExtensionIs(path, ".js")) { return ts⚠️.Extension⚠️.Js; } if (🔶fileExtensionIs(path, ".jsx")) { return ts⚠️.Extension⚠️.Jsx; } }Inlined functions:fileExtensionIs
(path, extension) { return path.length > extension.length && 🔷endsWith(path, extension); }Inlined functions:endsWith
(str, suffix) { var expectedPos = str.length - suffix.length; return expectedPos >= 0 && str.🔶indexOf(suffix, expectedPos) === expectedPos; }combinePaths
(path1, path2) { if (!(path1 && path1.length)) return path2; if (!(path2 && path2⚠️.length)) return path1; if (🔶getRootLength(path2) !== 0) return path2; if (path1.charAt(path1.length - 1) === ts.directorySeparator) return path1 + path2; return path1 + ts.directorySeparator + path2; }
(precedence, leftOperand) { while (true) { 🔷reScanGreaterToken(); var newPrecedence = 🔶getBinaryOperatorPrecedence(); var consumeCurrentOperator = 🔷token() === 39 ? newPrecedence ⚠️>= precedence : newPrecedence > precedence; if (!consumeCurrentOperator) { break; } if (🔷token() === 91 && 🔷inDisallowInContext()) { break; } if (🔷token() === 117) { if (scanner.🔶hasPrecedingLineBreak()) { break; } else { 🔷nextToken(); leftOperand = 🔷makeAsExpression(leftOperand, 🔷parseType()); } } else { leftOperand = 🔶makeBinaryExpression(leftOperand, 🔷parseTokenNode(), 🔶parseBinaryExpressionOrHigher(newPrecedence)); } } return leftOperand; }
Inlined functions:reScanGreaterToken
() { return currentToken = scanner.🔶reScanGreaterToken(); }token
() { return currentToken; }token
() { return currentToken; }inDisallowInContext
() { return 🔷inContext(2048); }Inlined functions:inContext
(flags) { return (contextFlags & flags) !== 0; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseType
() { return 🔷doOutsideOfContext(20480, parseTypeWorker); }Inlined functions:doOutsideOfContext
(context, func) { var contextFlagsToClear = context & contextFlags; if (contextFlagsToClear) { 🔶setContextFlag(false, contextFlagsToClear); var result = 🔶️func(); 🔶setContextFlag(true, contextFlagsToClear); return result; } return 🔶️func(); }makeAsExpression
(left, right) { var node = 🔷createNode(200, left⚠️.pos); node.expression = left; node.type = right; return 🔷finishNode(node); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔶nextToken(); return 🔶finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔶️new IdentifierConstructor(kind, pos, pos) : 🔶️new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
() { startPos = tokenPos = pos; if (pos >= end) { return token = 1; } var char = text.charCodeAt(pos); if (char === 60) { if (text.charCodeAt(pos + 1) === 47) { pos += 2; return token = 27; } pos++; return token = 26; } if (char === 123) { pos++; return token = 16; } while (pos < end) { pos++; char = text.charCodeAt(pos); if ((char === 123) || (char === 60)) { break; } } return token = 10; }
- Deopt: <JS Function parseTokenNode (SharedFunctionInfo 0x98bdb9c7df9)> (opt #239) @32, FP to SP delta: 64, caller sp: 0x7fff5fbfbae8
(t, reportAtCurrentPosition, diagnosticMessage, arg0) { return 🔷parseOptionalToken(t) || 🔶️createMissingNode(t, reportAtCurrentPosition, diagnosticMessage, arg0); }
Inlined functions:parseOptionalToken
(t) { if (🔷token() === t) { return 🔷parseTokenNode(); } return undefined; }Inlined functions:token
() { return currentToken; }parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔷nextToken(); return 🔷finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags |= 32768; } return node; }
~recompile~
~recompile~
~recompile~
(permitInvalidConstAsModifier) { var modifiers; while (true) { var modifierStart = scanner.getStartPos(); var modifierKind = 🔷token(); if (🔷token() === 75 && permitInvalidConstAsModifier) { if (!🔶tryParse(nextTokenIsOnSameLineAndCanFollowModifier)) { break; } } else { if (!🔷parseAnyContextualModifier()) { break; } } var modifier = 🔷finishNode(🔷createNode(modifierKind, modifierStart)); if (!modifiers) { modifiers = 🔷createNodeArray([modifier], modifierStart); } else { modifiers.push(modifier); } } if (modifiers) { modifiers.end = scanner.🔶getStartPos(); } return modifiers; }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }parseAnyContextualModifier
() { return ts.🔷isModifierKind(🔷token()) && 🔷tryParse(nextTokenCanFollowModifier); }Inlined functions:token
() { return currentToken; }isModifierKind
(token) { switch (token) { case 116: case 119: case 75: case 123: case 78: case 83: case 113: case 111: case 112: case 130: case 114: return true; } return false; }tryParse
(callback) { return 🔶speculationHelper(callback, false); }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }createNodeArray
(elements, pos) { var array = (elements || []); if (!(pos >= 0)) { pos = 🔷getNodePos(); } array.pos ⚠️= pos; array.end = pos; return array; }Inlined functions:getNodePos
() { return scanner.🔶getStartPos(); }
() { var node = 🔷createNode(174); node.dotDotDotToken = 🔷parseOptionalToken(23); var tokenIsIdentifier = 🔶isIdentifier(); var propertyName = 🔶parsePropertyName(); if (tokenIsIdentifier && 🔶token() !== 55) { node.name = propertyName; } else { 🔶parseExpected(55); node.propertyName = propertyName; node.name = 🔶parseIdentifierOrPattern(); } node.initializer = 🔶parseBindingElementInitializer(false); return 🔶finishNode(node); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseOptionalToken
(t) { if (🔷token() === t) { return 🔷parseTokenNode(); } return undefined; }Inlined functions:token
() { return currentToken; }parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔶nextToken(); return 🔶finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
(array1, array2) { if (!🔷some(array2)) return array1; if (!🔶️some(array1)) return array2; return array1.🔶️concat(array2); }
Inlined functions:some
(array, predicate) { if (array) { if (predicate) { for (var _i = 0, array_5 = array; _i ⚠️< array_5⚠️.length; _i++) { var v = array_5⚠️[_i]; if (🔶️predicate(v)) { return true; } } } else { return array.length > 0; } } return false; }
(scriptKind) { return scriptKind === 4 || scriptKind === 2 || scriptKind === 1 ? 1 : 0; }
(errorCallback) { onError = errorCallback; }
() { 🔷nextToken(); if (🔷token() === 130) { 🔶nextToken(); } return 🔷token() === 20 && 🔷nextTokenIsIdentifier() && 🔷nextToken() === 91; }
Inlined functions:nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }token
() { return currentToken; }nextTokenIsIdentifier
() { 🔷nextToken(); return 🔷isIdentifier(); }Inlined functions:nextToken
() { return currentToken = scanner.🔶scan(); }isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }
(map, key) { return hasOwnProperty.🔶️call(map, key); }
(inExpressionContext) { var node = 🔷createNode(249); 🔷parseExpected(27); node.tagName = 🔷parseJsxElementName(); if (inExpressionContext) { 🔶parseExpected(28); } else { 🔶parseExpected(28, undefined, false); 🔶scanJsxText(); } return 🔶finishNode(node); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }parseJsxElementName
() { 🔷scanJsxIdentifier(); var expression = 🔷token() === 98 ? 🔶parseTokenNode() : 🔷parseIdentifierName(); while (🔶parseOptional(22)) { var propertyAccess = 🔶createNode(177, expression⚠️.pos); propertyAccess.expression ⚠️= expression; propertyAccess.name ⚠️= parseRightSideOfDot(true); expression = 🔶finishNode(propertyAccess); } return expression; }Inlined functions:scanJsxIdentifier
() { return currentToken = scanner.🔶scanJsxIdentifier(); }token
() { return currentToken; }parseIdentifierName
() { return 🔷createIdentifier(ts.🔷tokenIsIdentifierOrKeyword(🔷token())); }Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }createIdentifier
(isIdentifier, diagnosticMessage) { identifierCount++; if (isIdentifier) { var node = 🔷createNode(70); if (🔶token() !== 70) { node.originalKeywordKind = 🔶token(); } node.text = 🔶️internIdentifier(scanner.🔶getTokenValue()); 🔶nextToken(); return 🔶finishNode(node); } return 🔶️createMissingNode(70, false, diagnosticMessage || ts.Diagnostics.Identifier_expected); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔶️new IdentifierConstructor(kind, pos, pos) : 🔶️new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
(lhs, rhs) { if (lhs.kind !== rhs.kind) { return false; } if (lhs.kind === 70) { return lhs.text === rhs.text; } if (lhs⚠️.kind ⚠️=== 98) { return true; } return lhs⚠️.name⚠️.text ⚠️=== rhs⚠️.name⚠️.text && 🔶tagNamesAreEquivalent(lhs⚠️.expression, rhs⚠️.expression); }
- Deopt: <JS Function parseIncrementExpression (SharedFunctionInfo 0x98bdb9ce879)> (opt #320) @49, FP to SP delta: 168, caller sp: 0x7fff5fbfcb90
(isAsync) { if (🔷token() === 16) { return 🔶parseFunctionBlock(false, isAsync, false); } if (🔷token() !== 24 && 🔷token() !== 88 && 🔷token() !== 74 && 🔶isStartOfStatement() && !🔷isStartOfExpressionStatement()) { return 🔶parseFunctionBlock(false, isAsync, true); } return isAsync ? 🔶️doInAwaitContext(parseAssignmentExpressionOrHigher) : 🔷doOutsideOfAwaitContext(parseAssignmentExpressionOrHigher); }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isStartOfExpressionStatement
() { return 🔷token() !== 16 && 🔷token() !== 88 && 🔷token() !== 74 && 🔷token() !== 56 && 🔶isStartOfExpression(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }doOutsideOfAwaitContext
(func) { return 🔷doOutsideOfContext(16384, func); }Inlined functions:doOutsideOfContext
(context, func) { var contextFlagsToClear = context & contextFlags; if (contextFlagsToClear) { 🔶setContextFlag(false, contextFlagsToClear); var result = 🔶️func(); 🔶setContextFlag(true, contextFlagsToClear); return result; } return 🔶️func(); }
() { var decorators; while (true) { var decoratorStart = 🔷getNodePos(); if (!🔷parseOptional(56)) { break; } var decorator = 🔷createNode(145, decoratorStart); decorator.expression = 🔷doInDecoratorContext(parseLeftHandSideExpressionOrHigher); 🔶finishNode(decorator); if (!decorators) { decorators = 🔶createNodeArray([decorator], decoratorStart); } else { decorators.🔶️push(decorator); } } if (decorators) { decorators.end = 🔶getNodeEnd(); } return decorators; }
Inlined functions:getNodePos
() { return scanner.🔶getStartPos(); }parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }doInDecoratorContext
(func) { return 🔷doInsideOfContext(8192, func); }Inlined functions:doInsideOfContext
(context, func) { var contextFlagsToSet = context & ~contextFlags; if (contextFlagsToSet) { 🔷setContextFlag(true, contextFlagsToSet); var result = 🔷func(); 🔷setContextFlag(false, contextFlagsToSet); return result; } return 🔶️func(); }Inlined functions:setContextFlag
(val, flag) { if (val) { contextFlags |= flag; } else { contextFlags &= ~flag; } }func
() { var expression = 🔷token() === 96 ? 🔷parseSuperExpression() : 🔷parseMemberExpressionOrHigher(); return 🔶️parseCallExpressionRest(expression); }Inlined functions:token
() { return currentToken; }parseSuperExpression
() { var expression = 🔷parseTokenNode(); if (🔷token() === 18 || 🔷token() === 22 || 🔶token() ⚠️=== 20) { return expression; } var node = 🔶createNode(177, expression⚠️.pos); node.expression ⚠️= expression; 🔶parseExpectedToken(22, false, ts⚠️.Diagnostics⚠️.super_must_be_followed_by_an_argument_list_or_member_access); node.name ⚠️= parseRightSideOfDot(true); return 🔶finishNode(node); }Inlined functions:parseTokenNode
() { var node = 🔶createNode(🔶token()); 🔶nextToken(); return 🔶finishNode(node); }token
() { return currentToken; }token
() { return currentToken; }parseMemberExpressionOrHigher
() { var expression = 🔶parsePrimaryExpression(); return 🔶parseMemberExpressionRest(expression); }setContextFlag
(val, flag) { if (val) { contextFlags |= flag; } else { contextFlags &= ~flag; } }
(text, pos) { ts.Debug.🔶️assert(pos >= 0); if (pos === 0 || 🔷isLineBreak(text.charCodeAt(pos - 1))) { var ch = text.🔶️charCodeAt(pos); if ((pos ⚠️+ mergeConflictMarkerLength) ⚠️< text⚠️.length) { for (var i = 0, n = mergeConflictMarkerLength; i ⚠️< n; i++) { if (text.🔶️charCodeAt(pos ⚠️+ i) ⚠️!== ch) { return false; } } return ch ⚠️=== 61 || text.🔶️charCodeAt(pos ⚠️+ mergeConflictMarkerLength) ⚠️=== 32; } } return false; }
Inlined functions:isLineBreak
(ch) { return ch === 10 || ch === 13 || ch === 8232 || ch === 8233; }
() { var node = 🔷createNode(176); 🔷parseExpected(16); if (scanner.🔶hasPrecedingLineBreak()) { node.multiLine = true; } node.properties = 🔶parseDelimitedList(12, parseObjectLiteralElement, true); 🔷parseExpected(17); return 🔶finishNode(node); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
(moduleName, containingFile, compilerOptions, host) { var traceEnabled = 🔷isTraceEnabled(compilerOptions, host); if (traceEnabled) { 🔶️trace(host, ts⚠️.Diagnostics⚠️.Resolving_module_0_from_1, moduleName, containingFile); } var moduleResolution = compilerOptions.moduleResolution; if (moduleResolution === undefined) { moduleResolution = ts.🔷getEmitModuleKind(compilerOptions) === ts.ModuleKind.CommonJS ? ts.ModuleResolutionKind.NodeJs : ts⚠️.ModuleResolutionKind⚠️.Classic; if (traceEnabled) { 🔶️trace(host, ts⚠️.Diagnostics⚠️.Module_resolution_kind_is_not_specified_using_0, ts⚠️.ModuleResolutionKind⚠️[moduleResolution]); } } else { if (traceEnabled) { 🔶️trace(host, ts⚠️.Diagnostics⚠️.Explicitly_specified_module_resolution_kind_Colon_0, ts⚠️.ModuleResolutionKind⚠️[moduleResolution]); } } var result; ⚠️switch (moduleResolution) { case ts.ModuleResolutionKind.NodeJs: result = 🔶nodeModuleNameResolver(moduleName, containingFile, compilerOptions, host); break; case ts⚠️.ModuleResolutionKind⚠️.Classic: result = 🔶️classicNameResolver(moduleName, containingFile, compilerOptions, host); break; } if (traceEnabled) { if (result⚠️.resolvedModule) { 🔶️trace(host, ts⚠️.Diagnostics⚠️.Module_name_0_was_successfully_resolved_to_1, moduleName, result⚠️.resolvedModule⚠️.resolvedFileName); } else { 🔶️trace(host, ts⚠️.Diagnostics⚠️.Module_name_0_was_not_resolved, moduleName); } } return result; }
Inlined functions:isTraceEnabled
(compilerOptions, host) { return compilerOptions.traceResolution && host⚠️.trace !== undefined; }getEmitModuleKind
(compilerOptions) { return typeof compilerOptions.module === "number" ? compilerOptions.module : 🔶getEmitScriptTarget(compilerOptions) ⚠️>= 2 ? ts⚠️.ModuleKind⚠️.ES2015 : ts⚠️.ModuleKind⚠️.CommonJS; }
~recompile~
~recompile~
(moduleName, containingFile, compilerOptions, host) { var containingDirectory = ts.🔷getDirectoryPath(containingFile); var traceEnabled = 🔷isTraceEnabled(compilerOptions, host); var failedLookupLocations = []; var state = { compilerOptions: compilerOptions, host: host, traceEnabled: traceEnabled }; var result = 🔶️tryResolve(0) || 🔶️tryResolve(1); if (result) { var resolved = result.resolved, isExternalLibraryImport = result.isExternalLibraryImport; return 🔷createResolvedModuleWithFailedLookupLocations(resolved, isExternalLibraryImport, failedLookupLocations); } return { resolvedModule: undefined, failedLookupLocations: failedLookupLocations }; 🔶️function tryResolve(extensions) { var resolved = tryLoadModuleUsingOptionalResolutionSettings(extensions, moduleName, containingDirectory, nodeLoadModuleByRelativeName, failedLookupLocations, state); if (resolved) { return { resolved: resolved, isExternalLibraryImport: false }; } if (moduleHasNonRelativeName(moduleName)) { if (traceEnabled) { trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder, moduleName); } var resolved_1 = loadModuleFromNodeModules(extensions, moduleName, containingDirectory, failedLookupLocations, state); return resolved_1 && { resolved: { path: realpath(resolved_1.path, host, traceEnabled), extension: resolved_1.extension }, isExternalLibraryImport: true }; } else { var candidate = ts.normalizePath(ts.combinePaths(containingDirectory, moduleName)); var resolved_2 = nodeLoadModuleByRelativeName(extensions, candidate, failedLookupLocations, false, state); return resolved_2 && { resolved: resolved_2, isExternalLibraryImport: false }; } } }
Inlined functions:getDirectoryPath
(path) { return path.🔶substr(0, Math.max(🔶getRootLength(path), path.🔶lastIndexOf(ts.directorySeparator))); }isTraceEnabled
(compilerOptions, host) { return compilerOptions.traceResolution && host⚠️.trace !== undefined; }createResolvedModuleWithFailedLookupLocations
(resolved, isExternalLibraryImport, failedLookupLocations) { return { resolvedModule: resolved && 🔷resolvedModuleFromResolved(resolved, isExternalLibraryImport), failedLookupLocations: failedLookupLocations }; }Inlined functions:resolvedModuleFromResolved
(_a, isExternalLibraryImport) { var path = _a.path, extension = _a.extension; return { resolvedFileName: path, extension: extension, isExternalLibraryImport: isExternalLibraryImport }; }
~recompile~
~recompile~
(options, _a) { var extension = _a.extension; switch (extension) { case ts.Extension.Ts: case ts.Extension.Dts: return undefined; case ts.Extension.Tsx: return 🔶️needJsx(); case ts.Extension.Jsx: return 🔶️needJsx() || 🔶️needAllowJs(); case ts.Extension.Js: return 🔶️needAllowJs(); } 🔶️function needJsx() { return options.jsx ? undefined : ts.Diagnostics.Module_0_was_resolved_to_1_but_jsx_is_not_set; } 🔶️function needAllowJs() { return options.allowJs ? undefined : ts.Diagnostics.Module_0_was_resolved_to_1_but_allowJs_is_not_set; } }
- Deopt: <JS Function getDeclarationOfAliasSymbol (SharedFunctionInfo 0x3f6f7cfa8519)> (opt #983) @4, FP to SP delta: 80, caller sp: 0x7fff5fbfcd60
(fileName) { return ts.sys.🔶readFile(fileName); }
() { var node = 🔷createNode(199); node.expression = 🔷parseLeftHandSideExpressionOrHigher(); if (🔶token() === 26) { node.typeArguments = 🔶parseBracketedList(19, parseType, 26, 28); } return 🔶finishNode(node); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseLeftHandSideExpressionOrHigher
() { var expression = 🔷token() === 96 ? 🔷parseSuperExpression() : 🔶parseMemberExpressionOrHigher(); return 🔶️parseCallExpressionRest(expression); }Inlined functions:token
() { return currentToken; }parseSuperExpression
() { var expression = 🔷parseTokenNode(); if (🔶token() === 18 || 🔶token() === 22 || 🔶token() ⚠️=== 20) { return expression; } var node = 🔶createNode(177, expression⚠️.pos); node.expression ⚠️= expression; 🔶parseExpectedToken(22, false, ts⚠️.Diagnostics⚠️.super_must_be_followed_by_an_argument_list_or_member_access); node.name ⚠️= parseRightSideOfDot(true); return 🔶finishNode(node); }Inlined functions:parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔶nextToken(); return 🔶finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
() { var node = 🔷createNode(161); node.members = 🔷parseObjectTypeMembers(); return 🔶finishNode(node); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseObjectTypeMembers
() { var members; if (🔷parseExpected(16)) { members = 🔶parseList(4, parseTypeMember); 🔷parseExpected(17); } else { members = 🔶️createMissingList(); } return members; }Inlined functions:parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
() { var fullStart = scanner.getStartPos(); var dotDotDotToken = 🔷parseOptionalToken(23); if (dotDotDotToken) { var spreadElement = 🔶createNode(259, fullStart); spreadElement.expression ⚠️= parseAssignmentExpressionOrHigher(); return 🔶addJSDocComment(🔶finishNode(spreadElement)); } var decorators = parseDecorators(); var modifiers = parseModifiers(); var accessor = 🔷tryParseAccessorDeclaration(fullStart, decorators, modifiers); if (accessor) { return accessor; } var asteriskToken = 🔶parseOptionalToken(38); var tokenIsIdentifier = 🔶isIdentifier(); var propertyName = 🔶parsePropertyName(); var questionToken = 🔶parseOptionalToken(54); if (asteriskToken || 🔶token() === 18 || 🔶token() === 26) { return 🔶parseMethodDeclaration(fullStart, decorators, modifiers, asteriskToken, propertyName, questionToken); } var isShorthandPropertyAssignment = tokenIsIdentifier && (🔶token() === 25 || 🔶token() === 17 || 🔶token() === 57); if (isShorthandPropertyAssignment) { var shorthandDeclaration = createNode(258, fullStart); shorthandDeclaration.name = propertyName; shorthandDeclaration.questionToken = questionToken; var equalsToken = 🔶parseOptionalToken(57); if (equalsToken) { shorthandDeclaration.equalsToken ⚠️= equalsToken; shorthandDeclaration.objectAssignmentInitializer ⚠️= allowInAnd(parseAssignmentExpressionOrHigher); } return 🔶addJSDocComment(🔶finishNode(shorthandDeclaration)); } else { var propertyAssignment = createNode(257, fullStart); propertyAssignment.modifiers = modifiers; propertyAssignment.name = propertyName; propertyAssignment.questionToken = questionToken; 🔶parseExpected(55); propertyAssignment.initializer = 🔶allowInAnd(parseAssignmentExpressionOrHigher); return 🔶addJSDocComment(🔶finishNode(propertyAssignment)); } }
Inlined functions:parseOptionalToken
(t) { if (🔷token() === t) { return 🔷parseTokenNode(); } return undefined; }Inlined functions:token
() { return currentToken; }parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔷nextToken(); return 🔷finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }tryParseAccessorDeclaration
(fullStart, decorators, modifiers) { if (🔷parseContextualModifier(124)) { return 🔷parseAccessorDeclaration(151, fullStart, decorators, modifiers); } else if (🔶parseContextualModifier(133)) { return 🔶️parseAccessorDeclaration(152, fullStart, decorators, modifiers); } return undefined; }Inlined functions:parseContextualModifier
(t) { return 🔷token() === t && 🔷tryParse(nextTokenCanFollowModifier); }Inlined functions:token
() { return currentToken; }tryParse
(callback) { return 🔶speculationHelper(callback, false); }parseAccessorDeclaration
(kind, fullStart, decorators, modifiers) { var node = 🔷createNode(kind, fullStart); node.decorators = decorators; node.modifiers = modifiers; node.name = 🔶parsePropertyName(); 🔶fillSignature(55, false, false, false, node); node.body = 🔶parseFunctionBlockOrSemicolon(false, false); return 🔶addJSDocComment(🔶finishNode(node)); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔶️new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
(text, pos) { return 🔷reduceEachTrailingCommentRange(text, pos, appendCommentRange, undefined, undefined); }
Inlined functions:reduceEachTrailingCommentRange
(text, pos, cb, state, initial) { return 🔶iterateCommentRanges(true, text, pos, true, cb, state, initial); }
() { if (🔷token() === 84 || 🔷token() === 107) { var node = 🔷createNode(255); node.token = 🔷token(); 🔷nextToken(); node.types = 🔶parseDelimitedList(7, parseExpressionWithTypeArguments); return 🔷finishNode(node); } return undefined; }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }
() { switch (🔷token()) { case 36: case 37: case 51: case 50: case 79: case 102: case 104: case 120: return false; case 26: if (sourceFile.languageVariant !== 1) { return false; } default: return true; } }
Inlined functions:token
() { return currentToken; }
~recompile~
- Deopt: <JS Function tryExtension (SharedFunctionInfo 0x1e745f8519c1)> (opt #199) @19, FP to SP delta: 64, caller sp: 0x7fff5fbfdbc8
- Deopt: <JS Function parseImportClause (SharedFunctionInfo 0x98bdb9d3af9)> (opt #269) @48, FP to SP delta: 80, caller sp: 0x7fff5fbfda68
~recompile~
(fileName, path, isDefaultLib, refFile, refPos, refEnd) { if (filesByName.🔶contains(path)) { var file_1 = filesByName.get(path); if (file_1 && options.forceConsistentCasingInFileNames && ts.🔶getNormalizedAbsolutePath(file_1⚠️.fileName, currentDirectory) ⚠️!== ts.🔶getNormalizedAbsolutePath(fileName, currentDirectory)) { 🔶️reportFileNamesDifferOnlyInCasingError(fileName, file_1⚠️.fileName, refFile, refPos, refEnd); } if (file_1 && sourceFilesFoundSearchingNodeModules⚠️[file_1⚠️.path] && currentNodeModulesDepth == 0) { sourceFilesFoundSearchingNodeModules[file_1.path] ⚠️= false; if (!options.noResolve) { 🔶processReferencedFiles(file_1, isDefaultLib); 🔶️processTypeReferenceDirectives(file_1); } modulesWithElidedImports[file_1.path] ⚠️= false; 🔶️processImportedModules(file_1); } else if (file_1 && modulesWithElidedImports⚠️[file_1⚠️.path]) { if (currentNodeModulesDepth ⚠️< maxNodeModuleJsDepth) { modulesWithElidedImports[file_1⚠️.path] ⚠️= false; 🔶️processImportedModules(file_1); } } return file_1; } var file = host.getSourceFile(fileName, options.target, 🔶️function (hostErrorMessage) { if (refFile !== undefined && refPos !== undefined && refEnd !== undefined) { fileProcessingDiagnostics.add(ts.createFileDiagnostic(refFile, refPos, refEnd - refPos, ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage)); } else { fileProcessingDiagnostics.add(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_read_file_0_Colon_1, fileName, hostErrorMessage)); } }); filesByName.🔶️set(path, file); if (file) { sourceFilesFoundSearchingNodeModules[path] ⚠️= (currentNodeModulesDepth > 0); file.path ⚠️= path; if (host.🔶useCaseSensitiveFileNames()) { var existingFile = filesByNameIgnoreCase.⚠️get(path); if (existingFile) { 🔶️reportFileNamesDifferOnlyInCasingError(fileName, existingFile⚠️.fileName, refFile, refPos, refEnd); } else { filesByNameIgnoreCase.🔶️set(path, file); } } skipDefaultLib = skipDefaultLib || file⚠️.hasNoDefaultLib; if (!options.noResolve) { 🔶processReferencedFiles(file, isDefaultLib); 🔶️processTypeReferenceDirectives(file); } 🔶️processImportedModules(file); if (isDefaultLib) { files.🔶️unshift(file); } else { files.🔶️push(file); } } return file; }
() { switch (🔷token()) { case 36: case 37: case 51: case 50: return 🔷parsePrefixUnaryExpression(); case 79: return 🔶️parseDeleteExpression(); case 102: return 🔷parseTypeOfExpression(); case 104: return 🔶️parseVoidExpression(); case 26: return 🔶️parseTypeAssertion(); case 120: if (🔶️isAwaitExpression()) { return 🔶️parseAwaitExpression(); } default: return 🔶parseIncrementExpression(); } }
Inlined functions:token
() { return currentToken; }parsePrefixUnaryExpression
() { var node = 🔷createNode(190); node.operator = 🔷token(); 🔷nextToken(); node.operand = 🔶parseSimpleUnaryExpression(); return 🔷finishNode(node); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }parseTypeOfExpression
() { var node = 🔷createNode(187); 🔶nextToken(); node.expression = 🔶parseSimpleUnaryExpression(); return 🔶finishNode(node); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
() { return 🔷token() === 84 || 🔷token() === 107; }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }
~recompile~
~recompile~
() { var type = 🔶parseNonArrayType(); while (!scanner.🔶hasPrecedingLineBreak() && 🔷parseOptional(20)) { if (🔶isStartOfType()) { var node = 🔷createNode(169, type.pos); node.objectType = type; node.indexType = 🔷parseType(); 🔷parseExpected(21); type = 🔶finishNode(node); } else { var node = 🔶createNode(162, type⚠️.pos); node.elementType = type; 🔶parseExpected(21); type = 🔶finishNode(node); } } return type; }
Inlined functions:parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseType
() { return 🔷doOutsideOfContext(20480, parseTypeWorker); }Inlined functions:doOutsideOfContext
(context, func) { var contextFlagsToClear = context & contextFlags; if (contextFlagsToClear) { 🔶setContextFlag(false, contextFlagsToClear); var result = 🔶️func(); 🔶setContextFlag(true, contextFlagsToClear); return result; } return 🔶️func(); }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }
(fullStart, decorators, modifiers) { var node = 🔷createNode(225, fullStart); node.decorators = decorators; node.modifiers = modifiers; 🔷parseExpected(88); node.asteriskToken = 🔷parseOptionalToken(38); node.name = ts.🔶hasModifier(node, 512) ? 🔶️parseOptionalIdentifier() : 🔶parseIdentifier(); var isGenerator = !!node.asteriskToken; var isAsync = ts.🔶hasModifier(node, 256); 🔶fillSignature(55, isGenerator, isAsync, false, node); node.body = 🔶parseFunctionBlockOrSemicolon(isGenerator, isAsync, ts.Diagnostics.or_expected); return 🔶addJSDocComment(🔶finishNode(node)); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }parseOptionalToken
(t) { if (🔷token() === t) { return 🔷parseTokenNode(); } return undefined; }Inlined functions:token
() { return currentToken; }parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔶nextToken(); return 🔶finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔶️new IdentifierConstructor(kind, pos, pos) : 🔶️new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
~recompile~
~recompile~
~recompile~
(node) { var comments = ts.getJSDocCommentRanges(node, sourceFile.text); if (comments) { for (var _i = 0, comments_2 = comments; _i < comments_2.length; _i++) { var comment = comments_2[_i]; var jsDoc = JSDocParser.🔶parseJSDocComment(node, comment.pos, comment.end - comment.pos); if (!jsDoc) { continue; } if (!node⚠️.jsDoc) { node.jsDoc ⚠️= []; } node.jsDoc.push(jsDoc); } } return node; }
~recompile~
~recompile~
~recompile~
(path) { return _fs.🔶realpathSync(path); }
- Deopt: <JS Function findSourceFile (SharedFunctionInfo 0x3901d38f6429)> (opt #361) @51, FP to SP delta: 96, caller sp: 0x7fff5fbfdc60
- Deopt: <JS Function findSourceFile (SharedFunctionInfo 0x3901d38f6429)> (opt #361) @36, FP to SP delta: 96, caller sp: 0x7fff5fbfdda0
() { if (ts.🔷isModifierKind(🔷token())) { 🔶parseModifiers(); } if (🔷isIdentifier() || 🔷token() === 98) { 🔷nextToken(); return true; } if (🔷token() === 20 || 🔷token() === 16) { var previousErrorCount = parseDiagnostics⚠️.length; 🔶parseIdentifierOrPattern(); return previousErrorCount ⚠️=== parseDiagnostics⚠️.length; } return false; }
Inlined functions:token
() { return currentToken; }isModifierKind
(token) { switch (token) { case 116: case 119: case 75: case 123: case 78: case 83: case 113: case 111: case 112: case 130: case 114: return true; } return false; }isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }token
() { return currentToken; }
(inForStatementInitializer) { var node = 🔷createNode(224); switch (🔷token()) { case 103: break; case 109: node.flags |= 1; break; case 75: node.flags |= 2; break; default: ts⚠️.Debug.⚠️fail(); } 🔷nextToken(); if (🔷token() === 140 && 🔶lookAhead(canFollowContextualOfKeyword)) { node.declarations ⚠️= createMissingList(); } else { var savedDisallowIn = 🔷inDisallowInContext(); 🔷setDisallowInContext(inForStatementInitializer); node.declarations = 🔶parseDelimitedList(8, parseVariableDeclaration); 🔷setDisallowInContext(savedDisallowIn); } return 🔷finishNode(node); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }inDisallowInContext
() { return 🔷inContext(2048); }Inlined functions:inContext
(flags) { return (contextFlags & flags) !== 0; }setDisallowInContext
(val) { 🔷setContextFlag(val, 2048); }Inlined functions:setContextFlag
(val, flag) { if (val) { contextFlags |= flag; } else { contextFlags &= ~flag; } }setDisallowInContext
(val) { 🔷setContextFlag(val, 2048); }Inlined functions:setContextFlag
(val, flag) { if (val) { contextFlags |= flag; } else { contextFlags &= ~flag; } }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }
() { var node = 🔷createNode(167); 🔷nextToken(); return 🔷finishNode(node); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }
() { 🔷nextToken(); if (🔷token() === 19 || 🔷token() === 23) { return true; } if (🔷skipParameterStart()) { if (🔷token() === 55 || 🔷token() === 25 || 🔷token() === 54 || 🔷token() === 57) { return true; } if (🔷token() === 19) { 🔶nextToken(); if (🔶token() ⚠️=== 35) { return true; } } } return false; }
Inlined functions:nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }token
() { return currentToken; }skipParameterStart
() { if (ts.🔷isModifierKind(🔷token())) { 🔶parseModifiers(); } if (🔷isIdentifier() || 🔷token() === 98) { 🔷nextToken(); return true; } if (🔷token() === 20 || 🔷token() === 16) { var previousErrorCount = parseDiagnostics⚠️.length; 🔶parseIdentifierOrPattern(); return previousErrorCount ⚠️=== parseDiagnostics⚠️.length; } return false; }Inlined functions:token
() { return currentToken; }isModifierKind
(token) { switch (token) { case 116: case 119: case 75: case 123: case 78: case 83: case 113: case 111: case 112: case 130: case 114: return true; } return false; }isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }
() { return 🔶createJSDocIdentifier(ts.🔷tokenIsIdentifierOrKeyword(🔷token())); }
Inlined functions:token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }
(moduleName) { return 🔶️/^\x5c.\x5c.?($|[\🔶️x5c\x5c/])/.test(moduleName); }
- Deopt: <JS Function loader_1 (SharedFunctionInfo 0x3901d38f6d29)> (opt #278) @3, FP to SP delta: 24, caller sp: 0x7fff5fbfdcd8
(fullStart, decorators, modifiers, kind) { var node = 🔷createNode(kind, fullStart); node.decorators = decorators; node.modifiers = modifiers; 🔷parseExpected(74); node.name = 🔷parseNameOfClassDeclarationOrExpression(); node.typeParameters = 🔶parseTypeParameters(); node.heritageClauses = 🔶parseHeritageClauses(); if (🔶parseExpected(16)) { node.members = 🔶parseClassMembers(); 🔶parseExpected(17); } else { node.members ⚠️= createMissingList(); } return 🔶addJSDocComment(🔶finishNode(node)); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }parseNameOfClassDeclarationOrExpression
() { return 🔷isIdentifier() && !🔷isImplementsClause() ? 🔶parseIdentifier() : undefined; }Inlined functions:isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }isImplementsClause
() { return 🔷token() === 107 && 🔶lookAhead(nextTokenIsIdentifierOrKeyword); }Inlined functions:token
() { return currentToken; }
() { return 🔶parseList(5, parseClassElement); }
(_a, isExternalLibraryImport) { var path = _a.path, extension = _a.extension; return { resolvedFileName: path, extension: extension, isExternalLibraryImport: isExternalLibraryImport }; }
(token) { return 2 <= token && token <= 7; }
(extensions, moduleName, directory, failedLookupLocations, state) { return 🔶loadModuleFromNodeModulesWorker(extensions, moduleName, directory, failedLookupLocations, state, false); }
(extensions, moduleName, directory, failedLookupLocations, state, typesOnly) { return 🔷forEachAncestorDirectory(ts.🔷normalizeSlashes(directory), 🔶️function (ancestorDirectory) { if (ts.getBaseFileName(ancestorDirectory) !== "node_modules") { return loadModuleFromNodeModulesOneLevel(extensions, moduleName, ancestorDirectory, failedLookupLocations, state, typesOnly); } }); }
Inlined functions:normalizeSlashes
(path) { return path.🔶️replace(🔶️/\x5c\x5c/g, "/"); }forEachAncestorDirectory
(directory, callback) { while (true) { var result = 🔶️callback(directory); if (result !== undefined) { return result; } var parentPath = ts.🔷getDirectoryPath(directory); if (parentPath === directory) { return undefined; } directory = parentPath; } }Inlined functions:getDirectoryPath
(path) { return path.🔶substr(0, Math.max(🔶getRootLength(path), path.🔶lastIndexOf(ts.directorySeparator))); }
(start, length) { var content = sourceText; start = start || 0; var end = length === undefined ? content⚠️.length : start + length; length = end - start; ts.Debug.🔶️assert(start >= 0); ts.Debug.🔶️assert(start <= end); ts.Debug.🔶️assert(end <= content.length); var tags; var comments = []; var result; if (!🔶️isJsDocStart(content, start)) { return result; } scanner.🔶️scanRange(start + 3, length - 5, 🔶️function () { var advanceToken = true; var state = 1; var margin = undefined; var indent = start - Math.max(content.lastIndexOf("\x5cn", start), 0) + 4; function pushComment(text) { if (!margin) { margin = indent; } comments.push(text); indent += text.length; } nextJSDocToken(); while (token() === 5) { nextJSDocToken(); } if (token() === 4) { state = 0; indent = 0; nextJSDocToken(); } while (token() !== 1) { switch (token()) { case 56: if (state === 0 || state === 1) { removeTrailingNewlines(comments); parseTag(indent); state = 0; advanceToken = false; margin = undefined; indent++; } else { pushComment(scanner.getTokenText()); } break; case 4: comments.push(scanner.getTokenText()); state = 0; indent = 0; break; case 38: var asterisk = scanner.getTokenText(); if (state === 1) { state = 2; pushComment(asterisk); } else { state = 1; indent += asterisk.length; } break; case 70: pushComment(scanner.getTokenText()); state = 2; break; case 5: var whitespace = scanner.getTokenText(); if (state === 2 || margin !== undefined && indent + whitespace.length > margin) { comments.push(whitespace.slice(margin - indent - 1)); } indent += whitespace.length; break; case 1: break; default: pushComment(scanner.getTokenText()); break; } if (advanceToken) { nextJSDocToken(); } else { advanceToken = true; } } removeLeadingNewlines(comments); removeTrailingNewlines(comments); result = createJSDocComment(); }); return result; 🔶️ function removeLeadingNewlines(comments) { while (comments.length && (comments[0] === "\x5cn" || comments[0] === "\x5cr")) { comments.shift(); } } 🔶️ function removeTrailingNewlines(comments) { while (comments.length && (comments[comments.length - 1] === "\x5cn" || comments[comments.length - 1] === "\x5cr")) { comments.pop(); } } 🔶️ function isJsDocStart(content, start) { return content.charCodeAt(start) === 47 && content.charCodeAt(start + 1) === 42 && content.charCodeAt(start + 2) === 42 && content.charCodeAt(start + 3) !== 42; } 🔶️ function createJSDocComment() { var result = createNode(278, start); result.tags = tags; result.comment = comments.length ? comments.join("") : undefined; return finishNode(result, end); } 🔶️ function skipWhitespace() { while (token() === 5 || token() === 4) { nextJSDocToken(); } } 🔶️ function parseTag(indent) { ts.Debug.assert(token() === 56); var atToken = createNode(56, scanner.getTokenPos()); atToken.end = scanner.getTextPos(); nextJSDocToken(); var tagName = parseJSDocIdentifierName(); skipWhitespace(); if (!tagName) { return; } var tag; if (tagName) { switch (tagName.text) { case "augments": tag = parseAugmentsTag(atToken, tagName); break; case "param": tag = parseParamTag(atToken, tagName); break; case "return": case "returns": tag = parseReturnTag(atToken, tagName); break; case "template": tag = parseTemplateTag(atToken, tagName); break; case "type": tag = parseTypeTag(atToken, tagName); break; case "typedef": tag = parseTypedefTag(atToken, tagName); break; default: tag = parseUnknownTag(atToken, tagName); break; } } else { tag = parseUnknownTag(atToken, tagName); } if (!tag) { return; } addTag(tag, parseTagComments(indent + tag.end - tag.pos)); } 🔶️ function parseTagComments(indent) { var comments = []; var state = 1; var margin; function pushComment(text) { if (!margin) { margin = indent; } comments.push(text); indent += text.length; } while (token() !== 56 && token() !== 1) { switch (token()) { case 4: if (state >= 1) { state = 0; comments.push(scanner.getTokenText()); } indent = 0; break; case 56: break; case 5: if (state === 2) { pushComment(scanner.getTokenText()); } else { var whitespace = scanner.getTokenText(); if (margin !== undefined && indent + whitespace.length > margin) { comments.push(whitespace.slice(margin - indent - 1)); } indent += whitespace.length; } break; case 38: if (state === 0) { state = 1; indent += scanner.getTokenText().length; break; } default: state = 2; pushComment(scanner.getTokenText()); break; } if (token() === 56) { break; } nextJSDocToken(); } removeLeadingNewlines(comments); removeTrailingNewlines(comments); return comments; } 🔶️ function parseUnknownTag(atToken, tagName) { var result = createNode(279, atToken.pos); result.atToken = atToken; result.tagName = tagName; return finishNode(result); } 🔶️ function addTag(tag, comments) { tag.comment = comments.join(""); if (!tags) { tags = createNodeArray([tag], tag.pos); } else { tags.push(tag); } tags.end = tag.end; } 🔶️ function tryParseTypeExpression() { return tryParse(function () { skipWhitespace(); if (token() !== 16) { return undefined; } return parseJSDocTypeExpression(); }); } 🔶️ function parseParamTag(atToken, tagName) { var typeExpression = tryParseTypeExpression(); skipWhitespace(); var name; var isBracketed; if (parseOptionalToken(20)) { name = parseJSDocIdentifierName(); skipWhitespace(); isBracketed = true; if (parseOptionalToken(57)) { parseExpression(); } parseExpected(21); } else if (ts.tokenIsIdentifierOrKeyword(token())) { name = parseJSDocIdentifierName(); } if (!name) { parseErrorAtPosition(scanner.getStartPos(), 0, ts.Diagnostics.Identifier_expected); return undefined; } var preName, postName; if (typeExpression) { postName = name; } else { preName = name; } if (!typeExpression) { typeExpression = tryParseTypeExpression(); } var result = createNode(281, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.preParameterName = preName; result.typeExpression = typeExpression; result.postParameterName = postName; result.parameterName = postName || preName; result.isBracketed = isBracketed; return finishNode(result); } 🔶️ function parseReturnTag(atToken, tagName) { if (ts.forEach(tags, function (t) { return t.kind === 282; })) { parseErrorAtPosition(tagName.pos, scanner.getTokenPos() - tagName.pos, ts.Diagnostics._0_tag_already_specified, tagName.text); } var result = createNode(282, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeExpression = tryParseTypeExpression(); return finishNode(result); } 🔶️ function parseTypeTag(atToken, tagName) { if (ts.forEach(tags, function (t) { return t.kind === 283; })) { parseErrorAtPosition(tagName.pos, scanner.getTokenPos() - tagName.pos, ts.Diagnostics._0_tag_already_specified, tagName.text); } var result = createNode(283, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeExpression = tryParseTypeExpression(); return finishNode(result); } 🔶️ function parsePropertyTag(atToken, tagName) { var typeExpression = tryParseTypeExpression(); skipWhitespace(); var name = parseJSDocIdentifierName(); skipWhitespace(); if (!name) { parseErrorAtPosition(scanner.getStartPos(), 0, ts.Diagnostics.Identifier_expected); return undefined; } var result = createNode(286, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.name = name; result.typeExpression = typeExpression; return finishNode(result); } 🔶️ function parseAugmentsTag(atToken, tagName) { var typeExpression = tryParseTypeExpression(); var result = createNode(280, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeExpression = typeExpression; return finishNode(result); } 🔶️ function parseTypedefTag(atToken, tagName) { var typeExpression = tryParseTypeExpression(); skipWhitespace(); var typedefTag = createNode(285, atToken.pos); typedefTag.atToken = atToken; typedefTag.tagName = tagName; typedefTag.fullName = parseJSDocTypeNameWithNamespace(0); if (typedefTag.fullName) { var rightNode = typedefTag.fullName; while (rightNode.kind !== 70) { rightNode = rightNode.body; } typedefTag.name = rightNode; } typedefTag.typeExpression = typeExpression; skipWhitespace(); if (typeExpression) { if (typeExpression.type.kind === 272) { var jsDocTypeReference = typeExpression.type; if (jsDocTypeReference.name.kind === 70) { var name_14 = jsDocTypeReference.name; if (name_14.text === "Object") { typedefTag.jsDocTypeLiteral = scanChildTags(); } } } if (!typedefTag.jsDocTypeLiteral) { typedefTag.jsDocTypeLiteral = typeExpression.type; } } else { typedefTag.jsDocTypeLiteral = scanChildTags(); } return finishNode(typedefTag); function scanChildTags() { var jsDocTypeLiteral = createNode(287, scanner.getStartPos()); var resumePos = scanner.getStartPos(); var canParseTag = true; var seenAsterisk = false; var parentTagTerminated = false; while (token() !== 1 && !parentTagTerminated) { nextJSDocToken(); switch (token()) { case 56: if (canParseTag) { parentTagTerminated = !tryParseChildTag(jsDocTypeLiteral); if (!parentTagTerminated) { resumePos = scanner.getStartPos(); } } seenAsterisk = false; break; case 4: resumePos = scanner.getStartPos() - 1; canParseTag = true; seenAsterisk = false; break; case 38: if (seenAsterisk) { canParseTag = false; } seenAsterisk = true; break; case 70: canParseTag = false; case 1: break; } } scanner.setTextPos(resumePos); return finishNode(jsDocTypeLiteral); } function parseJSDocTypeNameWithNamespace(flags) { var pos = scanner.getTokenPos(); var typeNameOrNamespaceName = parseJSDocIdentifierName(); if (typeNameOrNamespaceName && parseOptional(22)) { var jsDocNamespaceNode = createNode(230, pos); jsDocNamespaceNode.flags |= flags; jsDocNamespaceNode.name = typeNameOrNamespaceName; jsDocNamespaceNode.body = parseJSDocTypeNameWithNamespace(4); return jsDocNamespaceNode; } if (typeNameOrNamespaceName && flags & 4) { typeNameOrNamespaceName.isInJSDocNamespace = true; } return typeNameOrNamespaceName; } } 🔶️ function tryParseChildTag(parentTag) { ts.Debug.assert(token() === 56); var atToken = createNode(56, scanner.getStartPos()); atToken.end = scanner.getTextPos(); nextJSDocToken(); var tagName = parseJSDocIdentifierName(); skipWhitespace(); if (!tagName) { return false; } switch (tagName.text) { case "type": if (parentTag.jsDocTypeTag) { return false; } parentTag.jsDocTypeTag = parseTypeTag(atToken, tagName); return true; case "prop": case "property": var propertyTag = parsePropertyTag(atToken, tagName); if (propertyTag) { if (!parentTag.jsDocPropertyTags) { parentTag.jsDocPropertyTags = []; } parentTag.jsDocPropertyTags.push(propertyTag); return true; } return false; } return false; } 🔶️ function parseTemplateTag(atToken, tagName) { if (ts.forEach(tags, function (t) { return t.kind === 284; })) { parseErrorAtPosition(tagName.pos, scanner.getTokenPos() - tagName.pos, ts.Diagnostics._0_tag_already_specified, tagName.text); } var typeParameters = createNodeArray(); while (true) { var name_15 = parseJSDocIdentifierName(); skipWhitespace(); if (!name_15) { parseErrorAtPosition(scanner.getStartPos(), 0, ts.Diagnostics.Identifier_expected); return undefined; } var typeParameter = createNode(143, name_15.pos); typeParameter.name = name_15; finishNode(typeParameter); typeParameters.push(typeParameter); if (token() === 25) { nextJSDocToken(); skipWhitespace(); } else { break; } } var result = createNode(284, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.typeParameters = typeParameters; finishNode(result); typeParameters.end = result.end; return result; } 🔶️ function nextJSDocToken() { return currentToken = scanner.scanJSDocToken(); } 🔶️ function parseJSDocIdentifierName() { return createJSDocIdentifier(ts.tokenIsIdentifierOrKeyword(token())); } 🔶️ function createJSDocIdentifier(isIdentifier) { if (!isIdentifier) { parseErrorAtCurrentToken(ts.Diagnostics.Identifier_expected); return undefined; } var pos = scanner.getTokenPos(); var end = scanner.getTextPos(); var result = createNode(70, pos); result.text = content.substring(pos, end); finishNode(result, end); nextJSDocToken(); return result; } }
() { return 🔷tryParse(🔶️function () { skipWhitespace(); if (token() !== 16) { return undefined; } return parseJSDocTypeExpression(); }); }
Inlined functions:tryParse
(callback) { return 🔶speculationHelper(callback, false); }
(isIdentifier) { if (!isIdentifier) { 🔶️parseErrorAtCurrentToken(ts⚠️.Diagnostics⚠️.Identifier_expected); return undefined; } var pos = scanner.🔶getTokenPos(); var end = scanner.🔶getTextPos(); var result = 🔷createNode(70, pos); result.text = content.🔶substring(pos, end); 🔷finishNode(result, end); 🔶nextJSDocToken(); return result; }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }
(indent) { var comments = []; var state = 1; var margin; 🔶️function pushComment(text) { if (!margin) { margin = indent; } comments.push(text); indent += text.length; } while (🔷token() !== 56 && 🔷token() !== 1) { switch (🔷token()) { case 4: if (state >= 1) { state = 0; comments.push(scanner.🔶getTokenText()); } indent = 0; break; case 56: break; case 5: if (state === 2) { 🔶pushComment(scanner.🔶getTokenText()); } else { var whitespace = scanner.getTokenText(); if (margin !== undefined && indent + whitespace.length > margin) { comments.⚠️push(whitespace.⚠️slice(margin ⚠️- indent - 1)); } indent += whitespace.length; } break; case 38: if (state === 0) { state = 1; indent += scanner.🔶getTokenText().length; break; } default: state = 2; 🔶pushComment(scanner.🔶getTokenText()); break; } if (🔷token() === 56) { break; } 🔶nextJSDocToken(); } 🔶️removeLeadingNewlines(comments); 🔶removeTrailingNewlines(comments); return comments; }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }
(tag, comments) { tag.comment = comments.🔶join(""); if (!tags) { tags = 🔷createNodeArray([tag], tag.pos); } else { tags.push(tag); } tags.end = tag.end; }
Inlined functions:createNodeArray
(elements, pos) { var array = (elements || []); if (!(pos >= 0)) { pos = 🔷getNodePos(); } array.pos ⚠️= pos; array.end = pos; return array; }Inlined functions:getNodePos
() { return scanner.🔶getStartPos(); }
(indent) { ts.Debug.🔶️assert(🔷token() === 56); var atToken = 🔷createNode(56, scanner.🔶getTokenPos()); atToken.end = scanner.🔶getTextPos(); 🔶nextJSDocToken(); var tagName = parseJSDocIdentifierName(); 🔶skipWhitespace(); if (!tagName) { return; } var tag; if (tagName) { switch (tagName.text) { case "augments": tag = 🔶️parseAugmentsTag(atToken, tagName); break; case "param": tag = 🔶parseParamTag(atToken, tagName); break; case "return": case "returns": tag = 🔶️parseReturnTag(atToken, tagName); break; case "template": tag = 🔶️parseTemplateTag(atToken, tagName); break; case "type": tag = 🔶️parseTypeTag(atToken, tagName); break; case "typedef": tag = 🔶️parseTypedefTag(atToken, tagName); break; default: tag = 🔶️parseUnknownTag(atToken, tagName); break; } } else { tag = 🔶️parseUnknownTag(atToken, tagName); } if (!tag) { return; } 🔶addTag(tag, 🔶parseTagComments(indent + tag.end - tag.pos)); }
Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
(typeReferenceDirectiveNames, containingFile) { return 🔷loadWithLocalCache(typeReferenceDirectiveNames, containingFile, loader_2); }
Inlined functions:loadWithLocalCache
(names, containingFile, loader) { if (names.length === 0) { return []; } var resolutions = []; var cache = ts.🔷createMap(); for (var _i = 0, names_1 = names; _i < names_1.length; _i++) { var name_42 = names_1[_i]; var result = name_42 🔶️in cache ? cache⚠️[name_42] : cache[name_42] ⚠️= loader(name_42, containingFile); resolutions.push(result); } return resolutions; }Inlined functions:createMap
(template) { var map = createObject(null); map["__"] = undefined; 🔶️delete map["__"]; 🔶️for (var key in template) if (hasOwnProperty.🔶️call(template, key)) { map[key] ⚠️= template⚠️[key]; } return map; }
(file, isDefaultLib) { ts.🔷forEach(file.referencedFiles, 🔶️function (ref) { var referencedFileName = resolveTripleslashReference(ref.fileName, file.fileName); processSourceFile(referencedFileName, isDefaultLib, file, ref.pos, ref.end); }); }
Inlined functions:forEach
(array, callback) { if (array) { for (var i = 0, len = array.length; i < len; i++) { var result = 🔶️callback(array[i], i); if (result) { return result; } } } return undefined; }
(options) { return options.watch && options.🔶️hasOwnProperty("watch"); }
(fileName, callback, pollingInterval) { if (useNonPollingWatchers) { var watchedFile_1 = watchedFileSet.🔶️addFile(fileName, callback); return ⚠️{ close: 🔶️function () { return watchedFileSet.removeFile(watchedFile_1); } }; } else { _fs.🔶watchFile(fileName, { persistent: true, interval: pollingInterval || 250 }, fileChanged); return { close: 🔶️function () { return _fs.unwatchFile(fileName, fileChanged); } }; } 🔶️function fileChanged(curr, prev) { if (+curr.mtime <= +prev.mtime) { return; } callback(fileName); } }
() { return ts.sys.useCaseSensitiveFileNames; }
~recompile~
~recompile~
~recompile~
(fileName, languageVersion, onError) { if (cachedProgram) { var sourceFile_1 = cachedProgram.🔶getSourceFile(fileName); if (sourceFile_1 && sourceFile_1⚠️.fileWatcher) { return sourceFile_1; } } var sourceFile = 🔶️hostGetSourceFile(fileName, languageVersion, onError); if (sourceFile && ts.🔷isWatchSet(compilerOptions) && ts.sys.watchFile) { sourceFile.fileWatcher = ts.sys.🔶watchFile(sourceFile.fileName, 🔶️function (_fileName, removed) { return sourceFileChanged(sourceFile, removed); }); } return sourceFile; }
Inlined functions:isWatchSet
(options) { return options.watch && options.🔶️hasOwnProperty("watch"); }
~recompile~
~recompile~
(fileName, languageVersion, scriptKind) { var sourceFile = 🔷new SourceFileConstructor(261, 0, sourceText.length); nodeCount++; sourceFile.text = sourceText; sourceFile.bindDiagnostics = []; sourceFile.languageVersion = languageVersion; sourceFile.fileName = ts.🔷normalizePath(fileName); sourceFile.languageVariant = 🔷getLanguageVariant(scriptKind); sourceFile.isDeclarationFile = ts.🔷fileExtensionIs(sourceFile.fileName, ".d.ts"); sourceFile.scriptKind = scriptKind; return sourceFile; }
Inlined functions:new SourceFileConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }normalizePath
(path) { path = 🔷normalizeSlashes(path); var rootLength = 🔶getRootLength(path); var root = path.🔶substr(0, rootLength); var normalized = 🔶getNormalizedParts(path, rootLength); if (normalized.length) { var joinedParts = root + normalized.🔶join(ts.directorySeparator); return 🔷pathEndsWithDirectorySeparator(path) ? joinedParts ⚠️+ ts⚠️.directorySeparator : joinedParts; } else { return root; } }Inlined functions:normalizeSlashes
(path) { return path.⚠️replace(🔶️/\x5c\x5c/g, "/"); }pathEndsWithDirectorySeparator
(path) { return path.charCodeAt(path.length - 1) === directorySeparatorCharCode; }getLanguageVariant
(scriptKind) { return scriptKind === 4 || scriptKind === 2 || scriptKind === 1 ? 1 : 0; }fileExtensionIs
(path, extension) { return path.length > extension.length && 🔷endsWith(path, extension); }Inlined functions:endsWith
(str, suffix) { var expectedPos = str.length - suffix.length; return expectedPos >= 0 && str.🔶indexOf(suffix, expectedPos) === expectedPos; }
() { return Node; }
() { return Node; }
() { return Node; }
() { return Node; }
(scriptTarget) { languageVersion = scriptTarget; }
(variant) { languageVariant = variant; }
(atToken, tagName) { var typeExpression = 🔶tryParseTypeExpression(); 🔶skipWhitespace(); var name; var isBracketed; if (🔷parseOptionalToken(20)) { name = 🔶parseJSDocIdentifierName(); 🔶skipWhitespace(); isBracketed = true; if (🔶parseOptionalToken(57)) { 🔶️parseExpression(); } 🔶parseExpected(21); } else if (ts.🔷tokenIsIdentifierOrKeyword(🔷token())) { name = 🔶parseJSDocIdentifierName(); } if (!name) { 🔶️parseErrorAtPosition(scanner.⚠️getStartPos(), 0, ts⚠️.Diagnostics⚠️.Identifier_expected); return undefined; } var preName, postName; if (typeExpression) { postName = name; } else { preName = name; } if (!typeExpression) { typeExpression = 🔶tryParseTypeExpression(); } var result = 🔷createNode(281, atToken.pos); result.atToken = atToken; result.tagName = tagName; result.preParameterName = preName; result.typeExpression = typeExpression; result.postParameterName = postName; result.parameterName = postName || preName; result.isBracketed = isBracketed; return 🔶finishNode(result); }
Inlined functions:parseOptionalToken
(t) { if (🔷token() === t) { return 🔷parseTokenNode(); } return undefined; }Inlined functions:token
() { return currentToken; }parseTokenNode
() { var node = 🔷createNode(🔷token()); 🔷nextToken(); return 🔷finishNode(node); }Inlined functions:token
() { return currentToken; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }nextToken
() { return currentToken = scanner.🔶scan(); }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }token
() { return currentToken; }tokenIsIdentifierOrKeyword
(token) { return token >= 70; }createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔶️new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
(fullStart, decorators, modifiers) { var node = 🔷createNode(228, fullStart); node.decorators = decorators; node.modifiers = modifiers; 🔷parseExpected(136); node.name = 🔷parseIdentifier(); node.typeParameters = 🔶parseTypeParameters(); 🔶parseExpected(57); node.type = 🔶parseType(); 🔶parseSemicolon(); return 🔶addJSDocComment(🔶finishNode(node)); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }parseIdentifier
(diagnosticMessage) { return 🔷createIdentifier(🔷isIdentifier(), diagnosticMessage); }Inlined functions:isIdentifier
() { if (🔷token() === 70) { return true; } if (🔷token() === 115 && 🔶inYieldContext()) { return false; } if (🔷token() === 120 && 🔶inAwaitContext()) { return false; } return 🔷token() > 106; }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }createIdentifier
(isIdentifier, diagnosticMessage) { identifierCount++; if (isIdentifier) { var node = 🔷createNode(70); if (🔶token() !== 70) { node.originalKeywordKind = 🔶token(); } node.text = 🔶️internIdentifier(scanner.🔶getTokenValue()); 🔶nextToken(); return 🔶finishNode(node); } return 🔶️createMissingNode(70, false, diagnosticMessage || ts.Diagnostics.Identifier_expected); }Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔶️new IdentifierConstructor(kind, pos, pos) : 🔶️new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }
() { while (🔷token() === 5 || 🔷token() === 4) { 🔶nextJSDocToken(); } }
Inlined functions:token
() { return currentToken; }token
() { return currentToken; }
(comments) { while (comments.length && (comments[comments.length - 1] === "\x5cn" || comments[comments.length - 1] === "\x5cr")) { comments.pop(); } }
(sourceFile) { sourceFile.externalModuleIndicator ⚠️= ts.🔷forEach(sourceFile.statements, 🔶️function (node) { return ts.hasModifier(node, 1) || node.kind === 234 && node.moduleReference.kind === 245 || node.kind === 235 || node.kind === 240 || node.kind === 241 ? node : undefined; }); }
Inlined functions:forEach
(array, callback) { if (array) { for (var i = 0, len = array.length; i < len; i++) { var result = 🔶️callback(array[i], i); if (result) { return result; } } } return undefined; }
~recompile~
~recompile~
(file) { return 🔷isInJavaScriptFile(file); }
Inlined functions:isInJavaScriptFile
(node) { return node && !!(node⚠️.flags & 65536); }
(file) { return file.externalModuleIndicator !== undefined; }
(file) { return file.isDeclarationFile; }
(kind) { var node = 🔷createNode(kind); if (kind === 154) { 🔷parseExpected(93); } 🔶fillSignature(55, false, false, false, node); 🔷parseTypeMemberSemicolon(); return 🔶addJSDocComment(🔶finishNode(node)); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }parseTypeMemberSemicolon
() { if (🔷parseOptional(25)) { return; } 🔷parseSemicolon(); }Inlined functions:parseOptional
(t) { if (🔷token() === t) { 🔷nextToken(); return true; } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }parseSemicolon
() { if (🔷canParseSemicolon()) { if (🔷token() === 24) { 🔶nextToken(); } return true; } else { return 🔶parseExpected(24); } }Inlined functions:canParseSemicolon
() { if (🔷token() === 24) { return true; } return 🔷token() === 17 || 🔷token() === 1 || scanner.🔶hasPrecedingLineBreak(); }Inlined functions:token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }token
() { return currentToken; }
() { 🔷nextToken(); return 🔷token() === 18 || 🔷token() === 26; }
Inlined functions:nextToken
() { return currentToken = scanner.🔶scan(); }token
() { return currentToken; }token
() { return currentToken; }
(operator) { var node = 🔷createNode(168); 🔷parseExpected(operator); node.operator = operator; node.type = 🔷parseTypeOperatorOrHigher(); return 🔷finishNode(node); }
Inlined functions:createNode
(kind, pos) { nodeCount++; if (!(pos ⚠️>= 0)) { pos = scanner.🔶getStartPos(); } return kind >= 141 ? 🔷new NodeConstructor(kind, pos, pos) : kind === 70 ? 🔷new IdentifierConstructor(kind, pos, pos) : 🔷new TokenConstructor(kind, pos, pos); }Inlined functions:new NodeConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new IdentifierConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }new TokenConstructor
(kind, pos, end) { this.id = 0; this.kind = kind; this.pos = pos; this.end = end; this.flags = 0; this.modifierFlagsCache = 0; this.transformFlags = 0; this.parent = undefined; this.original = undefined; }parseExpected
(kind, diagnosticMessage, shouldAdvance) { if (shouldAdvance === void 0) { shouldAdvance = true; } if (🔷token() === kind) { if (shouldAdvance) { 🔷nextToken(); } return true; } if (diagnosticMessage) { 🔶️parseErrorAtCurrentToken(diagnosticMessage); } else { 🔷parseErrorAtCurrentToken(ts.Diagnostics._0_expected, ts.🔷tokenToString(kind)); } return false; }Inlined functions:token
() { return currentToken; }nextToken
() { return currentToken = scanner.🔶scan(); }tokenToString
(t) { return tokenStrings[t]; }parseErrorAtCurrentToken
(message, arg0) { var start = scanner.🔶getTokenPos(); var length = scanner.🔶getTextPos() - start; 🔷parseErrorAtPosition(start, length, message, arg0); }Inlined functions:parseErrorAtPosition
(start, length, message, arg0) { var lastError = ts.🔷lastOrUndefined(parseDiagnostics); if (!lastError || start !== lastError.start) { parseDiagnostics.push(ts.🔶️createFileDiagnostic(sourceFile, start, length, message, arg0)); } parseErrorBeforeNextFinishedNode = true; }Inlined functions:lastOrUndefined
(array) { return array && array.length > 0 ? array[array.length - 1] : undefined; }parseTypeOperatorOrHigher
() { switch (🔷token()) { case 126: return 🔶parseTypeOperator(126); } return 🔶parseArrayTypeOrHigher(); }Inlined functions:token
() { return currentToken; }finishNode
(node, end) { node.end ⚠️= end === undefined ? scanner.🔶getStartPos() : end; if (contextFlags) { node.flags ⚠️|= contextFlags; } if (parseErrorBeforeNextFinishedNode) { parseErrorBeforeNextFinishedNode = false; node.flags ⚠️|= 32768; } return node; }
(node, inAmbientModule) { switch (node⚠️.kind) { case 235: case 234: case 241: var moduleNameExpr = ts.🔷getExternalModuleName(node); if (!moduleNameExpr || moduleNameExpr.kind !== 9) { break; } if (!moduleNameExpr.text) { break; } if (!inAmbientModule || !ts.🔷isExternalModuleNameRelative(moduleNameExpr.text)) { (imports || (imports = [])).push(moduleNameExpr); } break; case 230: if (ts.🔷isAmbientModule(node) && (inAmbientModule || ts.🔷hasModifier(node, 2) || ts.⚠️isDeclarationFile(file))) { var moduleName = node.name; if (isExternalModuleFile || (inAmbientModule && !ts.🔶isExternalModuleNameRelative(moduleName⚠️.text))) { (moduleAugmentations || (moduleAugmentations = 🔶️[])).🔶️push(moduleName); } else if (!inAmbientModule) { if (isDtsFile) { (ambientModules || (ambientModules = [])).push(moduleName.text); } var body = node.body; if (body) { for (var _i = 0, _a = body.statements; _i < _a.length; _i++) { var statement = _a[_i]; 🔶collectModuleReferences(statement, true); } } } } } }
Inlined functions:getExternalModuleName
(node) { if (node⚠️.kind === 235) { return node.moduleSpecifier; } if (node.kind === 234) { var reference = node.moduleReference; if (reference.kind === 245) { return reference.expression; } } if (node.kind === 241) { return node.moduleSpecifier; } if (node⚠️.kind ⚠️=== 230 && node⚠️.name⚠️.kind ⚠️=== 9) { return node⚠️.name; } }isExternalModuleNameRelative
(moduleName) { return 🔶️/^\x5c.\x5c.?($|[\🔶️x5c\x5c/])/.test(moduleName); }isAmbientModule
(node) { return node && node.kind === 230 && (node.name.kind === 9 || 🔷isGlobalScopeAugmentation(node)); }Inlined functions:isGlobalScopeAugmentation
(module) { return !!(module.flags & 512); }hasModifier
(node, flags) { return (🔷getModifierFlags(node) & flags) !== 0; }Inlined functions:getModifierFlags
(node) { if (node⚠️.modifierFlagsCache & 536870912) { return node⚠️.modifierFlagsCache & ~536870912; } var flags = 0; if (node⚠️.modifiers) { for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; flags |= 🔷modifierToFlag(modifier.kind); } } if (node⚠️.flags & 4 || (node⚠️.kind === 70 && node⚠️.isInJSDocNamespace)) { flags |⚠️= 1; } node.modifierFlagsCache ⚠️= flags | 536870912; return flags; }Inlined functions:modifierToFlag
(token) { switch (token) { case 114: return 32; case 113: return 4; case 112: return 16; case 111: return 8; case 116: return 128; case 83: return 1; case 123: return 2; case 75: return 2048; case 78: return 512; case 119: return 256; case 130: return 64; } return 0; }
~recompile~
~recompile~
(sourceFile, isSourceFileFromExternalLibrary) { return 🔷isNonDeclarationFile(sourceFile) && !🔶️isSourceFileFromExternalLibrary(sourceFile); }
Inlined functions:isNonDeclarationFile
(sourceFile) { return !🔷isDeclarationFile(sourceFile); }Inlined functions:isDeclarationFile
(file) { return file⚠️.isDeclarationFile; }
(sourceFile) { return !🔷isDeclarationFile(sourceFile); }
Inlined functions:isDeclarationFile
(file) { return file⚠️.isDeclarationFile; }
~recompile~
~recompile~
(node) { return node && !!(node⚠️.flags & 65536); }
(cbNodes, nodes) { if (nodes) { return 🔶️cbNodes(nodes); } }
~recompile~
~recompile~
~recompile~
(node) { return node && node⚠️.kind === 230 && (node⚠️.name.kind === 9 || 🔷isGlobalScopeAugmentation(node)); }
Inlined functions:isGlobalScopeAugmentation
(module) { return !!(module⚠️.flags & 512); }
~recompile~
~recompile~
(declaration) { return declaration.name && 🔷isDynamicName(declaration.name); }
Inlined functions:isDynamicName
(name) { return name.kind === 142 && !🔶isStringOrNumericLiteral(name⚠️.expression) && !🔶isWellKnownSymbolSyntactically(name⚠️.expression); }
(node) { ts.🔶forEachChild(node, bind, bindEach); }
~recompile~
~recompile~
(node) { if (!node) { return; } node.parent ⚠️= parent; var saveInStrictMode = inStrictMode; 🔶bindWorker(node); if (node⚠️.kind > 140) { var saveParent = parent; parent = node; var containerFlags = 🔶getContainerFlags(node); if (containerFlags === 0) { 🔶bindChildren(node); } else { 🔶bindContainer(node, containerFlags); } parent = saveParent; } else if (!skipTransformFlagAggregation && (node⚠️.transformFlags & 536870912) === 0) { subtreeTransformFlags |= 🔶computeTransformFlagsForNode(node, 0); } inStrictMode = saveInStrictMode; }
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
(node) { return 🔷isExpressionKind(ts.🔷skipPartiallyEmittedExpressions(node)⚠️.kind); }
Inlined functions:skipPartiallyEmittedExpressions
(node) { while (node⚠️.kind === 294) { node = node.expression; } return node; }isExpressionKind
(kind) { return kind === 193 || kind === 195 || kind === 185 || kind === 192 || kind === 196 || kind === 200 || kind === 198 || kind === 297 || 🔷isUnaryExpressionKind(kind); }Inlined functions:isUnaryExpressionKind
(kind) { return kind === 190 || kind === 191 || kind === 186 || kind === 187 || kind === 188 || kind === 189 || kind === 182 || 🔶isLeftHandSideExpressionKind(kind); }
(flags, name) { this.flags = flags; this.name = name; this.declarations = undefined; }
~recompile~
~recompile~
(flags, name) { symbolCount++; return 🔷new Symbol(flags, name); }
Inlined functions:new Symbol
(flags, name) { this.flags = flags; this.name = name; this.declarations = undefined; }
~recompile~
- Deopt: <JS Function isExpression (SharedFunctionInfo 0x30d407feb261)> (opt #461) @7, FP to SP delta: 56, caller sp: 0x7fff5fbfd648
~recompile~
~recompile~
~recompile~
(name) { return name⚠️.kind === 142 && !🔷isStringOrNumericLiteral(name.expression) && !🔷isWellKnownSymbolSyntactically(name.expression); }
Inlined functions:isStringOrNumericLiteral
(node) { var kind = node.kind; return kind === 9 || kind === 8; }isWellKnownSymbolSyntactically
(node) { return 🔷isPropertyAccessExpression(node) && 🔷isESSymbolIdentifier(node.expression); }Inlined functions:isPropertyAccessExpression
(node) { return node⚠️.kind === 177; }isESSymbolIdentifier
(node) { return node.kind === 70 && node.text === "Symbol"; }
(kind) { return kind === 193 || kind === 195 || kind === 185 || kind === 192 || kind === 196 || kind === 200 || kind === 198 || kind === 297 || 🔷isUnaryExpressionKind(kind); }
Inlined functions:isUnaryExpressionKind
(kind) { return kind === 190 || kind === 191 || kind === 186 || kind === 187 || kind === 188 || kind === 189 || kind === 182 || 🔶isLeftHandSideExpressionKind(kind); }
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
(node, symbolFlags, symbolExcludes) { if (!ts.🔷isDeclarationFile(file) && !ts.🔷isInAmbientContext(node)) { if (ts.🔷isAsyncFunctionLike(node)) { emitFlags |⚠️= 1024; } } if (currentFlow && ts.🔶isObjectLiteralOrClassExpressionMethod(node)) { node.flowNode ⚠️= currentFlow; } return ts.🔶hasDynamicName(node) ? 🔶bindAnonymousDeclaration(node, symbolFlags, "__computed") : 🔶declareSymbolAndAddToSymbolTable(node, symbolFlags, symbolExcludes); }
Inlined functions:isDeclarationFile
(file) { return file⚠️.isDeclarationFile; }isInAmbientContext
(node) { while (node) { if (🔷hasModifier(node, 2) || (node⚠️.kind === 261 && node.isDeclarationFile)) { return true; } node = node⚠️.parent; } return false; }Inlined functions:hasModifier
(node, flags) { return (🔷getModifierFlags(node) & flags) !== 0; }Inlined functions:getModifierFlags
(node) { if (node⚠️.modifierFlagsCache & 536870912) { return node⚠️.modifierFlagsCache & ~536870912; } var flags = 0; if (node⚠️.modifiers) { for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; flags |= 🔷modifierToFlag(modifier.kind); } } if (node⚠️.flags & 4 || (node⚠️.kind === 70 && node⚠️.isInJSDocNamespace)) { flags |⚠️= 1; } node.modifierFlagsCache ⚠️= flags | 536870912; return flags; }Inlined functions:modifierToFlag
(token) { switch (token) { case 114: return 32; case 113: return 4; case 112: return 16; case 111: return 8; case 116: return 128; case 83: return 1; case 123: return 2; case 75: return 2048; case 78: return 512; case 119: return 256; case 130: return 64; } return 0; }isAsyncFunctionLike
(node) { return 🔷isFunctionLike(node) && 🔷hasModifier(node, 256) && !🔶️isAccessor(node); }Inlined functions:isFunctionLike
(node) { return node && 🔷isFunctionLikeKind(node⚠️.kind); }Inlined functions:isFunctionLikeKind
(kind) { switch (kind) { case 150: case 184: case 225: case 185: case 149: case 148: case 151: case 152: case 153: case 154: case 155: case 158: case 159: return true; } return false; }hasModifier
(node, flags) { return (🔷getModifierFlags(node) & flags) !== 0; }Inlined functions:getModifierFlags
(node) { if (node⚠️.modifierFlagsCache & 536870912) { return node⚠️.modifierFlagsCache & ~536870912; } var flags = 0; if (node⚠️.modifiers) { for (var _i = 0, _a = node.modifiers; _i < _a.length; _i++) { var modifier = _a[_i]; flags |= 🔷modifierToFlag(modifier.kind); } } if (node⚠️.flags & 4 || (node⚠️.kind === 70 && node⚠️.isInJSDocNamespace)) { flags |⚠️= 1; } node.modifierFlagsCache ⚠️= flags | 536870912; return flags; }Inlined functions:modifierToFlag
(token) { switch (token) { case 114: return 32; case 113: return 4; case 112: return 16; case 111: return 8; case 116: return 128; case 83: return 1; case 123: return 2; case 75: return 2048; case 78: return 512; case 119: return 256; case 130: return 64; } return 0; }
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
(node) { switch (node⚠️.kind) { case 70: if (node.isInJSDocNamespace) { var parentNode = node⚠️.parent; while (parentNode && parentNode⚠️.kind ⚠️!== 285) { parentNode = parentNode⚠️.parent; } 🔶bindBlockScopedDeclaration(parentNode, 524288, 793064); break; } case 98: if (currentFlow && (ts.🔷isExpression(node) || parent⚠️.kind ⚠️=== 258)) { node.flowNode = currentFlow; } return 🔷checkStrictModeIdentifier(node); case 177: if (currentFlow && 🔷isNarrowableReference(node)) { node.flowNode = currentFlow; } break; case 192: if (ts.🔷isInJavaScriptFile(node)) { var specialKind = ts.🔶️getSpecialPropertyAssignmentKind(node); ⚠️switch (specialKind) { case 1: 🔶️bindExportsPropertyAssignment(node); break; case 2: 🔶️bindModuleExportsAssignment(node); break; case 3: 🔶️bindPrototypePropertyAssignment(node); break; case 4: 🔶️bindThisPropertyAssignment(node); break; case 0: break; default: ts⚠️.Debug.🔶️fail("Unknown special property assignment kind"); } } return 🔷checkStrictModeBinaryExpression(node); case 256: return 🔷checkStrictModeCatchClause(node); case 186: return 🔶️checkStrictModeDeleteExpression(node); case 8: return 🔶️checkStrictModeNumericLiteral(node); case 191: return 🔶️checkStrictModePostfixUnaryExpression(node); case 190: return 🔶️checkStrictModePrefixUnaryExpression(node); case 217: return 🔶️checkStrictModeWithStatement(node); case 167: seenThisKeyword = true; return; case 156: return 🔶checkTypePredicate(node); case 143: return 🔶declareSymbolAndAddToSymbolTable(node, 262144, 530920); case 144: return 🔶bindParameter(node); case 223: case 174: return 🔶bindVariableDeclarationOrBindingElement(node); case 147: case 146: case 271: return 🔶bindPropertyOrMethodOrAccessor(node, 4 | (node.questionToken ? 536870912 : 0), 0); case 286: return 🔶️bindJSDocProperty(node); case 257: case 258: return 🔶bindPropertyOrMethodOrAccessor(node, 4, 0); case 260: return 🔶bindPropertyOrMethodOrAccessor(node, 8, 900095); case 259: case 251: var root = container; var hasRest = false; while (root.parent) { if (root.kind === 176 && root⚠️.parent⚠️.kind ⚠️=== 192 && root⚠️.parent⚠️.operatorToken⚠️.kind ⚠️=== 57 && root⚠️.parent⚠️.left ⚠️=== root) { hasRest = true; break; } root = root.parent; } return; case 153: case 154: case 155: return 🔶declareSymbolAndAddToSymbolTable(node, 131072, 0); case 149: case 148: return 🔶bindPropertyOrMethodOrAccessor(node, 8192 | (node⚠️.questionToken ? 536870912 : 0), ts.🔶isObjectLiteralMethod(node) ? 0 : 99263); case 225: return 🔶bindFunctionDeclaration(node); case 150: return 🔶declareSymbolAndAddToSymbolTable(node, 16384, 0); case 151: return 🔶bindPropertyOrMethodOrAccessor(node, 32768, 41919); case 152: return 🔶bindPropertyOrMethodOrAccessor(node, 65536, 74687); case 158: case 159: case 274: return 🔶bindFunctionOrConstructorType(node); case 161: case 170: case 287: case 270: return 🔶bindAnonymousDeclaration(node, 2048, "__type"); case 176: return 🔶️bindObjectLiteralExpression(node); case 184: case 185: return 🔶bindFunctionExpression(node); case 179: if (ts.🔶isInJavaScriptFile(node)) { 🔶️bindCallExpression(node); } break; case 197: case 226: inStrictMode = true; return 🔶️bindClassLikeDeclaration(node); case 227: return 🔶bindBlockScopedDeclaration(node, 64, 792968); case 285: if (!node⚠️.fullName || node⚠️.fullName⚠️.kind ⚠️=== 70) { return 🔶bindBlockScopedDeclaration(node, 524288, 793064); } break; case 228: return 🔶bindBlockScopedDeclaration(node, 524288, 793064); case 229: return 🔶️bindEnumDeclaration(node); case 230: return 🔶️bindModuleDeclaration(node); case 234: case 237: case 239: case 243: return 🔶declareSymbolAndAddToSymbolTable(node, 8388608, 8388608); case 233: return 🔶️bindNamespaceExportDeclaration(node); case 236: return 🔶bindImportClause(node); case 241: return 🔶️bindExportDeclaration(node); case 240: return 🔶️bindExportAssignment(node); case 261: 🔶️updateStrictModeStatementList(node.statements); return 🔶bindSourceFileIfExternalModule(); case 204: if (!ts.🔶isFunctionLike(node.parent)) { return; } case 231: return 🔶️updateStrictModeStatementList(node.statements); } }
Inlined functions:isExpression
(node) { return 🔷isExpressionKind(ts.🔷skipPartiallyEmittedExpressions(node).kind); }Inlined functions:skipPartiallyEmittedExpressions
(node) { while (node⚠️.kind === 294) { node = node⚠️.expression; } return node; }isExpressionKind
(kind) { return kind === 193 || kind === 195 || kind === 185 || kind === 192 || kind === 196 || kind === 200 || kind === 198 || kind === 297 || 🔷isUnaryExpressionKind(kind); }Inlined functions:isUnaryExpressionKind
(kind) { return kind === 190 || kind === 191 || kind === 186 || kind === 187 || kind === 188 || kind === 189 || kind === 182 || 🔶isLeftHandSideExpressionKind(kind); }checkStrictModeIdentifier
(node) { if (inStrictMode && node.originalKeywordKind >= 107 && node.originalKeywordKind <= 115 && !ts.🔶️isIdentifierName(node) && !ts.🔶️isInAmbientContext(node)) { if (!file⚠️.parseDiagnostics⚠️.length) { file⚠️.bindDiagnostics.🔶️push(ts.🔶️createDiagnosticForNode(node, 🔶️getStrictModeIdentifierMessage(node), ts.🔶️declarationNameToString(node))); } } }isNarrowableReference
(expr) { return expr⚠️.kind === 70 || expr⚠️.kind === 98 || expr⚠️.kind === 177 && 🔶isNarrowableReference(expr.expression); }isInJavaScriptFile
(node) { return node && !!(node⚠️.flags & 65536); }checkStrictModeBinaryExpression
(node) { if (inStrictMode && ts.🔷isLeftHandSideExpression(node.left) && ts.🔷isAssignmentOperator(node.operatorToken.kind)) { 🔷checkStrictModeEvalOrArguments(node, node.left); } }Inlined functions:isLeftHandSideExpression
(node) { return 🔶isLeftHandSideExpressionKind(ts.🔷skipPartiallyEmittedExpressions(node)⚠️.kind); }Inlined functions:skipPartiallyEmittedExpressions
(node) { while (node⚠️.kind === 294) { node = node⚠️.expression; } return node; }isAssignmentOperator
(token) { return token >= 57 && token <= 69; }checkStrictModeEvalOrArguments
(contextNode, name) { if (name && name⚠️.kind === 70) { var identifier = name; if (🔷isEvalOrArgumentsIdentifier(identifier)) { var span_3 = ts.🔶️getErrorSpanForNode(file, name); file⚠️.bindDiagnostics.🔶️push(ts.⚠️createFileDiagnostic(file, span_3⚠️.start, span_3⚠️.length, 🔶️getStrictModeEvalOrArgumentsMessage(contextNode), identifier⚠️.text)); } } }Inlined functions:isEvalOrArgumentsIdentifier
(node) { return node.kind === 70 && (node.text === "eval" || node.text === "arguments"); }checkStrictModeCatchClause
(node) { if (inStrictMode && node.variableDeclaration) { 🔷checkStrictModeEvalOrArguments(node, node.variableDeclaration.name); } }Inlined functions:checkStrictModeEvalOrArguments
(contextNode, name) { if (name && name⚠️.kind === 70) { var identifier = name; if (🔷isEvalOrArgumentsIdentifier(identifier)) { var span_3 = ts.🔶️getErrorSpanForNode(file, name); file⚠️.bindDiagnostics.🔶️push(ts.⚠️createFileDiagnostic(file, span_3⚠️.start, span_3⚠️.length, 🔶️getStrictModeEvalOrArgumentsMessage(contextNode), identifier⚠️.text)); } } }Inlined functions:isEvalOrArgumentsIdentifier
(node) { return node.kind === 70 && (node.text === "eval" || node.text === "arguments"); }
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
~recompile~
(node, cbNode, cbNodeArray) { if (!node) { return; } var visitNodes = cbNodeArray ? visitNodeArray : visitEachNode; var cbNodes = cbNodeArray || cbNode; switch (node⚠️.kind) { case 141: return 🔷visitNode(cbNode, node.left) || 🔷visitNode(cbNode, node.right); case 143: return 🔷visitNode(cbNode, node.name) || 🔷visitNode(cbNode, node.constraint) || 🔷visitNode(cbNode, node.expression); case 258: return 🔷visitNodes(cbNodes, node⚠️.decorators) || 🔷visitNodes(cbNodes, node⚠️.modifiers) || 🔷visitNode(cbNode, node⚠️.name) || 🔷visitNode(cbNode, node⚠️.questionToken) || 🔷visitNode(cbNode, node⚠️.equalsToken) || 🔷visitNode(cbNode, node⚠️.objectAssignmentInitializer); case 259: return 🔶visitNode(cbNode, node⚠️.expression); case 144: case 147: case 146: case 257: case 223: case 174: return 🔷visitNodes(cbNodes, node⚠️.decorators) || 🔷visitNodes(cbNodes, node⚠️.modifiers) || 🔷visitNode(cbNode, node⚠️.propertyName) || 🔷visitNode(cbNode, node⚠️.dotDotDotToken) || 🔷visitNode(cbNode, node⚠️.name) || 🔷visitNode(cbNode, node⚠️.questionToken) || 🔷visitNode(cbNode, node⚠️.type) || 🔷visitNode(cbNode, node⚠️.initializer); case 158: case 159: case 153: case 154: case 155: return 🔷visitNodes(cbNodes, node.decorators) || 🔷visitNodes(cbNodes, node.modifiers) || 🔷visitNodes(cbNodes, node.typeParameters) || 🔷visitNodes(cbNodes, node.parameters) || 🔷visitNode(cbNode, node⚠️.type); case 149: case 148: case 150: case 151: case 152: case 184: case 225: case 185: return 🔷visitNodes(cbNodes, node⚠️.decorators) || 🔷visitNodes(cbNodes, node⚠️.modifiers) || 🔷visitNode(cbNode, node⚠️.asteriskToken) || 🔷visitNode(cbNode, node⚠️.name) || 🔷visitNode(cbNode, node⚠️.questionToken) || 🔷visitNodes(cbNodes, node⚠️.typeParameters) || 🔷visitNodes(cbNodes, node⚠️.parameters) || 🔷visitNode(cbNode, node⚠️.type) || 🔷visitNode(cbNode, node⚠️.equalsGreaterThanToken) || 🔷visitNode(cbNode, node⚠️.body); case 157: return 🔷visitNode(cbNode, node.typeName) || 🔷visitNodes(cbNodes, node.typeArguments); case 156: return 🔷visitNode(cbNode, node.parameterName) || 🔷visitNode(cbNode, node.type); case 160: return 🔷visitNode(cbNode, node.exprName); case 161: return 🔷visitNodes(cbNodes, node.members); case 162: return 🔷visitNode(cbNode, node.elementType); case 163: return 🔷visitNodes(cbNodes, node.elementTypes); case 164: case 165: return 🔷visitNodes(cbNodes, node.types); case 166: case 168: return 🔷visitNode(cbNode, node.type); case 169: return 🔷visitNode(cbNode, node.objectType) || 🔷visitNode(cbNode, node.indexType); case 170: return 🔷visitNode(cbNode, node.readonlyToken) || 🔷visitNode(cbNode, node.typeParameter) || 🔷visitNode(cbNode, node.questionToken) || 🔷visitNode(cbNode, node.type); case 171: return 🔷visitNode(cbNode, node.literal); case 172: case 173: return 🔷visitNodes(cbNodes, node.elements); case 175: return 🔷visitNodes(cbNodes, node.elements); case 176: return 🔷visitNodes(cbNodes, node.properties); case 177: return 🔷visitNode(cbNode, node.expression) || 🔷visitNode(cbNode, node.name); case 178: return 🔷visitNode(cbNode, node.expression) || 🔷visitNode(cbNode, node.argumentExpression); case 179: case 180: return 🔶visitNode(cbNode, node.expression) || 🔶visitNodes(cbNodes, node.typeArguments) || 🔶visitNodes(cbNodes, node.arguments); case 181: return 🔶visitNode(cbNode, node⚠️.tag) || 🔶visitNode(cbNode, node⚠️.template); case 182: return 🔶visitNode(cbNode, node⚠️.type) || 🔶visitNode(cbNode, node⚠️.expression); case 183: return 🔶visitNode(cbNode, node.expression); case 186: return 🔶visitNode(cbNode, node⚠️.expression); case 187: return 🔶visitNode(cbNode, node.expression); case 188: return 🔶visitNode(cbNode, node⚠️.expression); case 190: return 🔶visitNode(cbNode, node.operand); case 195: return 🔶visitNode(cbNode, node⚠️.asteriskToken) || 🔶visitNode(cbNode, node⚠️.expression); case 189: return 🔶visitNode(cbNode, node⚠️.expression); case 191: return 🔶visitNode(cbNode, node.operand); case 192: return 🔶visitNode(cbNode, node.left) || 🔶visitNode(cbNode, node.operatorToken) || 🔶visitNode(cbNode, node.right); case 200: return 🔶visitNode(cbNode, node.expression) || 🔶visitNode(cbNode, node.type); case 201: return 🔶visitNode(cbNode, node.expression); case 193: return 🔶visitNode(cbNode, node⚠️.condition) || 🔶visitNode(cbNode, node⚠️.questionToken) || 🔶visitNode(cbNode, node⚠️.whenTrue) || 🔶visitNode(cbNode, node⚠️.colonToken) || 🔶visitNode(cbNode, node⚠️.whenFalse); case 196: return 🔶visitNode(cbNode, node⚠️.expression); case 204: case 231: return 🔶visitNodes(cbNodes, node.statements); case 261: return 🔶visitNodes(cbNodes, node.statements) || 🔶visitNode(cbNode, node.endOfFileToken); case 205: return 🔶visitNodes(cbNodes, node.decorators) || 🔶visitNodes(cbNodes, node.modifiers) || 🔶visitNode(cbNode, node.declarationList); case 224: return 🔶visitNodes(cbNodes, node.declarations); case 207: return 🔶visitNode(cbNode, node.expression); case 208: return 🔶visitNode(cbNode, node⚠️.expression) || 🔶visitNode(cbNode, node⚠️.thenStatement) || 🔶visitNode(cbNode, node⚠️.elseStatement); case 209: return 🔶visitNode(cbNode, node⚠️.statement) || 🔶visitNode(cbNode, node⚠️.expression); case 210: return 🔶visitNode(cbNode, node⚠️.expression) || 🔶visitNode(cbNode, node⚠️.statement); case 211: return 🔶visitNode(cbNode, node⚠️.initializer) || 🔶visitNode(cbNode, node⚠️.condition) || 🔶visitNode(cbNode, node⚠️.incrementor) || 🔶visitNode(cbNode, node⚠️.statement); case 212: return 🔶visitNode(cbNode, node⚠️.initializer) || 🔶visitNode(cbNode, node⚠️.expression) || 🔶visitNode(cbNode, node⚠️.statement); case 213: return 🔶visitNode(cbNode, node⚠️.initializer) || 🔶visitNode(cbNode, node⚠️.expression) || 🔶visitNode(cbNode, node⚠️.statement); case 214: case 215: return 🔶visitNode(cbNode, node⚠️.label); case 216: return 🔶visitNode(cbNode, node⚠️.expression); case 217: return 🔶visitNode(cbNode, node⚠️.expression) || 🔶visitNode(cbNode, node⚠️.statement); case 218: return 🔶visitNode(cbNode, node⚠️.expression) || 🔶visitNode(cbNode, node⚠️.caseBlock); case 232: return 🔶visitNodes(cbNodes, node⚠️.clauses); case 253: return 🔶visitNode(cbNode, node⚠️.expression) || 🔶visitNodes(cbNodes, node⚠️.statements); case 254: return 🔶visitNodes(cbNodes, node⚠️.statements); case 219: return 🔶visitNode(cbNode, node⚠️.label) || 🔶visitNode(cbNode, node⚠️.statement); case 220: return 🔶visitNode(cbNode, node⚠️.expression); case 221: return 🔶visitNode(cbNode, node⚠️.tryBlock) || 🔶visitNode(cbNode, node⚠️.catchClause) || 🔶visitNode(cbNode, node⚠️.finallyBlock); case 256: return 🔶visitNode(cbNode, node⚠️.variableDeclaration) || 🔶visitNode(cbNode, node⚠️.block); case 145: return 🔶visitNode(cbNode, node.expression); case 226: case 197: return 🔶visitNodes(cbNodes, node.decorators) || 🔶visitNodes(cbNodes, node.modifiers) || 🔶visitNode(cbNode, node.name) || 🔶visitNodes(cbNodes, node.typeParameters) || 🔶visitNodes(cbNodes, node.heritageClauses) || 🔶visitNodes(cbNodes, node.members); case 227: return 🔶visitNodes(cbNodes, node.decorators) || 🔶visitNodes(cbNodes, node.modifiers) || 🔶visitNode(cbNode, node.name) || 🔶visitNodes(cbNodes, node.typeParameters) || 🔶visitNodes(cbNodes, node.heritageClauses) || 🔶visitNodes(cbNodes, node⚠️.members); case 228: return 🔶visitNodes(cbNodes, node.decorators) || 🔶visitNodes(cbNodes, node.modifiers) || 🔶visitNode(cbNode, node.name) || 🔶visitNodes(cbNodes, node.typeParameters) || 🔶visitNode(cbNode, node.type); case 229: return 🔶visitNodes(cbNodes, node.decorators) || 🔶visitNodes(cbNodes, node.modifiers) || 🔶visitNode(cbNode, node.name) || 🔶visitNodes(cbNodes, node.members); case 260: return 🔶visitNode(cbNode, node.name) || 🔶visitNode(cbNode, node.initializer); case 230: return 🔶visitNodes(cbNodes, node.decorators) || 🔶visitNodes(cbNodes, node.modifiers) || 🔶visitNode(cbNode, node.name) || 🔶visitNode(cbNode, node.body); case 234: return 🔶visitNodes(cbNodes, node⚠️.decorators) || 🔶visitNodes(cbNodes, node⚠️.modifiers) || 🔶visitNode(cbNode, node⚠️.name) || 🔶visitNode(cbNode, node⚠️.moduleReference); case 235: return 🔶visitNodes(cbNodes, node.decorators) || 🔶visitNodes(cbNodes, node.modifiers) || 🔶visitNode(cbNode, node.importClause) || 🔶visitNode(cbNode, node.moduleSpecifier); case 236: return 🔶visitNode(cbNode, node.name) || 🔶visitNode(cbNode, node.namedBindings); case 233: return 🔶visitNode(cbNode, node⚠️.name); case 237: return 🔶visitNode(cbNode, node.name); case 238: case 242: return 🔶visitNodes(cbNodes, node.elements); case 241: return 🔶visitNodes(cbNodes, node.decorators) || 🔶visitNodes(cbNodes, node.modif