github.com/evanw/esbuild/internal/js_parser.parser.lexer (field)
1146 uses
github.com/evanw/esbuild/internal/js_parser (current package)
js_parser.go#L38: lexer js_lexer.Lexer
js_parser.go#L1681: if p.lexer.IsLegacyOctalLiteral {
js_parser.go#L1685: p.legacyOctalLiterals[e] = p.lexer.Range()
js_parser.go#L1692: loc := p.lexer.Loc()
js_parser.go#L1693: if p.lexer.LegacyOctalLoc.Start > loc.Start {
js_parser.go#L1694: legacyOctalLoc = p.lexer.LegacyOctalLoc
js_parser.go#L1697: Value: p.lexer.StringLiteral,
js_parser.go#L1699: PreferTemplate: p.lexer.Token == js_lexer.TNoSubstitutionTemplateLiteral,
js_parser.go#L1701: p.lexer.Next()
js_parser.go#L1720: keyRange := p.lexer.Range()
js_parser.go#L1723: switch p.lexer.Token {
js_parser.go#L1725: key = js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.ENumber{Value: p.lexer.Number}}
js_parser.go#L1727: p.lexer.Next()
js_parser.go#L1733: key = js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EBigInt{Value: p.lexer.Identifier}}
js_parser.go#L1734: p.markSyntaxFeature(compat.BigInt, p.lexer.Range())
js_parser.go#L1735: p.lexer.Next()
js_parser.go#L1739: p.lexer.Expected(js_lexer.TIdentifier)
js_parser.go#L1741: key = js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EPrivateIdentifier{Ref: p.storeNameInRef(p.lexer.Identifier)}}
js_parser.go#L1742: p.lexer.Next()
js_parser.go#L1746: p.markSyntaxFeature(compat.ObjectExtensions, p.lexer.Range())
js_parser.go#L1747: p.lexer.Next()
js_parser.go#L1748: wasIdentifier := p.lexer.Token == js_lexer.TIdentifier
js_parser.go#L1752: if p.options.ts.Parse && p.lexer.Token == js_lexer.TColon && wasIdentifier && opts.isClass {
js_parser.go#L1755: p.lexer.Next()
js_parser.go#L1757: p.lexer.Expect(js_lexer.TCloseBracket)
js_parser.go#L1758: p.lexer.Expect(js_lexer.TColon)
js_parser.go#L1760: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L1767: p.lexer.Expect(js_lexer.TCloseBracket)
js_parser.go#L1772: p.lexer.Unexpected()
js_parser.go#L1774: p.lexer.Next()
js_parser.go#L1779: name := p.lexer.Identifier
js_parser.go#L1780: raw := p.lexer.Raw()
js_parser.go#L1781: nameRange := p.lexer.Range()
js_parser.go#L1782: if !p.lexer.IsIdentifierOrKeyword() {
js_parser.go#L1783: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L1785: p.lexer.Next()
js_parser.go#L1790: couldBeModifierKeyword := p.lexer.IsIdentifierOrKeyword()
js_parser.go#L1792: switch p.lexer.Token {
js_parser.go#L1815: if !opts.isAsync && raw == name && !p.lexer.HasNewlineBefore {
js_parser.go#L1840: if !opts.isClass && kind == js_ast.PropertyNormal && p.lexer.Token != js_lexer.TColon &&
js_parser.go#L1841: p.lexer.Token != js_lexer.TOpenParen && p.lexer.Token != js_lexer.TLessThan && !opts.isGenerator &&
js_parser.go#L1851: if errors != nil && p.lexer.Token == js_lexer.TEquals {
js_parser.go#L1852: errors.invalidExprDefaultValue = p.lexer.Range()
js_parser.go#L1853: p.lexer.Next()
js_parser.go#L1871: if opts.isClass && (p.lexer.Token == js_lexer.TQuestion || p.lexer.Token == js_lexer.TExclamation) {
js_parser.go#L1872: p.lexer.Next()
js_parser.go#L1882: !opts.isGenerator && p.lexer.Token != js_lexer.TOpenParen {
js_parser.go#L1894: if p.options.ts.Parse && p.lexer.Token == js_lexer.TColon {
js_parser.go#L1895: p.lexer.Next()
js_parser.go#L1899: if p.lexer.Token == js_lexer.TEquals {
js_parser.go#L1900: p.lexer.Next()
js_parser.go#L1920: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L1932: if p.lexer.Token == js_lexer.TOpenParen || kind != js_ast.PropertyNormal ||
js_parser.go#L1934: if p.lexer.Token == js_lexer.TOpenParen && kind != js_ast.PropertyGet && kind != js_ast.PropertySet {
js_parser.go#L1935: p.markSyntaxFeature(compat.ObjectExtensions, p.lexer.Range())
js_parser.go#L1937: loc := p.lexer.Loc()
js_parser.go#L2058: p.lexer.Expect(js_lexer.TColon)
js_parser.go#L2072: switch p.lexer.Token {
js_parser.go#L2074: p.lexer.Next()
js_parser.go#L2075: value := js_ast.Binding{Loc: p.lexer.Loc(), Data: &js_ast.BIdentifier{Ref: p.storeNameInRef(p.lexer.Identifier)}}
js_parser.go#L2076: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L2083: key = js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.ENumber{Value: p.lexer.Number}}
js_parser.go#L2085: p.lexer.Next()
js_parser.go#L2091: key = js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EBigInt{Value: p.lexer.Identifier}}
js_parser.go#L2092: p.markSyntaxFeature(compat.BigInt, p.lexer.Range())
js_parser.go#L2093: p.lexer.Next()
js_parser.go#L2097: p.lexer.Next()
js_parser.go#L2099: p.lexer.Expect(js_lexer.TCloseBracket)
js_parser.go#L2102: name := p.lexer.Identifier
js_parser.go#L2103: loc := p.lexer.Loc()
js_parser.go#L2104: if !p.lexer.IsIdentifierOrKeyword() {
js_parser.go#L2105: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L2107: p.lexer.Next()
js_parser.go#L2110: if p.lexer.Token != js_lexer.TColon && p.lexer.Token != js_lexer.TOpenParen {
js_parser.go#L2115: if p.lexer.Token == js_lexer.TEquals {
js_parser.go#L2116: p.lexer.Next()
js_parser.go#L2129: p.lexer.Expect(js_lexer.TColon)
js_parser.go#L2133: if p.lexer.Token == js_lexer.TEquals {
js_parser.go#L2134: p.lexer.Next()
js_parser.go#L2148: arrowLoc := p.lexer.Loc()
js_parser.go#L2151: if p.lexer.HasNewlineBefore {
js_parser.go#L2152: p.log.AddRangeError(&p.source, p.lexer.Range(), "Unexpected newline before \"=>\"")
js_parser.go#L2156: p.lexer.Expect(js_lexer.TEqualsGreaterThan)
js_parser.go#L2165: if p.lexer.Token == js_lexer.TOpenBrace {
js_parser.go#L2167: p.afterArrowBodyLoc = p.lexer.Loc()
js_parser.go#L2189: if !p.lexer.HasNewlineBefore && p.lexer.Token == js_lexer.TFunction {
js_parser.go#L2196: if !p.lexer.HasNewlineBefore && level < js_ast.LMember {
js_parser.go#L2197: switch p.lexer.Token {
js_parser.go#L2210: ref := p.storeNameInRef(p.lexer.Identifier)
js_parser.go#L2211: arg := js_ast.Arg{Binding: js_ast.Binding{Loc: p.lexer.Loc(), Data: &js_ast.BIdentifier{Ref: ref}}}
js_parser.go#L2212: p.lexer.Next()
js_parser.go#L2224: p.lexer.Next()
js_parser.go#L2231: p.lexer.Next()
js_parser.go#L2243: p.lexer.Next()
js_parser.go#L2244: isGenerator := p.lexer.Token == js_lexer.TAsterisk
js_parser.go#L2246: p.markSyntaxFeature(compat.Generator, p.lexer.Range())
js_parser.go#L2247: p.lexer.Next()
js_parser.go#L2257: if p.lexer.Token == js_lexer.TIdentifier {
js_parser.go#L2259: name = &js_ast.LocRef{Loc: p.lexer.Loc()}
js_parser.go#L2260: if text := p.lexer.Identifier; text != "arguments" {
js_parser.go#L2265: p.lexer.Next()
js_parser.go#L2314: for p.lexer.Token != js_lexer.TCloseParen {
js_parser.go#L2315: itemLoc := p.lexer.Loc()
js_parser.go#L2316: isSpread := p.lexer.Token == js_lexer.TDotDotDot
js_parser.go#L2319: spreadRange = p.lexer.Range()
js_parser.go#L2321: p.lexer.Next()
js_parser.go#L2327: p.latestArrowArgLoc = p.lexer.Loc()
js_parser.go#L2335: if p.options.ts.Parse && p.lexer.Token == js_lexer.TColon {
js_parser.go#L2336: typeColonRange = p.lexer.Range()
js_parser.go#L2337: p.lexer.Next()
js_parser.go#L2342: if p.options.ts.Parse && p.lexer.Token == js_lexer.TEquals && p.lexer.Loc() != p.forbidSuffixAfterAsLoc {
js_parser.go#L2343: p.lexer.Next()
js_parser.go#L2348: if p.lexer.Token != js_lexer.TComma {
js_parser.go#L2355: commaAfterSpread = p.lexer.Loc()
js_parser.go#L2359: p.lexer.Next()
js_parser.go#L2363: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L2372: if p.lexer.Token == js_lexer.TEqualsGreaterThan || opts.forceArrowFn || (p.options.ts.Parse && p.lexer.Token == js_lexer.TColon) {
js_parser.go#L2397: if p.lexer.Token == js_lexer.TEqualsGreaterThan || (len(invalidLog) == 0 &&
js_parser.go#L2455: p.lexer.Expected(js_lexer.TEqualsGreaterThan)
js_parser.go#L2617: loc := p.lexer.Loc()
js_parser.go#L2619: switch p.lexer.Token {
js_parser.go#L2621: superRange := p.lexer.Range()
js_parser.go#L2622: p.lexer.Next()
js_parser.go#L2624: switch p.lexer.Token {
js_parser.go#L2638: p.lexer.Next()
js_parser.go#L2648: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L2658: p.lexer.Next()
js_parser.go#L2662: p.lexer.Next()
js_parser.go#L2666: p.lexer.Next()
js_parser.go#L2670: p.lexer.Next()
js_parser.go#L2674: name := p.lexer.Identifier
js_parser.go#L2675: nameRange := p.lexer.Range()
js_parser.go#L2676: raw := p.lexer.Raw()
js_parser.go#L2677: p.lexer.Next()
js_parser.go#L2699: if p.lexer.Token == js_lexer.TAsteriskAsterisk {
js_parser.go#L2700: p.lexer.Unexpected()
js_parser.go#L2719: } else if !p.lexer.HasNewlineBefore {
js_parser.go#L2721: switch p.lexer.Token {
js_parser.go#L2731: if p.lexer.Token == js_lexer.TEqualsGreaterThan {
js_parser.go#L2749: head := p.lexer.StringLiteral
js_parser.go#L2750: if p.lexer.LegacyOctalLoc.Start > loc.Start {
js_parser.go#L2751: legacyOctalLoc = p.lexer.LegacyOctalLoc
js_parser.go#L2801: value := js_ast.Expr{Loc: loc, Data: &js_ast.ENumber{Value: p.lexer.Number}}
js_parser.go#L2803: p.lexer.Next()
js_parser.go#L2807: value := p.lexer.Identifier
js_parser.go#L2808: p.markSyntaxFeature(compat.BigInt, p.lexer.Range())
js_parser.go#L2809: p.lexer.Next()
js_parser.go#L2813: p.lexer.ScanRegExp()
js_parser.go#L2814: value := p.lexer.Raw()
js_parser.go#L2815: p.lexer.Next()
js_parser.go#L2819: p.lexer.Next()
js_parser.go#L2821: if p.lexer.Token == js_lexer.TAsteriskAsterisk {
js_parser.go#L2822: p.lexer.Unexpected()
js_parser.go#L2827: p.lexer.Next()
js_parser.go#L2829: if p.lexer.Token == js_lexer.TAsteriskAsterisk {
js_parser.go#L2830: p.lexer.Unexpected()
js_parser.go#L2835: p.lexer.Next()
js_parser.go#L2837: if p.lexer.Token == js_lexer.TAsteriskAsterisk {
js_parser.go#L2838: p.lexer.Unexpected()
js_parser.go#L2850: p.lexer.Next()
js_parser.go#L2852: if p.lexer.Token == js_lexer.TAsteriskAsterisk {
js_parser.go#L2853: p.lexer.Unexpected()
js_parser.go#L2858: p.lexer.Next()
js_parser.go#L2860: if p.lexer.Token == js_lexer.TAsteriskAsterisk {
js_parser.go#L2861: p.lexer.Unexpected()
js_parser.go#L2866: p.lexer.Next()
js_parser.go#L2868: if p.lexer.Token == js_lexer.TAsteriskAsterisk {
js_parser.go#L2869: p.lexer.Unexpected()
js_parser.go#L2874: p.lexer.Next()
js_parser.go#L2876: if p.lexer.Token == js_lexer.TAsteriskAsterisk {
js_parser.go#L2877: p.lexer.Unexpected()
js_parser.go#L2882: p.lexer.Next()
js_parser.go#L2886: p.lexer.Next()
js_parser.go#L2893: classKeyword := p.lexer.Range()
js_parser.go#L2895: p.lexer.Next()
js_parser.go#L2901: if p.lexer.Token == js_lexer.TIdentifier && !js_lexer.StrictModeReservedWords[p.lexer.Identifier] {
js_parser.go#L2902: name = &js_ast.LocRef{Loc: p.lexer.Loc(), Ref: p.newSymbol(js_ast.SymbolOther, p.lexer.Identifier)}
js_parser.go#L2903: p.lexer.Next()
js_parser.go#L2917: p.lexer.Next()
js_parser.go#L2920: if p.lexer.Token == js_lexer.TDot {
js_parser.go#L2921: p.lexer.Next()
js_parser.go#L2922: if p.lexer.Token != js_lexer.TIdentifier || p.lexer.Identifier != "target" {
js_parser.go#L2923: p.lexer.Unexpected()
js_parser.go#L2925: r := logger.Range{Loc: loc, Len: p.lexer.Range().End() - loc.Start}
js_parser.go#L2927: p.lexer.Next()
js_parser.go#L2936: if p.lexer.Token == js_lexer.TExclamation && !p.lexer.HasNewlineBefore {
js_parser.go#L2937: p.lexer.Next()
js_parser.go#L2941: if p.lexer.Token == js_lexer.TLessThan {
js_parser.go#L2946: if p.lexer.Token == js_lexer.TOpenParen {
js_parser.go#L2953: p.lexer.Next()
js_parser.go#L2954: isSingleLine := !p.lexer.HasNewlineBefore
js_parser.go#L2963: for p.lexer.Token != js_lexer.TCloseBracket {
js_parser.go#L2964: switch p.lexer.Token {
js_parser.go#L2966: items = append(items, js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EMissing{}})
js_parser.go#L2970: errors.arraySpreadFeature = p.lexer.Range()
js_parser.go#L2972: p.markSyntaxFeature(compat.ArraySpread, p.lexer.Range())
js_parser.go#L2974: dotsLoc := p.lexer.Loc()
js_parser.go#L2975: p.lexer.Next()
js_parser.go#L2980: if p.lexer.Token == js_lexer.TComma {
js_parser.go#L2981: commaAfterSpread = p.lexer.Loc()
js_parser.go#L2989: if p.lexer.Token != js_lexer.TComma {
js_parser.go#L2992: if p.lexer.HasNewlineBefore {
js_parser.go#L2995: p.lexer.Next()
js_parser.go#L2996: if p.lexer.HasNewlineBefore {
js_parser.go#L3001: if p.lexer.HasNewlineBefore {
js_parser.go#L3004: p.lexer.Expect(js_lexer.TCloseBracket)
js_parser.go#L3024: p.lexer.Next()
js_parser.go#L3025: isSingleLine := !p.lexer.HasNewlineBefore
js_parser.go#L3034: for p.lexer.Token != js_lexer.TCloseBrace {
js_parser.go#L3035: if p.lexer.Token == js_lexer.TDotDotDot {
js_parser.go#L3036: p.lexer.Next()
js_parser.go#L3044: if p.lexer.Token == js_lexer.TComma {
js_parser.go#L3045: commaAfterSpread = p.lexer.Loc()
js_parser.go#L3054: if p.lexer.Token != js_lexer.TComma {
js_parser.go#L3057: if p.lexer.HasNewlineBefore {
js_parser.go#L3060: p.lexer.Next()
js_parser.go#L3061: if p.lexer.HasNewlineBefore {
js_parser.go#L3066: if p.lexer.HasNewlineBefore {
js_parser.go#L3069: p.lexer.Expect(js_lexer.TCloseBrace)
js_parser.go#L3123: oldLexer := p.lexer
js_parser.go#L3124: p.lexer.Next()
js_parser.go#L3128: if p.lexer.Token == js_lexer.TIdentifier {
js_parser.go#L3129: p.lexer.Next()
js_parser.go#L3130: if p.lexer.Token == js_lexer.TComma {
js_parser.go#L3132: } else if p.lexer.Token == js_lexer.TExtends {
js_parser.go#L3133: p.lexer.Next()
js_parser.go#L3134: isTSArrowFn = p.lexer.Token != js_lexer.TEquals && p.lexer.Token != js_lexer.TGreaterThan
js_parser.go#L3139: p.lexer = oldLexer
js_parser.go#L3143: p.lexer.Expect(js_lexer.TOpenParen)
js_parser.go#L3150: p.lexer.NextInsideJSXElement()
js_parser.go#L3157: p.lexer.Next()
js_parser.go#L3167: p.lexer.Expect(js_lexer.TOpenParen)
js_parser.go#L3172: p.lexer.Next()
js_parser.go#L3174: p.lexer.ExpectGreaterThan(false /* isInsideJSXElement */)
js_parser.go#L3179: p.lexer.Unexpected()
js_parser.go#L3183: p.lexer.Next()
js_parser.go#L3187: p.lexer.Unexpected()
js_parser.go#L3194: isStar := p.lexer.Token == js_lexer.TAsterisk
js_parser.go#L3196: if p.lexer.HasNewlineBefore {
js_parser.go#L3197: p.lexer.Unexpected()
js_parser.go#L3199: p.lexer.Next()
js_parser.go#L3205: switch p.lexer.Token {
js_parser.go#L3210: if isStar || !p.lexer.HasNewlineBefore {
js_parser.go#L3220: switch p.lexer.Token {
js_parser.go#L3231: return !p.allowIn && p.lexer.IsContextualKeyword("of")
js_parser.go#L3241: if p.lexer.Token == js_lexer.TDot {
js_parser.go#L3243: p.lexer.Next()
js_parser.go#L3244: if p.lexer.IsContextualKeyword("meta") {
js_parser.go#L3245: r := p.lexer.Range()
js_parser.go#L3246: p.lexer.Next()
js_parser.go#L3254: p.lexer.ExpectedString("\"meta\"")
js_parser.go#L3267: p.lexer.PreserveAllCommentsBefore = true
js_parser.go#L3268: p.lexer.Expect(js_lexer.TOpenParen)
js_parser.go#L3269: comments := p.lexer.CommentsToPreserveBefore
js_parser.go#L3270: p.lexer.PreserveAllCommentsBefore = false
js_parser.go#L3273: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L3292: hadPureCommentBefore := p.lexer.HasPureCommentBefore && !p.options.ignoreDCEAnnotations
js_parser.go#L3316: if p.lexer.Loc() == p.afterArrowBodyLoc {
js_parser.go#L3318: switch p.lexer.Token {
js_parser.go#L3323: p.lexer.Next()
js_parser.go#L3333: if p.lexer.Loc() == p.forbidSuffixAfterAsLoc {
js_parser.go#L3342: switch p.lexer.Token {
js_parser.go#L3344: p.lexer.Next()
js_parser.go#L3346: if p.lexer.Token == js_lexer.TPrivateIdentifier && p.allowPrivateIdentifiers {
js_parser.go#L3350: p.lexer.Expected(js_lexer.TIdentifier)
js_parser.go#L3352: name := p.lexer.Identifier
js_parser.go#L3353: nameLoc := p.lexer.Loc()
js_parser.go#L3354: p.lexer.Next()
js_parser.go#L3364: if !p.lexer.IsIdentifierOrKeyword() {
js_parser.go#L3365: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L3367: name := p.lexer.Identifier
js_parser.go#L3368: nameLoc := p.lexer.Loc()
js_parser.go#L3369: p.lexer.Next()
js_parser.go#L3381: p.lexer.Next()
js_parser.go#L3383: switch p.lexer.Token {
js_parser.go#L3386: p.lexer.Next()
js_parser.go#L3396: p.lexer.Expect(js_lexer.TCloseBracket)
js_parser.go#L3417: p.lexer.Expected(js_lexer.TIdentifier)
js_parser.go#L3420: if p.lexer.Token != js_lexer.TOpenParen {
js_parser.go#L3421: p.lexer.Expected(js_lexer.TOpenParen)
js_parser.go#L3433: if p.lexer.Token == js_lexer.TPrivateIdentifier && p.allowPrivateIdentifiers {
js_parser.go#L3435: name := p.lexer.Identifier
js_parser.go#L3436: nameLoc := p.lexer.Loc()
js_parser.go#L3437: p.lexer.Next()
js_parser.go#L3446: if !p.lexer.IsIdentifierOrKeyword() {
js_parser.go#L3447: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L3449: name := p.lexer.Identifier
js_parser.go#L3450: nameLoc := p.lexer.Loc()
js_parser.go#L3451: p.lexer.Next()
js_parser.go#L3465: p.log.AddRangeError(&p.source, p.lexer.Range(), "Template literals cannot have an optional chain as a tag")
js_parser.go#L3467: p.markSyntaxFeature(compat.TemplateLiteral, p.lexer.Range())
js_parser.go#L3468: head := p.lexer.StringLiteral
js_parser.go#L3469: headRaw := p.lexer.RawTemplateContents()
js_parser.go#L3470: p.lexer.Next()
js_parser.go#L3476: p.log.AddRangeError(&p.source, p.lexer.Range(), "Template literals cannot have an optional chain as a tag")
js_parser.go#L3478: p.markSyntaxFeature(compat.TemplateLiteral, p.lexer.Range())
js_parser.go#L3479: head := p.lexer.StringLiteral
js_parser.go#L3480: headRaw := p.lexer.RawTemplateContents()
js_parser.go#L3498: p.lexer.Next()
js_parser.go#L3508: p.lexer.Expect(js_lexer.TCloseBracket)
js_parser.go#L3531: p.lexer.Next()
js_parser.go#L3537: if p.options.ts.Parse && left.Loc == p.latestArrowArgLoc && (p.lexer.Token == js_lexer.TColon ||
js_parser.go#L3538: p.lexer.Token == js_lexer.TCloseParen || p.lexer.Token == js_lexer.TComma) {
js_parser.go#L3540: p.lexer.Unexpected()
js_parser.go#L3542: errors.invalidExprAfterQuestion = p.lexer.Range()
js_parser.go#L3554: p.lexer.Expect(js_lexer.TColon)
js_parser.go#L3560: if p.lexer.HasNewlineBefore {
js_parser.go#L3564: p.lexer.Unexpected()
js_parser.go#L3569: p.lexer.Next()
js_parser.go#L3573: if p.lexer.HasNewlineBefore || level >= js_ast.LPostfix {
js_parser.go#L3576: p.lexer.Next()
js_parser.go#L3580: if p.lexer.HasNewlineBefore || level >= js_ast.LPostfix {
js_parser.go#L3583: p.lexer.Next()
js_parser.go#L3590: p.lexer.Next()
js_parser.go#L3597: p.lexer.Next()
js_parser.go#L3604: p.lexer.Next()
js_parser.go#L3611: p.lexer.Next()
js_parser.go#L3618: p.lexer.Next()
js_parser.go#L3625: p.lexer.Next()
js_parser.go#L3632: p.lexer.Next()
js_parser.go#L3639: p.lexer.Next()
js_parser.go#L3646: p.lexer.Next()
js_parser.go#L3653: p.lexer.Next()
js_parser.go#L3660: p.lexer.Next()
js_parser.go#L3667: p.lexer.Next()
js_parser.go#L3674: p.lexer.Next()
js_parser.go#L3681: p.lexer.Next()
js_parser.go#L3688: p.lexer.Next()
js_parser.go#L3695: p.lexer.Next()
js_parser.go#L3702: p.lexer.Next()
js_parser.go#L3717: p.lexer.Next()
js_parser.go#L3724: p.lexer.Next()
js_parser.go#L3731: p.lexer.Next()
js_parser.go#L3738: p.lexer.Next()
js_parser.go#L3745: p.lexer.Next()
js_parser.go#L3752: p.lexer.Next()
js_parser.go#L3759: p.lexer.Next()
js_parser.go#L3766: p.lexer.Next()
js_parser.go#L3773: p.lexer.Next()
js_parser.go#L3780: p.lexer.Next()
js_parser.go#L3787: p.lexer.Next()
js_parser.go#L3794: p.lexer.Next()
js_parser.go#L3804: p.lexer.Unexpected()
js_parser.go#L3807: p.lexer.Next()
js_parser.go#L3814: if p.lexer.Token == js_lexer.TQuestionQuestion {
js_parser.go#L3815: p.lexer.Unexpected()
js_parser.go#L3823: p.lexer.Next()
js_parser.go#L3833: p.lexer.Unexpected()
js_parser.go#L3836: p.lexer.Next()
js_parser.go#L3842: if p.lexer.Token == js_lexer.TQuestionQuestion {
js_parser.go#L3843: p.lexer.Unexpected()
js_parser.go#L3851: p.lexer.Next()
js_parser.go#L3858: p.lexer.Next()
js_parser.go#L3865: p.lexer.Next()
js_parser.go#L3872: p.lexer.Next()
js_parser.go#L3879: p.lexer.Next()
js_parser.go#L3886: p.lexer.Next()
js_parser.go#L3893: p.lexer.Next()
js_parser.go#L3900: p.lexer.Next()
js_parser.go#L3916: p.lexer.Next()
js_parser.go#L3933: p.lexer.Next()
js_parser.go#L3938: if p.options.ts.Parse && level < js_ast.LCompare && !p.lexer.HasNewlineBefore && p.lexer.IsContextualKeyword("as") {
js_parser.go#L3939: p.lexer.Next()
js_parser.go#L3949: switch p.lexer.Token {
js_parser.go#L3952: p.forbidSuffixAfterAsLoc = p.lexer.Loc()
js_parser.go#L3955: if p.lexer.Token.IsAssign() {
js_parser.go#L3956: p.forbidSuffixAfterAsLoc = p.lexer.Loc()
js_parser.go#L3968: letRange := p.lexer.Range()
js_parser.go#L3969: raw := p.lexer.Raw()
js_parser.go#L3971: if p.lexer.Token != js_lexer.TIdentifier || raw != "let" {
js_parser.go#L3975: p.lexer.Next()
js_parser.go#L3977: switch p.lexer.Token {
js_parser.go#L3979: if opts.lexicalDecl == lexicalDeclAllowAll || !p.lexer.HasNewlineBefore || p.lexer.Token == js_lexer.TOpenBracket {
js_parser.go#L4004: p.lexer.Expect(js_lexer.TOpenParen)
js_parser.go#L4006: for p.lexer.Token != js_lexer.TCloseParen {
js_parser.go#L4007: loc := p.lexer.Loc()
js_parser.go#L4008: isSpread := p.lexer.Token == js_lexer.TDotDotDot
js_parser.go#L4010: p.markSyntaxFeature(compat.RestArgument, p.lexer.Range())
js_parser.go#L4011: p.lexer.Next()
js_parser.go#L4018: if p.lexer.Token != js_lexer.TComma {
js_parser.go#L4021: p.lexer.Next()
js_parser.go#L4024: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L4030: loc := p.lexer.Loc()
js_parser.go#L4033: if p.lexer.Token == js_lexer.TGreaterThan {
js_parser.go#L4038: name := p.lexer.Identifier
js_parser.go#L4039: tagRange := p.lexer.Range()
js_parser.go#L4040: p.lexer.ExpectInsideJSXElement(js_lexer.TIdentifier)
js_parser.go#L4043: if strings.ContainsAny(name, "-:") || (p.lexer.Token != js_lexer.TDot && name[0] >= 'a' && name[0] <= 'z') {
js_parser.go#L4051: for p.lexer.Token == js_lexer.TDot {
js_parser.go#L4052: p.lexer.NextInsideJSXElement()
js_parser.go#L4053: memberRange := p.lexer.Range()
js_parser.go#L4054: member := p.lexer.Identifier
js_parser.go#L4055: p.lexer.ExpectInsideJSXElement(js_lexer.TIdentifier)
js_parser.go#L4094: switch p.lexer.Token {
js_parser.go#L4097: keyRange := p.lexer.Range()
js_parser.go#L4098: key := js_ast.Expr{Loc: keyRange.Loc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16(p.lexer.Identifier)}}
js_parser.go#L4099: p.lexer.NextInsideJSXElement()
js_parser.go#L4103: if p.lexer.Token != js_lexer.TEquals {
js_parser.go#L4108: p.lexer.NextInsideJSXElement()
js_parser.go#L4109: if p.lexer.Token == js_lexer.TStringLiteral {
js_parser.go#L4110: value = js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EString{Value: p.lexer.StringLiteral}}
js_parser.go#L4111: p.lexer.NextInsideJSXElement()
js_parser.go#L4114: p.lexer.Expect(js_lexer.TOpenBrace)
js_parser.go#L4116: p.lexer.ExpectInsideJSXElement(js_lexer.TCloseBrace)
js_parser.go#L4128: p.lexer.Next()
js_parser.go#L4129: p.lexer.Expect(js_lexer.TDotDotDot)
js_parser.go#L4137: p.lexer.NextInsideJSXElement()
js_parser.go#L4146: if p.lexer.Token == js_lexer.TSlash {
js_parser.go#L4148: p.lexer.NextInsideJSXElement()
js_parser.go#L4149: if p.lexer.Token != js_lexer.TGreaterThan {
js_parser.go#L4150: p.lexer.Expected(js_lexer.TGreaterThan)
js_parser.go#L4156: p.lexer.ExpectJSXElementChild(js_lexer.TGreaterThan)
js_parser.go#L4161: switch p.lexer.Token {
js_parser.go#L4163: children = append(children, js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EString{Value: p.lexer.StringLiteral}})
js_parser.go#L4164: p.lexer.NextJSXElementChild()
js_parser.go#L4168: p.lexer.Next()
js_parser.go#L4171: if p.lexer.Token == js_lexer.TDotDotDot && p.options.ts.Parse {
js_parser.go#L4172: p.lexer.Next()
js_parser.go#L4176: if p.lexer.Token != js_lexer.TCloseBrace {
js_parser.go#L4181: p.lexer.ExpectJSXElementChild(js_lexer.TCloseBrace)
js_parser.go#L4184: lessThanLoc := p.lexer.Loc()
js_parser.go#L4185: p.lexer.NextInsideJSXElement()
js_parser.go#L4187: if p.lexer.Token != js_lexer.TSlash {
js_parser.go#L4195: p.lexer.NextJSXElementChild()
js_parser.go#L4200: p.lexer.NextInsideJSXElement()
js_parser.go#L4206: if p.lexer.Token != js_lexer.TGreaterThan {
js_parser.go#L4207: p.lexer.Expected(js_lexer.TGreaterThan)
js_parser.go#L4213: p.lexer.Unexpected()
js_parser.go#L4224: p.lexer.Next()
js_parser.go#L4226: tailLoc := p.lexer.Loc()
js_parser.go#L4227: p.lexer.RescanCloseBraceAsTemplateToken()
js_parser.go#L4228: tail := p.lexer.StringLiteral
js_parser.go#L4231: tailRaw = p.lexer.RawTemplateContents()
js_parser.go#L4232: } else if p.lexer.LegacyOctalLoc.Start > tailLoc.Start {
js_parser.go#L4233: legacyOctalLoc = p.lexer.LegacyOctalLoc
js_parser.go#L4236: if p.lexer.Token == js_lexer.TTemplateTail {
js_parser.go#L4237: p.lexer.Next()
js_parser.go#L4252: if (kind == js_ast.SymbolOther || kind == js_ast.SymbolConst) && p.lexer.IsContextualKeyword("let") {
js_parser.go#L4253: p.log.AddRangeError(&p.source, p.lexer.Range(), "Cannot use \"let\" as an identifier here")
js_parser.go#L4263: isDefiniteAssignmentAssertion := p.lexer.Token == js_lexer.TExclamation
js_parser.go#L4265: p.lexer.Next()
js_parser.go#L4269: if isDefiniteAssignmentAssertion || p.lexer.Token == js_lexer.TColon {
js_parser.go#L4270: p.lexer.Expect(js_lexer.TColon)
js_parser.go#L4275: if p.lexer.Token == js_lexer.TEquals {
js_parser.go#L4276: p.lexer.Next()
js_parser.go#L4283: if p.lexer.Token != js_lexer.TComma {
js_parser.go#L4286: p.lexer.Next()
js_parser.go#L4323: p.lexer.Expect(js_lexer.TOpenBrace)
js_parser.go#L4324: isSingleLine := !p.lexer.HasNewlineBefore
js_parser.go#L4326: for p.lexer.Token != js_lexer.TCloseBrace {
js_parser.go#L4327: alias := p.lexer.Identifier
js_parser.go#L4328: aliasLoc := p.lexer.Loc()
js_parser.go#L4333: isIdentifier := p.lexer.Token == js_lexer.TIdentifier
js_parser.go#L4334: if !p.lexer.IsIdentifierOrKeyword() {
js_parser.go#L4335: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L4337: p.lexer.Next()
js_parser.go#L4339: if p.lexer.IsContextualKeyword("as") {
js_parser.go#L4340: p.lexer.Next()
js_parser.go#L4341: originalName = p.lexer.Identifier
js_parser.go#L4342: name = js_ast.LocRef{Loc: p.lexer.Loc(), Ref: p.storeNameInRef(originalName)}
js_parser.go#L4343: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L4346: p.lexer.Unexpected()
js_parser.go#L4362: if p.lexer.Token != js_lexer.TComma {
js_parser.go#L4365: if p.lexer.HasNewlineBefore {
js_parser.go#L4368: p.lexer.Next()
js_parser.go#L4369: if p.lexer.HasNewlineBefore {
js_parser.go#L4374: if p.lexer.HasNewlineBefore {
js_parser.go#L4377: p.lexer.Expect(js_lexer.TCloseBrace)
js_parser.go#L4384: p.lexer.Expect(js_lexer.TOpenBrace)
js_parser.go#L4385: isSingleLine := !p.lexer.HasNewlineBefore
js_parser.go#L4387: for p.lexer.Token != js_lexer.TCloseBrace {
js_parser.go#L4388: alias := p.lexer.Identifier
js_parser.go#L4389: aliasLoc := p.lexer.Loc()
js_parser.go#L4403: if p.lexer.Token != js_lexer.TIdentifier {
js_parser.go#L4404: if !p.lexer.IsIdentifierOrKeyword() {
js_parser.go#L4405: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L4408: firstKeywordItemLoc = p.lexer.Loc()
js_parser.go#L4412: p.lexer.Next()
js_parser.go#L4414: if p.lexer.IsContextualKeyword("as") {
js_parser.go#L4415: p.lexer.Next()
js_parser.go#L4416: alias = p.lexer.Identifier
js_parser.go#L4417: aliasLoc = p.lexer.Loc()
js_parser.go#L4420: if !p.lexer.IsIdentifierOrKeyword() {
js_parser.go#L4421: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L4424: p.lexer.Next()
js_parser.go#L4434: if p.lexer.Token != js_lexer.TComma {
js_parser.go#L4437: if p.lexer.HasNewlineBefore {
js_parser.go#L4440: p.lexer.Next()
js_parser.go#L4441: if p.lexer.HasNewlineBefore {
js_parser.go#L4446: if p.lexer.HasNewlineBefore {
js_parser.go#L4449: p.lexer.Expect(js_lexer.TCloseBrace)
js_parser.go#L4453: if firstKeywordItemLoc.Start != 0 && !p.lexer.IsContextualKeyword("from") {
js_parser.go#L4463: loc := p.lexer.Loc()
js_parser.go#L4465: switch p.lexer.Token {
js_parser.go#L4467: name := p.lexer.Identifier
js_parser.go#L4469: p.log.AddRangeError(&p.source, p.lexer.Range(), fmt.Sprintf("Cannot use %q as an identifier here", name))
js_parser.go#L4472: p.lexer.Next()
js_parser.go#L4476: p.markSyntaxFeature(compat.Destructuring, p.lexer.Range())
js_parser.go#L4477: p.lexer.Next()
js_parser.go#L4478: isSingleLine := !p.lexer.HasNewlineBefore
js_parser.go#L4486: for p.lexer.Token != js_lexer.TCloseBracket {
js_parser.go#L4487: if p.lexer.Token == js_lexer.TComma {
js_parser.go#L4488: binding := js_ast.Binding{Loc: p.lexer.Loc(), Data: &js_ast.BMissing{}}
js_parser.go#L4491: if p.lexer.Token == js_lexer.TDotDotDot {
js_parser.go#L4492: p.lexer.Next()
js_parser.go#L4496: if p.lexer.Token != js_lexer.TIdentifier {
js_parser.go#L4497: p.markSyntaxFeature(compat.NestedRestBinding, p.lexer.Range())
js_parser.go#L4504: if !hasSpread && p.lexer.Token == js_lexer.TEquals {
js_parser.go#L4505: p.lexer.Next()
js_parser.go#L4513: if hasSpread && p.lexer.Token == js_lexer.TComma {
js_parser.go#L4514: p.log.AddRangeError(&p.source, p.lexer.Range(), "Unexpected \",\" after rest pattern")
js_parser.go#L4519: if p.lexer.Token != js_lexer.TComma {
js_parser.go#L4522: if p.lexer.HasNewlineBefore {
js_parser.go#L4525: p.lexer.Next()
js_parser.go#L4526: if p.lexer.HasNewlineBefore {
js_parser.go#L4533: if p.lexer.HasNewlineBefore {
js_parser.go#L4536: p.lexer.Expect(js_lexer.TCloseBracket)
js_parser.go#L4544: p.markSyntaxFeature(compat.Destructuring, p.lexer.Range())
js_parser.go#L4545: p.lexer.Next()
js_parser.go#L4546: isSingleLine := !p.lexer.HasNewlineBefore
js_parser.go#L4553: for p.lexer.Token != js_lexer.TCloseBrace {
js_parser.go#L4558: if property.IsSpread && p.lexer.Token == js_lexer.TComma {
js_parser.go#L4559: p.log.AddRangeError(&p.source, p.lexer.Range(), "Unexpected \",\" after rest pattern")
js_parser.go#L4563: if p.lexer.Token != js_lexer.TComma {
js_parser.go#L4566: if p.lexer.HasNewlineBefore {
js_parser.go#L4569: p.lexer.Next()
js_parser.go#L4570: if p.lexer.HasNewlineBefore {
js_parser.go#L4577: if p.lexer.HasNewlineBefore {
js_parser.go#L4580: p.lexer.Expect(js_lexer.TCloseBrace)
js_parser.go#L4587: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L4601: fn.OpenParenLoc = p.lexer.Loc()
js_parser.go#L4602: p.lexer.Expect(js_lexer.TOpenParen)
js_parser.go#L4612: for p.lexer.Token != js_lexer.TCloseParen {
js_parser.go#L4614: if p.options.ts.Parse && p.lexer.Token == js_lexer.TThis {
js_parser.go#L4615: p.lexer.Next()
js_parser.go#L4616: if p.lexer.Token == js_lexer.TColon {
js_parser.go#L4617: p.lexer.Next()
js_parser.go#L4620: if p.lexer.Token != js_lexer.TComma {
js_parser.go#L4623: p.lexer.Next()
js_parser.go#L4632: if !fn.HasRestArg && p.lexer.Token == js_lexer.TDotDotDot {
js_parser.go#L4633: p.markSyntaxFeature(compat.RestArgument, p.lexer.Range())
js_parser.go#L4634: p.lexer.Next()
js_parser.go#L4639: isIdentifier := p.lexer.Token == js_lexer.TIdentifier
js_parser.go#L4640: text := p.lexer.Identifier
js_parser.go#L4648: for p.lexer.Token == js_lexer.TIdentifier || p.lexer.Token == js_lexer.TOpenBrace || p.lexer.Token == js_lexer.TOpenBracket {
js_parser.go#L4655: if p.lexer.Token != js_lexer.TIdentifier {
js_parser.go#L4656: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L4658: text = p.lexer.Identifier
js_parser.go#L4666: if p.lexer.Token == js_lexer.TQuestion {
js_parser.go#L4667: p.lexer.Next()
js_parser.go#L4671: if p.lexer.Token == js_lexer.TColon {
js_parser.go#L4672: p.lexer.Next()
js_parser.go#L4680: if !fn.HasRestArg && p.lexer.Token == js_lexer.TEquals {
js_parser.go#L4681: p.markSyntaxFeature(compat.DefaultArgument, p.lexer.Range())
js_parser.go#L4682: p.lexer.Next()
js_parser.go#L4696: if p.lexer.Token != js_lexer.TComma {
js_parser.go#L4703: p.lexer.Next()
js_parser.go#L4705: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L4709: p.lexer.Next()
js_parser.go#L4721: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L4725: if p.options.ts.Parse && p.lexer.Token == js_lexer.TColon {
js_parser.go#L4726: p.lexer.Next()
js_parser.go#L4731: if data.allowMissingBodyForTypeScript && p.lexer.Token != js_lexer.TOpenBrace {
js_parser.go#L4732: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L4743: classKeyword := p.lexer.Range()
js_parser.go#L4744: if p.lexer.Token == js_lexer.TClass {
js_parser.go#L4746: p.lexer.Next()
js_parser.go#L4748: p.lexer.Expected(js_lexer.TClass)
js_parser.go#L4751: isIdentifier := p.lexer.Token == js_lexer.TIdentifier
js_parser.go#L4752: isStrictModeReservedWord := isIdentifier && js_lexer.StrictModeReservedWords[p.lexer.Identifier]
js_parser.go#L4754: nameLoc := p.lexer.Loc()
js_parser.go#L4755: nameText := p.lexer.Identifier
js_parser.go#L4757: p.lexer.Unexpected()
js_parser.go#L4759: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L4799: if p.lexer.Token == js_lexer.TExtends {
js_parser.go#L4800: p.lexer.Next()
js_parser.go#L4816: if p.options.ts.Parse && p.lexer.IsContextualKeyword("implements") {
js_parser.go#L4817: p.lexer.Next()
js_parser.go#L4820: if p.lexer.Token != js_lexer.TComma {
js_parser.go#L4823: p.lexer.Next()
js_parser.go#L4827: bodyLoc := p.lexer.Loc()
js_parser.go#L4828: p.lexer.Expect(js_lexer.TOpenBrace)
js_parser.go#L4846: for p.lexer.Token != js_lexer.TCloseBrace {
js_parser.go#L4847: if p.lexer.Token == js_lexer.TSemicolon {
js_parser.go#L4848: p.lexer.Next()
js_parser.go#L4853: firstDecoratorLoc := p.lexer.Loc()
js_parser.go#L4883: p.lexer.Expect(js_lexer.TCloseBrace)
js_parser.go#L4895: if p.lexer.Token != js_lexer.TIdentifier || p.lexer.HasNewlineBefore {
js_parser.go#L4899: name := js_ast.LocRef{Loc: p.lexer.Loc(), Ref: p.storeNameInRef(p.lexer.Identifier)}
js_parser.go#L4900: p.lexer.Next()
js_parser.go#L4905: pathLoc := p.lexer.Loc()
js_parser.go#L4906: pathText := js_lexer.UTF16ToString(p.lexer.StringLiteral)
js_parser.go#L4907: if p.lexer.Token == js_lexer.TNoSubstitutionTemplateLiteral {
js_parser.go#L4908: p.lexer.Next()
js_parser.go#L4910: p.lexer.Expect(js_lexer.TStringLiteral)
js_parser.go#L4917: isGenerator := p.lexer.Token == js_lexer.TAsterisk
js_parser.go#L4919: p.markSyntaxFeature(compat.Generator, p.lexer.Range())
js_parser.go#L4920: p.lexer.Next()
js_parser.go#L4940: if !opts.isNameOptional || p.lexer.Token == js_lexer.TIdentifier {
js_parser.go#L4941: nameLoc := p.lexer.Loc()
js_parser.go#L4942: nameText = p.lexer.Identifier
js_parser.go#L4943: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L4959: scopeIndex := p.pushScopeForParsePass(js_ast.ScopeFunctionArgs, p.lexer.Loc())
js_parser.go#L5036: loc := p.lexer.Loc()
js_parser.go#L5038: switch p.lexer.Token {
js_parser.go#L5040: p.lexer.Next()
js_parser.go#L5046: p.es6ExportKeyword = p.lexer.Range()
js_parser.go#L5048: p.lexer.Unexpected()
js_parser.go#L5050: p.lexer.Next()
js_parser.go#L5059: if opts.tsDecorators != nil && p.lexer.Token != js_lexer.TClass && p.lexer.Token != js_lexer.TDefault &&
js_parser.go#L5060: !p.lexer.IsContextualKeyword("abstract") && !p.lexer.IsContextualKeyword("declare") {
js_parser.go#L5061: p.lexer.Expected(js_lexer.TClass)
js_parser.go#L5064: switch p.lexer.Token {
js_parser.go#L5076: p.lexer.Unexpected()
js_parser.go#L5081: p.lexer.Unexpected()
js_parser.go#L5087: if p.lexer.IsContextualKeyword("let") {
js_parser.go#L5092: if opts.isTypeScriptDeclare && p.lexer.IsContextualKeyword("as") {
js_parser.go#L5094: p.lexer.Next()
js_parser.go#L5095: p.lexer.ExpectContextualKeyword("namespace")
js_parser.go#L5096: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L5097: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5101: if p.lexer.IsContextualKeyword("async") {
js_parser.go#L5103: asyncRange := p.lexer.Range()
js_parser.go#L5104: p.lexer.Next()
js_parser.go#L5105: if p.lexer.HasNewlineBefore {
js_parser.go#L5109: p.lexer.Expect(js_lexer.TFunction)
js_parser.go#L5115: switch p.lexer.Identifier {
js_parser.go#L5118: typeRange := p.lexer.Range()
js_parser.go#L5119: p.lexer.Next()
js_parser.go#L5120: if p.lexer.HasNewlineBefore {
js_parser.go#L5144: p.lexer.Unexpected()
js_parser.go#L5149: p.lexer.Unexpected()
js_parser.go#L5152: defaultLoc := p.lexer.Loc()
js_parser.go#L5153: p.lexer.Next()
js_parser.go#L5165: if opts.tsDecorators != nil && p.lexer.Token != js_lexer.TClass && !p.lexer.IsContextualKeyword("abstract") {
js_parser.go#L5166: p.lexer.Expected(js_lexer.TClass)
js_parser.go#L5169: if p.lexer.IsContextualKeyword("async") {
js_parser.go#L5170: asyncRange := p.lexer.Range()
js_parser.go#L5171: p.lexer.Next()
js_parser.go#L5173: if p.lexer.Token == js_lexer.TFunction && !p.lexer.HasNewlineBefore {
js_parser.go#L5174: p.lexer.Next()
js_parser.go#L5196: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5200: if p.lexer.Token == js_lexer.TFunction || p.lexer.Token == js_lexer.TClass || p.lexer.IsContextualKeyword("interface") {
js_parser.go#L5232: isIdentifier := p.lexer.Token == js_lexer.TIdentifier
js_parser.go#L5233: name := p.lexer.Identifier
js_parser.go#L5238: if _, ok := expr.Data.(*js_ast.EIdentifier); ok && (p.lexer.Token == js_lexer.TClass || opts.tsDecorators != nil) {
js_parser.go#L5256: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5262: p.lexer.Unexpected()
js_parser.go#L5265: p.lexer.Next()
js_parser.go#L5271: if p.lexer.IsContextualKeyword("as") {
js_parser.go#L5273: p.lexer.Next()
js_parser.go#L5274: name := p.lexer.Identifier
js_parser.go#L5276: alias = &js_ast.ExportStarAlias{Loc: p.lexer.Loc(), OriginalName: name}
js_parser.go#L5277: if !p.lexer.IsIdentifierOrKeyword() {
js_parser.go#L5278: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L5281: p.lexer.Next()
js_parser.go#L5282: p.lexer.ExpectContextualKeyword("from")
js_parser.go#L5286: p.lexer.ExpectContextualKeyword("from")
js_parser.go#L5293: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5302: p.lexer.Unexpected()
js_parser.go#L5306: if p.lexer.IsContextualKeyword("from") {
js_parser.go#L5307: p.lexer.Next()
js_parser.go#L5312: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5320: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5327: p.lexer.Next()
js_parser.go#L5329: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5332: p.lexer.Unexpected()
js_parser.go#L5336: p.lexer.Unexpected()
js_parser.go#L5341: p.lexer.Next()
js_parser.go#L5346: p.lexer.Unexpected()
js_parser.go#L5380: if p.lexer.Token != js_lexer.TClass && p.lexer.Token != js_lexer.TExport &&
js_parser.go#L5381: !p.lexer.IsContextualKeyword("abstract") && !p.lexer.IsContextualKeyword("declare") {
js_parser.go#L5382: p.lexer.Expected(js_lexer.TClass)
js_parser.go#L5388: p.lexer.Unexpected()
js_parser.go#L5398: p.lexer.Next()
js_parser.go#L5400: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5411: p.markSyntaxFeature(compat.Const, p.lexer.Range())
js_parser.go#L5412: p.lexer.Next()
js_parser.go#L5414: if p.options.ts.Parse && p.lexer.Token == js_lexer.TEnum {
js_parser.go#L5419: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5430: p.lexer.Next()
js_parser.go#L5431: p.lexer.Expect(js_lexer.TOpenParen)
js_parser.go#L5433: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L5436: if p.lexer.Token == js_lexer.TElse {
js_parser.go#L5437: p.lexer.Next()
js_parser.go#L5444: p.lexer.Next()
js_parser.go#L5446: p.lexer.Expect(js_lexer.TWhile)
js_parser.go#L5447: p.lexer.Expect(js_lexer.TOpenParen)
js_parser.go#L5449: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L5453: if p.lexer.Token == js_lexer.TSemicolon {
js_parser.go#L5454: p.lexer.Next()
js_parser.go#L5459: p.lexer.Next()
js_parser.go#L5460: p.lexer.Expect(js_lexer.TOpenParen)
js_parser.go#L5462: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L5467: p.lexer.Next()
js_parser.go#L5468: p.lexer.Expect(js_lexer.TOpenParen)
js_parser.go#L5470: bodyLoc := p.lexer.Loc()
js_parser.go#L5471: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L5483: p.lexer.Next()
js_parser.go#L5484: p.lexer.Expect(js_lexer.TOpenParen)
js_parser.go#L5486: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L5488: bodyLoc := p.lexer.Loc()
js_parser.go#L5492: p.lexer.Expect(js_lexer.TOpenBrace)
js_parser.go#L5496: for p.lexer.Token != js_lexer.TCloseBrace {
js_parser.go#L5500: if p.lexer.Token == js_lexer.TDefault {
js_parser.go#L5502: p.log.AddRangeError(&p.source, p.lexer.Range(), "Multiple default clauses are not allowed")
js_parser.go#L5506: p.lexer.Next()
js_parser.go#L5507: p.lexer.Expect(js_lexer.TColon)
js_parser.go#L5509: p.lexer.Expect(js_lexer.TCase)
js_parser.go#L5512: p.lexer.Expect(js_lexer.TColon)
js_parser.go#L5517: switch p.lexer.Token {
js_parser.go#L5529: p.lexer.Expect(js_lexer.TCloseBrace)
js_parser.go#L5537: p.lexer.Next()
js_parser.go#L5538: bodyLoc := p.lexer.Loc()
js_parser.go#L5539: p.lexer.Expect(js_lexer.TOpenBrace)
js_parser.go#L5543: p.lexer.Next()
js_parser.go#L5548: if p.lexer.Token == js_lexer.TCatch {
js_parser.go#L5549: catchLoc := p.lexer.Loc()
js_parser.go#L5551: p.lexer.Next()
js_parser.go#L5555: if p.lexer.Token == js_lexer.TOpenBrace {
js_parser.go#L5560: binding = &js_ast.Binding{Loc: p.lexer.Loc(), Data: &js_ast.BIdentifier{Ref: ref}}
js_parser.go#L5563: p.lexer.Expect(js_lexer.TOpenParen)
js_parser.go#L5567: if p.options.ts.Parse && p.lexer.Token == js_lexer.TColon {
js_parser.go#L5568: p.lexer.Expect(js_lexer.TColon)
js_parser.go#L5572: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L5583: p.lexer.Expect(js_lexer.TOpenBrace)
js_parser.go#L5585: p.lexer.Next()
js_parser.go#L5590: if p.lexer.Token == js_lexer.TFinally || catch == nil {
js_parser.go#L5591: finallyLoc := p.lexer.Loc()
js_parser.go#L5593: p.lexer.Expect(js_lexer.TFinally)
js_parser.go#L5594: p.lexer.Expect(js_lexer.TOpenBrace)
js_parser.go#L5596: p.lexer.Next()
js_parser.go#L5612: p.lexer.Next()
js_parser.go#L5615: isForAwait := p.lexer.IsContextualKeyword("await")
js_parser.go#L5617: awaitRange := p.lexer.Range()
js_parser.go#L5628: p.lexer.Next()
js_parser.go#L5631: p.lexer.Expect(js_lexer.TOpenParen)
js_parser.go#L5641: if p.lexer.IsContextualKeyword("let") {
js_parser.go#L5642: badLetRange = p.lexer.Range()
js_parser.go#L5645: initLoc := p.lexer.Loc()
js_parser.go#L5647: switch p.lexer.Token {
js_parser.go#L5650: p.lexer.Next()
js_parser.go#L5655: p.markSyntaxFeature(compat.Const, p.lexer.Range())
js_parser.go#L5656: p.lexer.Next()
js_parser.go#L5678: if p.lexer.IsContextualKeyword("of") || isForAwait {
js_parser.go#L5682: if isForAwait && !p.lexer.IsContextualKeyword("of") {
js_parser.go#L5684: p.lexer.ExpectedString("\"of\"")
js_parser.go#L5686: p.lexer.Unexpected()
js_parser.go#L5690: p.markSyntaxFeature(compat.ForOf, p.lexer.Range())
js_parser.go#L5691: p.lexer.Next()
js_parser.go#L5693: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L5699: if p.lexer.Token == js_lexer.TIn {
js_parser.go#L5701: p.lexer.Next()
js_parser.go#L5703: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L5715: p.lexer.Expect(js_lexer.TSemicolon)
js_parser.go#L5717: if p.lexer.Token != js_lexer.TSemicolon {
js_parser.go#L5722: p.lexer.Expect(js_lexer.TSemicolon)
js_parser.go#L5724: if p.lexer.Token != js_lexer.TCloseParen {
js_parser.go#L5729: p.lexer.Expect(js_lexer.TCloseParen)
js_parser.go#L5735: p.es6ImportKeyword = p.lexer.Range()
js_parser.go#L5736: p.lexer.Next()
js_parser.go#L5742: if (opts.isExport || (opts.isNamespaceScope && !opts.isTypeScriptDeclare)) && p.lexer.Token != js_lexer.TIdentifier {
js_parser.go#L5743: p.lexer.Expected(js_lexer.TIdentifier)
js_parser.go#L5746: switch p.lexer.Token {
js_parser.go#L5752: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5758: p.lexer.Unexpected()
js_parser.go#L5767: p.lexer.Unexpected()
js_parser.go#L5771: p.lexer.Next()
js_parser.go#L5772: p.lexer.ExpectContextualKeyword("as")
js_parser.go#L5773: stmt.NamespaceRef = p.storeNameInRef(p.lexer.Identifier)
js_parser.go#L5774: starLoc := p.lexer.Loc()
js_parser.go#L5776: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L5777: p.lexer.ExpectContextualKeyword("from")
js_parser.go#L5782: p.lexer.Unexpected()
js_parser.go#L5789: p.lexer.ExpectContextualKeyword("from")
js_parser.go#L5795: p.lexer.Unexpected()
js_parser.go#L5799: defaultName := p.lexer.Identifier
js_parser.go#L5800: stmt.DefaultName = &js_ast.LocRef{Loc: p.lexer.Loc(), Ref: p.storeNameInRef(defaultName)}
js_parser.go#L5801: p.lexer.Next()
js_parser.go#L5806: switch p.lexer.Token {
js_parser.go#L5808: if p.lexer.Identifier != "from" {
js_parser.go#L5810: p.lexer.Next()
js_parser.go#L5811: p.lexer.ExpectContextualKeyword("from")
js_parser.go#L5813: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5819: p.lexer.Next()
js_parser.go#L5820: p.lexer.ExpectContextualKeyword("as")
js_parser.go#L5821: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L5822: p.lexer.ExpectContextualKeyword("from")
js_parser.go#L5824: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5830: p.lexer.ExpectContextualKeyword("from")
js_parser.go#L5832: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5838: if p.lexer.Token == js_lexer.TEquals || opts.isExport || (opts.isNamespaceScope && !opts.isTypeScriptDeclare) {
js_parser.go#L5844: if p.lexer.Token == js_lexer.TComma {
js_parser.go#L5845: p.lexer.Next()
js_parser.go#L5846: switch p.lexer.Token {
js_parser.go#L5849: p.lexer.Next()
js_parser.go#L5850: p.lexer.ExpectContextualKeyword("as")
js_parser.go#L5851: stmt.NamespaceRef = p.storeNameInRef(p.lexer.Identifier)
js_parser.go#L5852: starLoc := p.lexer.Loc()
js_parser.go#L5854: p.lexer.Expect(js_lexer.TIdentifier)
js_parser.go#L5863: p.lexer.Unexpected()
js_parser.go#L5867: p.lexer.ExpectContextualKeyword("from")
js_parser.go#L5870: p.lexer.Unexpected()
js_parser.go#L5877: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5916: p.lexer.Next()
js_parser.go#L5918: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5922: p.lexer.Next()
js_parser.go#L5924: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5928: p.lexer.Next()
js_parser.go#L5930: if p.lexer.Token != js_lexer.TSemicolon &&
js_parser.go#L5931: !p.lexer.HasNewlineBefore &&
js_parser.go#L5932: p.lexer.Token != js_lexer.TCloseBrace &&
js_parser.go#L5933: p.lexer.Token != js_lexer.TEndOfFile {
js_parser.go#L5937: p.latestReturnHadSemicolon = p.lexer.Token == js_lexer.TSemicolon
js_parser.go#L5938: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5945: p.lexer.Next()
js_parser.go#L5946: if p.lexer.HasNewlineBefore {
js_parser.go#L5951: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5955: p.lexer.Next()
js_parser.go#L5956: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5963: p.lexer.Next()
js_parser.go#L5965: p.lexer.Next()
js_parser.go#L5969: isIdentifier := p.lexer.Token == js_lexer.TIdentifier
js_parser.go#L5970: name := p.lexer.Identifier
js_parser.go#L5974: if isIdentifier && p.lexer.Raw() == "async" {
js_parser.go#L5975: asyncRange := p.lexer.Range()
js_parser.go#L5976: p.lexer.Next()
js_parser.go#L5977: if p.lexer.Token == js_lexer.TFunction && !p.lexer.HasNewlineBefore {
js_parser.go#L5978: p.lexer.Next()
js_parser.go#L5986: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L5993: if p.lexer.Token == js_lexer.TColon && opts.tsDecorators == nil {
js_parser.go#L5998: p.lexer.Next()
js_parser.go#L6011: if p.lexer.Token == js_lexer.TIdentifier && !p.lexer.HasNewlineBefore {
js_parser.go#L6022: if (opts.isModuleScope || opts.isNamespaceScope) && (p.lexer.Token == js_lexer.TIdentifier ||
js_parser.go#L6023: (p.lexer.Token == js_lexer.TStringLiteral && opts.isTypeScriptDeclare)) {
js_parser.go#L6033: if p.lexer.Token == js_lexer.TClass || opts.tsDecorators != nil {
js_parser.go#L6039: if opts.isNamespaceScope && opts.isTypeScriptDeclare && p.lexer.Token == js_lexer.TOpenBrace {
js_parser.go#L6040: p.lexer.Next()
js_parser.go#L6042: p.lexer.Next()
js_parser.go#L6052: if opts.tsDecorators != nil && p.lexer.Token != js_lexer.TClass && !p.lexer.IsContextualKeyword("abstract") {
js_parser.go#L6053: p.lexer.Expected(js_lexer.TClass)
js_parser.go#L6057: if p.lexer.IsContextualKeyword("global") {
js_parser.go#L6058: p.lexer.Next()
js_parser.go#L6059: p.lexer.Expect(js_lexer.TOpenBrace)
js_parser.go#L6061: p.lexer.Next()
js_parser.go#L6113: p.lexer.ExpectOrInsertSemicolon()
js_parser.go#L6158: loc := p.lexer.Loc()
js_parser.go#L6162: p.lexer.Expect(js_lexer.TOpenBrace)
js_parser.go#L6164: p.lexer.Next()
js_parser.go#L6184: comments := p.lexer.CommentsToPreserveBefore
js_parser.go#L6194: if p.lexer.Token == end {
js_parser.go#L12631: lexer: lexer,
js_parser.go#L12704: if p.lexer.Token == js_lexer.THashbang {
js_parser.go#L12705: hashbang = p.lexer.Identifier
js_parser.go#L12706: p.lexer.Next()
js_parser.go#L12822: result.SourceMapComment = p.lexer.SourceMappingURL
js_parser.go#L12903: if value := p.validateJSX(p.lexer.JSXFactoryPragmaComment, "factory"); value != nil {
js_parser.go#L12906: if value := p.validateJSX(p.lexer.JSXFragmentPragmaComment, "fragment"); value != nil {
js_parser.go#L12971: for _, comment := range p.lexer.AllOriginalComments {
js_parser.go#L13167: ApproximateLineCount: int32(p.lexer.ApproximateNewlineCount) + 1,
ts_parser.go#L14: switch p.lexer.Token {
ts_parser.go#L16: p.lexer.Next()
ts_parser.go#L19: p.lexer.Next()
ts_parser.go#L22: for p.lexer.Token == js_lexer.TComma {
ts_parser.go#L23: p.lexer.Next()
ts_parser.go#L27: for p.lexer.Token != js_lexer.TCloseBracket {
ts_parser.go#L29: if p.lexer.Token != js_lexer.TComma {
ts_parser.go#L32: p.lexer.Next()
ts_parser.go#L35: p.lexer.Expect(js_lexer.TCloseBracket)
ts_parser.go#L38: p.lexer.Next()
ts_parser.go#L40: for p.lexer.Token != js_lexer.TCloseBrace {
ts_parser.go#L43: switch p.lexer.Token {
ts_parser.go#L48: p.lexer.Next()
ts_parser.go#L53: p.lexer.Next()
ts_parser.go#L56: if p.lexer.IsIdentifierOrKeyword() {
ts_parser.go#L58: p.lexer.Next()
ts_parser.go#L60: p.lexer.Unexpected()
ts_parser.go#L64: if p.lexer.Token == js_lexer.TColon || !foundIdentifier {
ts_parser.go#L65: p.lexer.Expect(js_lexer.TColon)
ts_parser.go#L69: if p.lexer.Token != js_lexer.TComma {
ts_parser.go#L72: p.lexer.Next()
ts_parser.go#L75: p.lexer.Expect(js_lexer.TCloseBrace)
ts_parser.go#L78: p.lexer.Unexpected()
ts_parser.go#L83: p.lexer.Expect(js_lexer.TOpenParen)
ts_parser.go#L85: for p.lexer.Token != js_lexer.TCloseParen {
ts_parser.go#L87: if p.lexer.Token == js_lexer.TDotDotDot {
ts_parser.go#L88: p.lexer.Next()
ts_parser.go#L94: if p.lexer.Token == js_lexer.TQuestion {
ts_parser.go#L95: p.lexer.Next()
ts_parser.go#L99: if p.lexer.Token == js_lexer.TColon {
ts_parser.go#L100: p.lexer.Next()
ts_parser.go#L105: if p.lexer.Token != js_lexer.TComma {
ts_parser.go#L108: p.lexer.Next()
ts_parser.go#L111: p.lexer.Expect(js_lexer.TCloseParen)
ts_parser.go#L133: p.lexer.Expect(js_lexer.TOpenParen)
ts_parser.go#L135: p.lexer.Expect(js_lexer.TCloseParen)
ts_parser.go#L141: if p.lexer.IsContextualKeyword("asserts") {
ts_parser.go#L142: p.lexer.Next()
ts_parser.go#L145: if p.lexer.Token != js_lexer.TIdentifier && p.lexer.Token != js_lexer.TThis {
ts_parser.go#L148: p.lexer.Next()
ts_parser.go#L156: if p.lexer.IsContextualKeyword("is") && !p.lexer.HasNewlineBefore {
ts_parser.go#L157: p.lexer.Next()
ts_parser.go#L168: switch p.lexer.Token {
ts_parser.go#L172: p.lexer.Next()
ts_parser.go#L177: p.lexer.Next()
ts_parser.go#L178: if p.lexer.Token == js_lexer.TBigIntegerLiteral {
ts_parser.go#L179: p.lexer.Next()
ts_parser.go#L181: p.lexer.Expect(js_lexer.TNumericLiteral)
ts_parser.go#L187: p.lexer.Next()
ts_parser.go#L192: p.lexer.Next()
ts_parser.go#L193: p.lexer.Expect(js_lexer.TOpenParen)
ts_parser.go#L194: p.lexer.Expect(js_lexer.TStringLiteral)
ts_parser.go#L195: p.lexer.Expect(js_lexer.TCloseParen)
ts_parser.go#L200: p.lexer.Next()
ts_parser.go#L214: switch p.lexer.Identifier {
ts_parser.go#L216: p.lexer.Next()
ts_parser.go#L220: p.lexer.Next()
ts_parser.go#L221: if p.lexer.IsContextualKeyword("symbol") {
ts_parser.go#L222: p.lexer.Next()
ts_parser.go#L227: p.lexer.Next()
ts_parser.go#L228: if p.lexer.Token == js_lexer.TNew {
ts_parser.go#L233: p.lexer.Next()
ts_parser.go#L237: p.lexer.Next()
ts_parser.go#L238: if p.lexer.Token == js_lexer.TImport {
ts_parser.go#L245: if !p.lexer.IsIdentifierOrKeyword() {
ts_parser.go#L246: p.lexer.Expected(js_lexer.TIdentifier)
ts_parser.go#L248: p.lexer.Next()
ts_parser.go#L249: if p.lexer.Token != js_lexer.TDot {
ts_parser.go#L252: p.lexer.Next()
ts_parser.go#L259: p.lexer.Next()
ts_parser.go#L260: for p.lexer.Token != js_lexer.TCloseBracket {
ts_parser.go#L261: if p.lexer.Token == js_lexer.TDotDotDot {
ts_parser.go#L262: p.lexer.Next()
ts_parser.go#L265: if p.lexer.Token == js_lexer.TQuestion {
ts_parser.go#L266: p.lexer.Next()
ts_parser.go#L268: if p.lexer.Token == js_lexer.TColon {
ts_parser.go#L269: p.lexer.Next()
ts_parser.go#L272: if p.lexer.Token != js_lexer.TComma {
ts_parser.go#L275: p.lexer.Next()
ts_parser.go#L277: p.lexer.Expect(js_lexer.TCloseBracket)
ts_parser.go#L285: p.lexer.Next()
ts_parser.go#L287: p.lexer.RescanCloseBraceAsTemplateToken()
ts_parser.go#L288: if p.lexer.Token == js_lexer.TTemplateTail {
ts_parser.go#L289: p.lexer.Next()
ts_parser.go#L295: p.lexer.Unexpected()
ts_parser.go#L301: switch p.lexer.Token {
ts_parser.go#L306: p.lexer.Next()
ts_parser.go#L313: p.lexer.Next()
ts_parser.go#L322: if p.lexer.HasNewlineBefore {
ts_parser.go#L325: p.lexer.Next()
ts_parser.go#L328: p.lexer.Next()
ts_parser.go#L329: if !p.lexer.IsIdentifierOrKeyword() {
ts_parser.go#L330: p.lexer.Expect(js_lexer.TIdentifier)
ts_parser.go#L332: p.lexer.Next()
ts_parser.go#L336: if p.lexer.HasNewlineBefore {
ts_parser.go#L339: p.lexer.Next()
ts_parser.go#L340: if p.lexer.Token != js_lexer.TCloseBracket {
ts_parser.go#L343: p.lexer.Expect(js_lexer.TCloseBracket)
ts_parser.go#L348: if p.lexer.HasNewlineBefore {
ts_parser.go#L351: p.lexer.ExpectLessThan(false /* isInsideJSXElement */)
ts_parser.go#L354: if p.lexer.Token != js_lexer.TComma {
ts_parser.go#L357: p.lexer.Next()
ts_parser.go#L359: p.lexer.ExpectGreaterThan(false /* isInsideJSXElement */)
ts_parser.go#L363: if p.lexer.HasNewlineBefore || level >= js_ast.LConditional {
ts_parser.go#L366: p.lexer.Next()
ts_parser.go#L370: p.lexer.Expect(js_lexer.TQuestion)
ts_parser.go#L372: p.lexer.Expect(js_lexer.TColon)
ts_parser.go#L382: p.lexer.Expect(js_lexer.TOpenBrace)
ts_parser.go#L384: for p.lexer.Token != js_lexer.TCloseBrace {
ts_parser.go#L387: if p.lexer.Token == js_lexer.TPlus || p.lexer.Token == js_lexer.TMinus {
ts_parser.go#L388: p.lexer.Next()
ts_parser.go#L393: for p.lexer.IsIdentifierOrKeyword() ||
ts_parser.go#L394: p.lexer.Token == js_lexer.TStringLiteral ||
ts_parser.go#L395: p.lexer.Token == js_lexer.TNumericLiteral {
ts_parser.go#L396: p.lexer.Next()
ts_parser.go#L400: if p.lexer.Token == js_lexer.TOpenBracket {
ts_parser.go#L402: p.lexer.Next()
ts_parser.go#L407: if p.lexer.Token == js_lexer.TColon {
ts_parser.go#L408: p.lexer.Next()
ts_parser.go#L410: } else if p.lexer.Token == js_lexer.TIn {
ts_parser.go#L411: p.lexer.Next()
ts_parser.go#L413: if p.lexer.IsContextualKeyword("as") {
ts_parser.go#L415: p.lexer.Next()
ts_parser.go#L420: p.lexer.Expect(js_lexer.TCloseBracket)
ts_parser.go#L424: if p.lexer.Token == js_lexer.TPlus || p.lexer.Token == js_lexer.TMinus {
ts_parser.go#L425: p.lexer.Next()
ts_parser.go#L433: if foundKey && (p.lexer.Token == js_lexer.TQuestion || p.lexer.Token == js_lexer.TExclamation) {
ts_parser.go#L434: p.lexer.Next()
ts_parser.go#L440: switch p.lexer.Token {
ts_parser.go#L444: p.lexer.Expect(js_lexer.TIdentifier)
ts_parser.go#L446: p.lexer.Next()
ts_parser.go#L452: if p.lexer.Token == js_lexer.TColon {
ts_parser.go#L453: p.lexer.Next()
ts_parser.go#L459: p.lexer.Unexpected()
ts_parser.go#L463: switch p.lexer.Token {
ts_parser.go#L467: p.lexer.Next()
ts_parser.go#L470: if !p.lexer.HasNewlineBefore {
ts_parser.go#L471: p.lexer.Unexpected()
ts_parser.go#L476: p.lexer.Expect(js_lexer.TCloseBrace)
ts_parser.go#L482: if p.lexer.Token == js_lexer.TLessThan {
ts_parser.go#L483: p.lexer.Next()
ts_parser.go#L486: p.lexer.Expect(js_lexer.TIdentifier)
ts_parser.go#L489: if p.lexer.Token == js_lexer.TExtends {
ts_parser.go#L490: p.lexer.Next()
ts_parser.go#L495: if p.lexer.Token == js_lexer.TEquals {
ts_parser.go#L496: p.lexer.Next()
ts_parser.go#L500: if p.lexer.Token != js_lexer.TComma {
ts_parser.go#L503: p.lexer.Next()
ts_parser.go#L504: if p.lexer.Token == js_lexer.TGreaterThan {
ts_parser.go#L509: p.lexer.ExpectGreaterThan(false /* isInsideJSXElement */)
ts_parser.go#L514: if p.lexer.Token != js_lexer.TLessThan {
ts_parser.go#L518: p.lexer.Next()
ts_parser.go#L522: if p.lexer.Token != js_lexer.TComma {
ts_parser.go#L525: p.lexer.Next()
ts_parser.go#L529: p.lexer.ExpectGreaterThan(isInsideJSXElement)
ts_parser.go#L534: oldLexer := p.lexer
ts_parser.go#L535: p.lexer.IsLogDisabled = true
ts_parser.go#L541: p.lexer = oldLexer
ts_parser.go#L551: p.lexer.Unexpected()
ts_parser.go#L556: p.lexer.IsLogDisabled = oldLexer.IsLogDisabled
ts_parser.go#L561: oldLexer := p.lexer
ts_parser.go#L562: p.lexer.IsLogDisabled = true
ts_parser.go#L568: p.lexer = oldLexer
ts_parser.go#L575: if p.lexer.Token != js_lexer.TOpenParen {
ts_parser.go#L576: p.lexer.Unexpected()
ts_parser.go#L581: p.lexer.IsLogDisabled = oldLexer.IsLogDisabled
ts_parser.go#L586: oldLexer := p.lexer
ts_parser.go#L587: p.lexer.IsLogDisabled = true
ts_parser.go#L593: p.lexer = oldLexer
ts_parser.go#L599: p.lexer.Expect(js_lexer.TColon)
ts_parser.go#L603: if p.lexer.Token != js_lexer.TEqualsGreaterThan {
ts_parser.go#L604: p.lexer.Unexpected()
ts_parser.go#L609: p.lexer.IsLogDisabled = oldLexer.IsLogDisabled
ts_parser.go#L614: oldLexer := p.lexer
ts_parser.go#L615: p.lexer.IsLogDisabled = true
ts_parser.go#L621: p.lexer = oldLexer
ts_parser.go#L628: p.lexer.Expect(js_lexer.TEqualsGreaterThan)
ts_parser.go#L632: p.lexer.IsLogDisabled = oldLexer.IsLogDisabled
ts_parser.go#L639: switch p.lexer.Token {
ts_parser.go#L687: name := p.lexer.Identifier
ts_parser.go#L688: p.lexer.Expect(js_lexer.TIdentifier)
ts_parser.go#L696: if p.lexer.Token == js_lexer.TExtends {
ts_parser.go#L697: p.lexer.Next()
ts_parser.go#L700: if p.lexer.Token != js_lexer.TComma {
ts_parser.go#L703: p.lexer.Next()
ts_parser.go#L707: if p.lexer.IsContextualKeyword("implements") {
ts_parser.go#L708: p.lexer.Next()
ts_parser.go#L711: if p.lexer.Token != js_lexer.TComma {
ts_parser.go#L714: p.lexer.Next()
ts_parser.go#L722: if opts.isExport && p.lexer.Token == js_lexer.TOpenBrace {
ts_parser.go#L726: if p.lexer.IsContextualKeyword("from") {
ts_parser.go#L727: p.lexer.Next()
ts_parser.go#L730: p.lexer.ExpectOrInsertSemicolon()
ts_parser.go#L734: name := p.lexer.Identifier
ts_parser.go#L735: p.lexer.Expect(js_lexer.TIdentifier)
ts_parser.go#L742: p.lexer.Expect(js_lexer.TEquals)
ts_parser.go#L744: p.lexer.ExpectOrInsertSemicolon()
ts_parser.go#L750: for p.lexer.Token == js_lexer.TAt {
ts_parser.go#L751: p.lexer.Next()
ts_parser.go#L768: p.lexer.Expect(js_lexer.TEnum)
ts_parser.go#L769: nameLoc := p.lexer.Loc()
ts_parser.go#L770: nameText := p.lexer.Identifier
ts_parser.go#L771: p.lexer.Expect(js_lexer.TIdentifier)
ts_parser.go#L779: p.lexer.Expect(js_lexer.TOpenBrace)
ts_parser.go#L783: for p.lexer.Token != js_lexer.TCloseBrace {
ts_parser.go#L785: Loc: p.lexer.Loc(),
ts_parser.go#L790: if p.lexer.Token == js_lexer.TStringLiteral {
ts_parser.go#L791: value.Name = p.lexer.StringLiteral
ts_parser.go#L792: } else if p.lexer.IsIdentifierOrKeyword() {
ts_parser.go#L793: value.Name = js_lexer.StringToUTF16(p.lexer.Identifier)
ts_parser.go#L795: p.lexer.Expect(js_lexer.TIdentifier)
ts_parser.go#L797: p.lexer.Next()
ts_parser.go#L805: if p.lexer.Token == js_lexer.TEquals {
ts_parser.go#L806: p.lexer.Next()
ts_parser.go#L813: if p.lexer.Token != js_lexer.TComma && p.lexer.Token != js_lexer.TSemicolon {
ts_parser.go#L816: p.lexer.Next()
ts_parser.go#L823: p.lexer.Expect(js_lexer.TCloseBrace)
ts_parser.go#L834: p.lexer.Expect(js_lexer.TEquals)
ts_parser.go#L837: name := p.lexer.Identifier
ts_parser.go#L838: value := js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EIdentifier{Ref: p.storeNameInRef(name)}}
ts_parser.go#L839: p.lexer.Expect(js_lexer.TIdentifier)
ts_parser.go#L841: if name == "require" && p.lexer.Token == js_lexer.TOpenParen {
ts_parser.go#L843: p.lexer.Next()
ts_parser.go#L844: path := js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EString{Value: p.lexer.StringLiteral}}
ts_parser.go#L845: p.lexer.Expect(js_lexer.TStringLiteral)
ts_parser.go#L846: p.lexer.Expect(js_lexer.TCloseParen)
ts_parser.go#L854: for p.lexer.Token == js_lexer.TDot {
ts_parser.go#L855: p.lexer.Next()
ts_parser.go#L858: Name: p.lexer.Identifier,
ts_parser.go#L859: NameLoc: p.lexer.Loc(),
ts_parser.go#L861: p.lexer.Expect(js_lexer.TIdentifier)
ts_parser.go#L865: p.lexer.ExpectOrInsertSemicolon()
ts_parser.go#L882: nameLoc := p.lexer.Loc()
ts_parser.go#L883: nameText := p.lexer.Identifier
ts_parser.go#L884: p.lexer.Next()
ts_parser.go#L890: if p.lexer.Token == js_lexer.TDot {
ts_parser.go#L891: dotLoc := p.lexer.Loc()
ts_parser.go#L892: p.lexer.Next()
ts_parser.go#L898: } else if opts.isTypeScriptDeclare && p.lexer.Token != js_lexer.TOpenBrace {
ts_parser.go#L899: p.lexer.ExpectOrInsertSemicolon()
ts_parser.go#L901: p.lexer.Expect(js_lexer.TOpenBrace)
ts_parser.go#L906: p.lexer.Next()
 |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |