github.com/evanw/esbuild/internal/js_ast.Expr.Data (field)
892 uses
github.com/evanw/esbuild/internal/js_ast (current package)
js_ast.go#L378: Data E
js_ast.go#L683: switch e := value.Data.(type) {
js_ast.go#L695: return Expr{Loc: a.Loc, Data: &EBinary{Op: BinOpAssign, Left: a, Right: b}}
js_ast.go#L710: return Expr{Loc: expr.Loc, Data: &EUnary{Op: UnOpNot, Value: expr}}
js_ast.go#L719: switch e := expr.Data.(type) {
js_ast.go#L721: return Expr{Loc: expr.Loc, Data: &EBoolean{Value: true}}, true
js_ast.go#L724: return Expr{Loc: expr.Loc, Data: &EBoolean{Value: !e.Value}}, true
js_ast.go#L727: return Expr{Loc: expr.Loc, Data: &EBoolean{Value: e.Value == 0 || math.IsNaN(e.Value)}}, true
js_ast.go#L730: return Expr{Loc: expr.Loc, Data: &EBoolean{Value: e.Value == "0"}}, true
js_ast.go#L733: return Expr{Loc: expr.Loc, Data: &EBoolean{Value: len(e.Value) == 0}}, true
js_ast.go#L736: return Expr{Loc: expr.Loc, Data: &EBoolean{Value: false}}, true
js_ast.go#L780: switch e := a.Data.(type) {
js_ast.go#L809: switch e := a.Data.(type) {
js_ast.go#L845: switch e := a.Data.(type) {
js_ast.go#L879: if comma, ok := a.Data.(*EBinary); ok && comma.Op == BinOpComma {
js_ast.go#L886: if binary, ok := b.Data.(*EBinary); ok && binary.Op == op {
js_ast.go#L896: return Expr{Loc: a.Loc, Data: &EBinary{Op: op, Left: a, Right: b}}
js_ast.go#L900: return Expr{Loc: a.Loc, Data: &EBinary{Op: BinOpComma, Left: a, Right: b}}
js_ast.go#L1200: if call, ok := expr.Value.Data.(*ECall); ok {
js_ast.go#L1201: if _, ok := call.Target.Data.(*ESuper); ok {
github.com/evanw/esbuild/internal/bundler
bundler.go#L265: expr := js_ast.Expr{Data: &js_ast.EString{Value: js_lexer.StringToUTF16(source.Contents)}}
bundler.go#L275: expr := js_ast.Expr{Data: &js_ast.EString{Value: js_lexer.StringToUTF16(encoded)}}
bundler.go#L284: expr := js_ast.Expr{Data: &js_ast.EString{Value: js_lexer.StringToUTF16(encoded)}}
bundler.go#L295: expr := js_ast.Expr{Data: &js_ast.EString{Value: js_lexer.StringToUTF16(url)}}
bundler.go#L325: expr := js_ast.Expr{Data: &js_ast.EString{Value: js_lexer.StringToUTF16(publicPath)}}
bundler.go#L1075: expr := js_ast.Expr{Data: define.Data}
bundler.go#L1396: js_parser.OptionsFromConfig(&s.options), js_ast.Expr{Data: &js_ast.EObject{}}, ""),
linker.go#L1429: js_ast.Expr{Loc: lazy.Value.Loc, Data: &js_ast.EDot{
linker.go#L1430: Target: js_ast.Expr{Loc: lazy.Value.Loc, Data: &js_ast.EIdentifier{Ref: repr.ast.ModuleRef}},
linker.go#L1494: if object, ok := jsonValue.Data.(*js_ast.EObject); ok {
linker.go#L1498: if str, ok := property.Key.Data.(*js_ast.EString); ok && (!file.isEntryPoint || js_lexer.IsIdentifierUTF16(str.Value)) {
linker.go#L1502: clone.Properties[i].Value = &js_ast.Expr{Loc: property.Key.Loc, Data: &js_ast.EIdentifier{Ref: export.ref}}
linker.go#L1505: jsonValue.Data = &clone
linker.go#L1553: value = js_ast.Expr{Data: &js_ast.EImportIdentifier{Ref: export.ref}}
linker.go#L1610: Value: &js_ast.Expr{Data: &js_ast.EImportIdentifier{Ref: export.ref}},
linker.go#L1620: value = js_ast.Expr{Data: &js_ast.EIdentifier{Ref: export.ref}}
linker.go#L1657: getter = js_ast.Expr{Data: &js_ast.EFunction{Fn: js_ast.Fn{Body: body}}}
linker.go#L1659: getter = js_ast.Expr{Data: &js_ast.EArrow{PreferExpr: true, Body: body}}
linker.go#L1662: Key: js_ast.Expr{Data: &js_ast.EString{Value: js_lexer.StringToUTF16(alias)}},
linker.go#L1688: Value: &js_ast.Expr{Data: &js_ast.EObject{}},
linker.go#L1703: nsExportStmts = append(nsExportStmts, js_ast.Stmt{Data: &js_ast.SExpr{Value: js_ast.Expr{Data: &js_ast.ECall{
linker.go#L1704: Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: markAsModuleRef}},
linker.go#L1705: Args: []js_ast.Expr{{Data: &js_ast.EIdentifier{Ref: repr.ast.ExportsRef}}},
linker.go#L1725: nsExportStmts = append(nsExportStmts, js_ast.Stmt{Data: &js_ast.SExpr{Value: js_ast.Expr{Data: &js_ast.ECall{
linker.go#L1726: Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: exportRef}},
linker.go#L1728: {Data: &js_ast.EIdentifier{Ref: repr.ast.ExportsRef}},
linker.go#L1729: {Data: &js_ast.EObject{
linker.go#L1787: cjsWrapStmt = js_ast.Stmt{Data: &js_ast.SExpr{Value: js_ast.Expr{Data: &js_ast.ECall{
linker.go#L1788: Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: repr.ast.WrapperRef}},
linker.go#L1794: cjsWrapStmt = js_ast.Stmt{Data: &js_ast.SReturn{Value: &js_ast.Expr{Data: &js_ast.ECall{
linker.go#L1795: Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: repr.ast.WrapperRef}},
linker.go#L1799: cjsWrapStmt = js_ast.Stmt{Data: &js_ast.SExpr{Value: js_ast.Expr{Data: &js_ast.ECall{
linker.go#L1800: Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: repr.ast.WrapperRef}},
linker.go#L1807: js_ast.Expr{Data: &js_ast.EDot{
linker.go#L1808: Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: c.unboundModuleRef}},
linker.go#L1811: js_ast.Expr{Data: &js_ast.ECall{
linker.go#L1812: Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: repr.ast.WrapperRef}},
linker.go#L1818: cjsWrapStmt = js_ast.Stmt{Data: &js_ast.SExportDefault{Value: js_ast.ExprOrStmt{Expr: &js_ast.Expr{Data: &js_ast.ECall{
linker.go#L1819: Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: repr.ast.WrapperRef}},
linker.go#L1824: cjsWrapStmt = js_ast.Stmt{Data: &js_ast.SReturn{Value: &js_ast.Expr{Data: &js_ast.EIdentifier{Ref: repr.ast.ExportsRef}}}}
linker.go#L3040: Value: &js_ast.Expr{Loc: record.Range.Loc, Data: &js_ast.ERequire{ImportRecordIndex: importRecordIndex}},
linker.go#L3087: Data: &js_ast.SExpr{Value: js_ast.Expr{Loc: stmt.Loc, Data: &js_ast.ECall{
linker.go#L3088: Target: js_ast.Expr{Loc: stmt.Loc, Data: &js_ast.EIdentifier{Ref: exportStarRef}},
linker.go#L3090: {Loc: stmt.Loc, Data: &js_ast.EIdentifier{Ref: repr.ast.ExportsRef}},
linker.go#L3091: {Loc: stmt.Loc, Data: &js_ast.EIdentifier{Ref: s.NamespaceRef}},
linker.go#L3108: Data: &js_ast.SExpr{Value: js_ast.Expr{Loc: stmt.Loc, Data: &js_ast.ECall{
linker.go#L3109: Target: js_ast.Expr{Loc: stmt.Loc, Data: &js_ast.EIdentifier{Ref: exportStarRef}},
linker.go#L3111: {Loc: stmt.Loc, Data: &js_ast.EIdentifier{Ref: repr.ast.ExportsRef}},
linker.go#L3112: {Loc: record.Range.Loc, Data: &js_ast.ERequire{ImportRecordIndex: s.ImportRecordIndex}},
linker.go#L3407: value = js_ast.Expr{Data: &js_ast.ECall{
linker.go#L3408: Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: commonJSRef}},
linker.go#L3409: Args: []js_ast.Expr{{Data: &js_ast.EFunction{Fn: js_ast.Fn{Args: args, Body: js_ast.FnBody{Stmts: stmts}}}}},
linker.go#L3412: value = js_ast.Expr{Data: &js_ast.ECall{
linker.go#L3413: Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: commonJSRef}},
linker.go#L3414: Args: []js_ast.Expr{{Data: &js_ast.EArrow{Args: args, Body: js_ast.FnBody{Stmts: stmts}}}},
github.com/evanw/esbuild/internal/js_parser
js_parser.go#L531: switch e := expr.Data.(type) {
js_parser.go#L586: switch a := left.Data.(type) {
js_parser.go#L588: _, ok := right.Data.(*js_ast.ENull)
js_parser.go#L592: _, ok := right.Data.(*js_ast.EUndefined)
js_parser.go#L596: b, ok := right.Data.(*js_ast.EBoolean)
js_parser.go#L600: b, ok := right.Data.(*js_ast.ENumber)
js_parser.go#L604: b, ok := right.Data.(*js_ast.EString)
js_parser.go#L608: b, ok := right.Data.(*js_ast.EBigInt)
js_parser.go#L612: b, ok := right.Data.(*js_ast.EIdentifier)
js_parser.go#L616: if b, ok := right.Data.(*js_ast.EDot); ok && a.OptionalChain == b.OptionalChain && a.Name == b.Name {
js_parser.go#L622: if b, ok := right.Data.(*js_ast.EIndex); ok && a.OptionalChain == b.OptionalChain {
js_parser.go#L705: if isNullOrUndefined, _, ok := toNullOrUndefinedWithSideEffects(e.Right.Data); ok {
js_parser.go#L747: if boolean, sideEffects, ok := toBooleanWithSideEffects(e.Value.Data); ok {
js_parser.go#L756: if boolean, _, ok := toBooleanWithSideEffects(e.Right.Data); ok && boolean {
js_parser.go#L762: if boolean, _, ok := toBooleanWithSideEffects(e.Right.Data); ok && !boolean {
js_parser.go#L768: if boolean, _, ok := toBooleanWithSideEffects(e.Right.Data); ok {
js_parser.go#L872: return isPrimitiveWithSideEffects(e.Left.Data) && isPrimitiveWithSideEffects(e.Right.Data)
js_parser.go#L875: return isPrimitiveWithSideEffects(e.Right.Data)
js_parser.go#L879: return isPrimitiveWithSideEffects(e.Yes.Data) && isPrimitiveWithSideEffects(e.No.Data)
js_parser.go#L927: a.Name == b.Name && valuesLookTheSame(a.Target.Data, b.Target.Data) {
js_parser.go#L933: valuesLookTheSame(a.Target.Data, b.Target.Data) && valuesLookTheSame(a.Index.Data, b.Index.Data) {
js_parser.go#L938: if b, ok := right.(*js_ast.EIf); ok && valuesLookTheSame(a.Test.Data, b.Test.Data) &&
js_parser.go#L939: valuesLookTheSame(a.Yes.Data, b.Yes.Data) && valuesLookTheSame(a.No.Data, b.No.Data) {
js_parser.go#L944: if b, ok := right.(*js_ast.EUnary); ok && a.Op == b.Op && valuesLookTheSame(a.Value.Data, b.Value.Data) {
js_parser.go#L949: if b, ok := right.(*js_ast.EBinary); ok && a.Op == b.Op && valuesLookTheSame(a.Left.Data, b.Left.Data) &&
js_parser.go#L950: valuesLookTheSame(a.Right.Data, b.Right.Data) {
js_parser.go#L956: len(a.Args) == len(b.Args) && valuesLookTheSame(a.Target.Data, b.Target.Data) {
js_parser.go#L958: if !valuesLookTheSame(a.Args[i].Data, b.Args[i].Data) {
js_parser.go#L982: return ok && (a.Value == nil) == (b.Value == nil) && (a.Value == nil || valuesLookTheSame(a.Value.Data, b.Value.Data))
js_parser.go#L986: return ok && valuesLookTheSame(a.Value.Data, b.Value.Data)
js_parser.go#L993: switch expr.Data.(type) {
js_parser.go#L1534: return js_ast.Expr{Loc: loc, Data: &js_ast.ECall{
js_parser.go#L1535: Target: js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: ref}},
js_parser.go#L1671: switch k := key.Data.(type) {
js_parser.go#L1696: value := js_ast.Expr{Loc: loc, Data: &js_ast.EString{
js_parser.go#L1725: key = js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.ENumber{Value: p.lexer.Number}}
js_parser.go#L1726: p.checkForLegacyOctalLiteral(key.Data)
js_parser.go#L1733: key = js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EBigInt{Value: p.lexer.Identifier}}
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#L1753: if _, ok := expr.Data.(*js_ast.EIdentifier); ok {
js_parser.go#L1837: key = js_ast.Expr{Loc: nameRange.Loc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16(name)}}
js_parser.go#L1847: value := js_ast.Expr{Loc: key.Loc, Data: &js_ast.EIdentifier{Ref: ref}}
js_parser.go#L1887: if str, ok := key.Data.(*js_ast.EString); ok && (js_lexer.UTF16EqualsString(str.Value, "constructor") ||
js_parser.go#L1906: if private, ok := key.Data.(*js_ast.EPrivateIdentifier); ok {
js_parser.go#L1943: if str, ok := key.Data.(*js_ast.EString); ok {
js_parser.go#L1984: value := js_ast.Expr{Loc: loc, Data: &js_ast.EFunction{Fn: fn}}
js_parser.go#L2005: if private, ok := key.Data.(*js_ast.EPrivateIdentifier); ok {
js_parser.go#L2083: key = js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.ENumber{Value: p.lexer.Number}}
js_parser.go#L2084: p.checkForLegacyOctalLiteral(key.Data)
js_parser.go#L2091: key = js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EBigInt{Value: p.lexer.Identifier}}
js_parser.go#L2108: key = js_ast.Expr{Loc: loc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16(name)}}
js_parser.go#L2205: return js_ast.Expr{Loc: asyncRange.Loc, Data: p.parseArrowBody([]js_ast.Arg{arg}, fnOrArrowDataParse{})}
js_parser.go#L2219: return js_ast.Expr{Loc: asyncRange.Loc, Data: arrow}
js_parser.go#L2239: return js_ast.Expr{Loc: asyncRange.Loc, Data: &js_ast.EIdentifier{Ref: p.storeNameInRef("async")}}
js_parser.go#L2278: return js_ast.Expr{Loc: loc, Data: &js_ast.EFunction{Fn: fn}}
js_parser.go#L2331: item = js_ast.Expr{Loc: itemLoc, Data: &js_ast.ESpread{Value: item}}
js_parser.go#L2383: if spread, ok := item.Data.(*js_ast.ESpread); ok {
js_parser.go#L2417: return js_ast.Expr{Loc: loc, Data: arrow}
js_parser.go#L2435: async := js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: p.storeNameInRef("async")}}
js_parser.go#L2436: return js_ast.Expr{Loc: loc, Data: &js_ast.ECall{
js_parser.go#L2461: if assign, ok := expr.Data.(*js_ast.EBinary); ok && assign.Op == js_ast.BinOpAssign {
js_parser.go#L2482: switch e := expr.Data.(type) {
js_parser.go#L2500: if i, ok := item.Data.(*js_ast.ESpread); ok {
js_parser.go#L2503: if _, ok := item.Data.(*js_ast.EIdentifier); !ok {
js_parser.go#L2560: return js_ast.Expr{Loc: loc, Data: &js_ast.EMissing{}}
js_parser.go#L2566: return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: b.Ref}}
js_parser.go#L2573: expr = js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ESpread{Value: expr}}
js_parser.go#L2579: return js_ast.Expr{Loc: loc, Data: &js_ast.EArray{
js_parser.go#L2600: return js_ast.Expr{Loc: loc, Data: &js_ast.EObject{
js_parser.go#L2627: return js_ast.Expr{Loc: loc, Data: &js_ast.ESuper{}}
js_parser.go#L2631: return js_ast.Expr{Loc: loc, Data: &js_ast.ESuper{}}
js_parser.go#L2635: return js_ast.Expr{Loc: loc, Data: &js_ast.ESuper{}}
js_parser.go#L2659: return js_ast.Expr{Loc: loc, Data: &js_ast.EBoolean{Value: false}}
js_parser.go#L2663: return js_ast.Expr{Loc: loc, Data: &js_ast.EBoolean{Value: true}}
js_parser.go#L2667: return js_ast.Expr{Loc: loc, Data: &js_ast.ENull{}}
js_parser.go#L2671: return js_ast.Expr{Loc: loc, Data: &js_ast.EThis{}}
js_parser.go#L2702: return js_ast.Expr{Loc: loc, Data: &js_ast.EAwait{Value: value}}
js_parser.go#L2738: return js_ast.Expr{Loc: loc, Data: p.parseArrowBody([]js_ast.Arg{arg}, fnOrArrowDataParse{})}
js_parser.go#L2742: return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: ref}}
js_parser.go#L2762: value = js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
js_parser.go#L2765: Right: js_ast.Expr{Loc: part.TailLoc, Data: &js_ast.EString{
js_parser.go#L2773: value = js_ast.Expr{Loc: loc, Data: &js_ast.EString{
js_parser.go#L2779: value = js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
js_parser.go#L2785: value = js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
js_parser.go#L2788: Right: js_ast.Expr{Loc: part.TailLoc, Data: &js_ast.EString{Value: part.Tail}},
js_parser.go#L2794: return js_ast.Expr{Loc: loc, Data: &js_ast.ETemplate{
js_parser.go#L2801: value := js_ast.Expr{Loc: loc, Data: &js_ast.ENumber{Value: p.lexer.Number}}
js_parser.go#L2802: p.checkForLegacyOctalLiteral(value.Data)
js_parser.go#L2810: return js_ast.Expr{Loc: loc, Data: &js_ast.EBigInt{Value: value}}
js_parser.go#L2816: return js_ast.Expr{Loc: loc, Data: &js_ast.ERegExp{Value: value}}
js_parser.go#L2824: return js_ast.Expr{Loc: loc, Data: &js_ast.EUnary{Op: js_ast.UnOpVoid, Value: value}}
js_parser.go#L2832: return js_ast.Expr{Loc: loc, Data: &js_ast.EUnary{Op: js_ast.UnOpTypeof, Value: value}}
js_parser.go#L2840: if index, ok := value.Data.(*js_ast.EIndex); ok {
js_parser.go#L2841: if private, ok := index.Index.Data.(*js_ast.EPrivateIdentifier); ok {
js_parser.go#L2847: return js_ast.Expr{Loc: loc, Data: &js_ast.EUnary{Op: js_ast.UnOpDelete, Value: value}}
js_parser.go#L2855: return js_ast.Expr{Loc: loc, Data: &js_ast.EUnary{Op: js_ast.UnOpPos, Value: value}}
js_parser.go#L2863: return js_ast.Expr{Loc: loc, Data: &js_ast.EUnary{Op: js_ast.UnOpNeg, Value: value}}
js_parser.go#L2871: return js_ast.Expr{Loc: loc, Data: &js_ast.EUnary{Op: js_ast.UnOpCpl, Value: value}}
js_parser.go#L2879: return js_ast.Expr{Loc: loc, Data: &js_ast.EUnary{Op: js_ast.UnOpNot, Value: value}}
js_parser.go#L2883: return js_ast.Expr{Loc: loc, Data: &js_ast.EUnary{Op: js_ast.UnOpPreDec, Value: p.parseExpr(js_ast.LPrefix)}}
js_parser.go#L2887: return js_ast.Expr{Loc: loc, Data: &js_ast.EUnary{Op: js_ast.UnOpPreInc, Value: p.parseExpr(js_ast.LPrefix)}}
js_parser.go#L2914: return js_ast.Expr{Loc: loc, Data: &js_ast.EClass{Class: class}}
js_parser.go#L2928: return js_ast.Expr{Loc: loc, Data: &js_ast.ENewTarget{}}
js_parser.go#L2950: return js_ast.Expr{Loc: loc, Data: &js_ast.ENew{Target: target, Args: args}}
js_parser.go#L2966: items = append(items, js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EMissing{}})
js_parser.go#L2977: items = append(items, js_ast.Expr{Loc: dotsLoc, Data: &js_ast.ESpread{Value: item}})
js_parser.go#L3017: return js_ast.Expr{Loc: loc, Data: &js_ast.EArray{
js_parser.go#L3082: return js_ast.Expr{Loc: loc, Data: &js_ast.EObject{
js_parser.go#L3216: return js_ast.Expr{Loc: loc, Data: &js_ast.EYield{Value: value, IsStar: isStar}}
js_parser.go#L3252: return js_ast.Expr{Loc: loc, Data: &js_ast.EImportMeta{}}
js_parser.go#L3276: return js_ast.Expr{Loc: loc, Data: &js_ast.EImport{Expr: value, LeadingInteriorComments: comments}}
js_parser.go#L3301: switch e := expr.Data.(type) {
js_parser.go#L3324: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpComma, Left: left, Right: p.parseExpr(js_ast.LComma)}}
js_parser.go#L3349: if _, ok := left.Data.(*js_ast.ESuper); ok {
js_parser.go#L3356: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EIndex{
js_parser.go#L3358: Index: js_ast.Expr{Loc: nameLoc, Data: &js_ast.EPrivateIdentifier{Ref: ref}},
js_parser.go#L3370: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EDot{
js_parser.go#L3397: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EIndex{
js_parser.go#L3408: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.ECall{
js_parser.go#L3426: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.ECall{
js_parser.go#L3439: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EIndex{
js_parser.go#L3441: Index: js_ast.Expr{Loc: nameLoc, Data: &js_ast.EPrivateIdentifier{Ref: ref}},
js_parser.go#L3452: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EDot{
js_parser.go#L3472: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.ETemplate{Tag: &tag, Head: head, HeadRaw: headRaw}}
js_parser.go#L3483: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.ETemplate{Tag: &tag, Head: head, HeadRaw: headRaw, Parts: parts}}
js_parser.go#L3509: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EIndex{
js_parser.go#L3520: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.ECall{
js_parser.go#L3556: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EIf{Test: left, Yes: yes, No: no}}
js_parser.go#L3577: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EUnary{Op: js_ast.UnOpPostDec, Value: left}}
js_parser.go#L3584: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EUnary{Op: js_ast.UnOpPostInc, Value: left}}
js_parser.go#L3591: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpComma, Left: left, Right: p.parseExpr(js_ast.LComma)}}
js_parser.go#L3598: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpAdd, Left: left, Right: p.parseExpr(js_ast.LAdd)}}
js_parser.go#L3605: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpAddAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3612: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpSub, Left: left, Right: p.parseExpr(js_ast.LAdd)}}
js_parser.go#L3619: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpSubAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3626: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpMul, Left: left, Right: p.parseExpr(js_ast.LMultiply)}}
js_parser.go#L3633: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpPow, Left: left, Right: p.parseExpr(js_ast.LExponentiation - 1)}}
js_parser.go#L3640: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpPowAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3647: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpMulAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3654: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpRem, Left: left, Right: p.parseExpr(js_ast.LMultiply)}}
js_parser.go#L3661: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpRemAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3668: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpDiv, Left: left, Right: p.parseExpr(js_ast.LMultiply)}}
js_parser.go#L3675: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpDivAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3682: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLooseEq, Left: left, Right: p.parseExpr(js_ast.LEquals)}}
js_parser.go#L3689: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLooseNe, Left: left, Right: p.parseExpr(js_ast.LEquals)}}
js_parser.go#L3696: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpStrictEq, Left: left, Right: p.parseExpr(js_ast.LEquals)}}
js_parser.go#L3703: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpStrictNe, Left: left, Right: p.parseExpr(js_ast.LEquals)}}
js_parser.go#L3718: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLt, Left: left, Right: p.parseExpr(js_ast.LCompare)}}
js_parser.go#L3725: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLe, Left: left, Right: p.parseExpr(js_ast.LCompare)}}
js_parser.go#L3732: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpGt, Left: left, Right: p.parseExpr(js_ast.LCompare)}}
js_parser.go#L3739: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpGe, Left: left, Right: p.parseExpr(js_ast.LCompare)}}
js_parser.go#L3746: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpShl, Left: left, Right: p.parseExpr(js_ast.LShift)}}
js_parser.go#L3753: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpShlAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3760: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpShr, Left: left, Right: p.parseExpr(js_ast.LShift)}}
js_parser.go#L3767: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpShrAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3774: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpUShr, Left: left, Right: p.parseExpr(js_ast.LShift)}}
js_parser.go#L3781: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpUShrAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3788: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpNullishCoalescing, Left: left, Right: p.parseExpr(js_ast.LNullishCoalescing)}}
js_parser.go#L3795: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpNullishCoalescingAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3809: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLogicalOr, Left: left, Right: right}}
js_parser.go#L3824: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLogicalOrAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3837: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLogicalAnd, Left: left, Right: p.parseExpr(js_ast.LLogicalAnd)}}
js_parser.go#L3852: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLogicalAndAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3859: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpBitwiseOr, Left: left, Right: p.parseExpr(js_ast.LBitwiseOr)}}
js_parser.go#L3866: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpBitwiseOrAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3873: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpBitwiseAnd, Left: left, Right: p.parseExpr(js_ast.LBitwiseAnd)}}
js_parser.go#L3880: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpBitwiseAndAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3887: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpBitwiseXor, Left: left, Right: p.parseExpr(js_ast.LBitwiseXor)}}
js_parser.go#L3894: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpBitwiseXorAssign, Left: left, Right: p.parseExpr(js_ast.LAssign - 1)}}
js_parser.go#L3910: if e, ok := left.Data.(*js_ast.EUnary); ok && e.Op == js_ast.UnOpNot {
js_parser.go#L3917: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpIn, Left: left, Right: p.parseExpr(js_ast.LCompare)}}
js_parser.go#L3927: if e, ok := left.Data.(*js_ast.EUnary); ok && e.Op == js_ast.UnOpNot {
js_parser.go#L3934: left = js_ast.Expr{Loc: left.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpInstanceof, Left: left, Right: p.parseExpr(js_ast.LCompare)}}
js_parser.go#L3994: expr := js_ast.Expr{Loc: letRange.Loc, Data: &js_ast.EIdentifier{Ref: ref}}
js_parser.go#L4015: arg = js_ast.Expr{Loc: loc, Data: &js_ast.ESpread{Value: arg}}
js_parser.go#L4044: return tagRange, name, &js_ast.Expr{Loc: loc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16(name)}}
js_parser.go#L4048: tag := &js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: p.storeNameInRef(name)}}
js_parser.go#L4065: tag = &js_ast.Expr{Loc: loc, Data: &js_ast.EDot{
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#L4105: value = js_ast.Expr{Loc: logger.Loc{Start: keyRange.Loc.Start + keyRange.Len}, Data: &js_ast.EBoolean{Value: true}}
js_parser.go#L4110: value = js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EString{Value: p.lexer.StringLiteral}}
js_parser.go#L4152: return js_ast.Expr{Loc: loc, Data: &js_ast.EJSXElement{Tag: startTag, Properties: properties}}
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#L4210: return js_ast.Expr{Loc: loc, Data: &js_ast.EJSXElement{Tag: startTag, Properties: properties, Children: children}}
js_parser.go#L4866: if key, ok := property.Key.Data.(*js_ast.EString); ok && js_lexer.UTF16EqualsString(key.Value, "constructor") {
js_parser.go#L5238: if _, ok := expr.Data.(*js_ast.EIdentifier); ok && (p.lexer.Token == js_lexer.TClass || opts.tsDecorators != nil) {
js_parser.go#L5992: if ident, ok := expr.Data.(*js_ast.EIdentifier); ok {
js_parser.go#L6211: if str, ok := expr.Value.Data.(*js_ast.EString); ok && !str.PreferTemplate {
js_parser.go#L6487: value: &js_ast.Expr{Loc: *opts.fnBodyLoc, Data: &js_ast.EThis{}},
js_parser.go#L6496: value: &js_ast.Expr{Loc: *opts.fnBodyLoc, Data: &js_ast.EIdentifier{Ref: *p.fnOnlyDataVisit.argumentsRef}},
js_parser.go#L6588: Value: &js_ast.Expr{Loc: s.Fn.Name.Loc, Data: &js_ast.EIdentifier{Ref: s.Fn.Name.Ref}},
js_parser.go#L6595: letDecls[index].Value = &js_ast.Expr{Loc: stmt.Loc, Data: &js_ast.EFunction{Fn: s.Fn}}
js_parser.go#L7016: left = &js_ast.Expr{Loc: prevS.Yes.Loc, Data: &js_ast.EUndefined{}}
js_parser.go#L7020: right = &js_ast.Expr{Loc: lastStmt.Loc, Data: &js_ast.EUndefined{}}
js_parser.go#L7024: if not, ok := prevS.Test.Data.(*js_ast.EUnary); ok && not.Op == js_ast.UnOpNot {
js_parser.go#L7030: if boolean, ok := checkEqualityIfNoSideEffects(left.Data, right.Data); ok && boolean {
js_parser.go#L7035: if comma, ok := prevS.Test.Data.(*js_ast.EBinary); ok && comma.Op == js_ast.BinOpComma {
js_parser.go#L7088: if not, ok := prevS.Test.Data.(*js_ast.EUnary); ok && not.Op == js_ast.UnOpNot {
js_parser.go#L7094: if comma, ok := prevS.Test.Data.(*js_ast.EBinary); ok && comma.Op == js_ast.BinOpComma {
js_parser.go#L7180: switch e := expr.Data.(type) {
js_parser.go#L7369: if _, ok := value.Data.(*js_ast.EString); ok {
js_parser.go#L7572: if unary, ok := ifS.Test.Data.(*js_ast.EUnary); ok && unary.Op == js_ast.UnOpNot {
js_parser.go#L7578: s.Test = &js_ast.Expr{Loc: s.Test.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLogicalAnd, Left: *s.Test, Right: not}}
js_parser.go#L7591: s.Test = &js_ast.Expr{Loc: s.Test.Loc, Data: &js_ast.EBinary{Op: js_ast.BinOpLogicalAnd, Left: *s.Test, Right: ifS.Test}}
js_parser.go#L7625: if boolean, sideEffects, ok := toBooleanWithSideEffects(s.Test.Data); ok {
js_parser.go#L7632: if test := p.simplifyUnusedExpr(s.Test); test.Data != nil {
js_parser.go#L7646: if test := p.simplifyUnusedExpr(s.Test); test.Data != nil {
js_parser.go#L7663: if not, ok := s.Test.Data.(*js_ast.EUnary); ok && not.Op == js_ast.UnOpNot {
js_parser.go#L7692: if not, ok := s.Test.Data.(*js_ast.EUnary); ok && not.Op == js_ast.UnOpNot {
js_parser.go#L7703: if not, ok := s.Test.Data.(*js_ast.EUnary); ok && not.Op == js_ast.UnOpNot {
js_parser.go#L7719: if not, ok := s.Test.Data.(*js_ast.EUnary); ok && not.Op == js_ast.UnOpNot {
js_parser.go#L7739: if comma, ok := e.Test.Data.(*js_ast.EBinary); ok && comma.Op == js_ast.BinOpComma {
js_parser.go#L7748: if not, ok := e.Test.Data.(*js_ast.EUnary); ok && not.Op == js_ast.UnOpNot {
js_parser.go#L7753: if valuesLookTheSame(e.Yes.Data, e.No.Data) {
js_parser.go#L7765: if yes, ok := e.Yes.Data.(*js_ast.EBoolean); ok {
js_parser.go#L7766: if no, ok := e.No.Data.(*js_ast.EBoolean); ok {
js_parser.go#L7776: if id, ok := e.Test.Data.(*js_ast.EIdentifier); ok {
js_parser.go#L7778: if id2, ok := e.Yes.Data.(*js_ast.EIdentifier); ok && id.Ref == id2.Ref {
js_parser.go#L7783: if id2, ok := e.No.Data.(*js_ast.EIdentifier); ok && id.Ref == id2.Ref {
js_parser.go#L7789: if yesIf, ok := e.Yes.Data.(*js_ast.EIf); ok && valuesLookTheSame(yesIf.No.Data, e.No.Data) {
js_parser.go#L7792: return js_ast.Expr{Loc: loc, Data: e}
js_parser.go#L7796: if noIf, ok := e.No.Data.(*js_ast.EIf); ok && valuesLookTheSame(e.Yes.Data, noIf.Yes.Data) {
js_parser.go#L7799: return js_ast.Expr{Loc: loc, Data: e}
js_parser.go#L7803: if comma, ok := e.No.Data.(*js_ast.EBinary); ok && comma.Op == js_ast.BinOpComma && valuesLookTheSame(e.Yes.Data, comma.Right.Data) {
js_parser.go#L7811: if comma, ok := e.Yes.Data.(*js_ast.EBinary); ok && comma.Op == js_ast.BinOpComma && valuesLookTheSame(comma.Right.Data, e.No.Data) {
js_parser.go#L7819: if binary, ok := e.Yes.Data.(*js_ast.EBinary); ok && binary.Op == js_ast.BinOpLogicalOr &&
js_parser.go#L7820: valuesLookTheSame(binary.Right.Data, e.No.Data) {
js_parser.go#L7821: return js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
js_parser.go#L7829: if binary, ok := e.No.Data.(*js_ast.EBinary); ok && binary.Op == js_ast.BinOpLogicalAnd &&
js_parser.go#L7830: valuesLookTheSame(e.Yes.Data, binary.Right.Data) {
js_parser.go#L7831: return js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
js_parser.go#L7839: if y, ok := e.Yes.Data.(*js_ast.ECall); ok && len(y.Args) > 0 {
js_parser.go#L7840: if n, ok := e.No.Data.(*js_ast.ECall); ok && len(n.Args) == len(y.Args) &&
js_parser.go#L7841: y.HasSameFlagsAs(n) && valuesLookTheSame(y.Target.Data, n.Target.Data) {
js_parser.go#L7849: if !valuesLookTheSame(y.Args[i].Data, n.Args[i].Data) {
js_parser.go#L7855: yesSpread, yesIsSpread := y.Args[0].Data.(*js_ast.ESpread)
js_parser.go#L7856: noSpread, noIsSpread := n.Args[0].Data.(*js_ast.ESpread)
js_parser.go#L7862: y.Args[0] = js_ast.Expr{Loc: loc, Data: &js_ast.ESpread{Value: p.mangleIfExpr(loc, e)}}
js_parser.go#L7863: return js_ast.Expr{Loc: loc, Data: y}
js_parser.go#L7871: return js_ast.Expr{Loc: loc, Data: y}
js_parser.go#L7880: if binary, ok := e.Test.Data.(*js_ast.EBinary); ok {
js_parser.go#L7884: if _, ok := binary.Right.Data.(*js_ast.ENull); ok && p.exprCanBeRemovedIfUnused(binary.Left) && valuesLookTheSame(binary.Left.Data, e.No.Data) {
js_parser.go#L7889: if _, ok := binary.Left.Data.(*js_ast.ENull); ok && p.exprCanBeRemovedIfUnused(binary.Right) && valuesLookTheSame(binary.Right.Data, e.No.Data) {
js_parser.go#L7895: if _, ok := binary.Right.Data.(*js_ast.ENull); ok && p.exprCanBeRemovedIfUnused(binary.Left) && valuesLookTheSame(binary.Left.Data, e.Yes.Data) {
js_parser.go#L7900: if _, ok := binary.Left.Data.(*js_ast.ENull); ok && p.exprCanBeRemovedIfUnused(binary.Right) && valuesLookTheSame(binary.Right.Data, e.Yes.Data) {
js_parser.go#L7907: return js_ast.Expr{Loc: loc, Data: e}
js_parser.go#L7911: switch e := expr.Data.(type) {
js_parser.go#L7931: {Loc: value.Loc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16(name)}},
js_parser.go#L7935: value.Data.(*js_ast.ECall).CanBeUnwrappedIfUnused = true
js_parser.go#L7942: {Loc: loc, Data: &js_ast.EIdentifier{Ref: ref}},
js_parser.go#L7943: {Loc: loc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16(name)}},
js_parser.go#L8067: if id, ok := (*s.Value.Expr).Data.(*js_ast.EIdentifier); ok {
js_parser.go#L8115: js_ast.Expr{Loc: stmt.Loc, Data: &js_ast.EDot{
js_parser.go#L8116: Target: js_ast.Expr{Loc: stmt.Loc, Data: &js_ast.EIdentifier{Ref: p.moduleRef}},
js_parser.go#L8189: if _, ok := d.Value.Data.(*js_ast.EUndefined); ok {
js_parser.go#L8201: return js_ast.Expr{Loc: loc, Data: &js_ast.EDot{
js_parser.go#L8202: Target: js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: *p.enclosingNamespaceArgRef}},
js_parser.go#L8240: if s.Value.Data == nil {
js_parser.go#L8254: if _, ok := s.Value.Data.(*js_ast.EUndefined); ok {
js_parser.go#L8300: if boolean, sideEffects, ok := toBooleanWithSideEffects(s.Test.Data); ok && boolean && sideEffects == noSideEffects {
js_parser.go#L8326: boolean, _, ok := toBooleanWithSideEffects(s.Test.Data)
js_parser.go#L8375: if boolean, sideEffects, ok := toBooleanWithSideEffects(s.Test.Data); ok && boolean && sideEffects == noSideEffects {
js_parser.go#L8420: js_ast.Expr{Loc: decl.Binding.Loc, Data: &js_ast.EIdentifier{Ref: id.Ref}},
js_parser.go#L8507: js_ast.Expr{Loc: stmt.Loc, Data: &js_ast.EDot{
js_parser.go#L8508: Target: js_ast.Expr{Loc: stmt.Loc, Data: &js_ast.EIdentifier{Ref: *p.enclosingNamespaceArgRef}},
js_parser.go#L8512: js_ast.Expr{Loc: s.Fn.Name.Loc, Data: &js_ast.EIdentifier{Ref: s.Fn.Name.Ref}},
js_parser.go#L8540: js_ast.Expr{Loc: stmt.Loc, Data: &js_ast.EDot{
js_parser.go#L8541: Target: js_ast.Expr{Loc: stmt.Loc, Data: &js_ast.EIdentifier{Ref: *p.enclosingNamespaceArgRef}},
js_parser.go#L8545: js_ast.Expr{Loc: s.Class.Name.Loc, Data: &js_ast.EIdentifier{Ref: s.Class.Name.Ref}},
js_parser.go#L8595: switch e := value.Value.Data.(type) {
js_parser.go#L8605: value.Value = &js_ast.Expr{Loc: value.Loc, Data: &js_ast.ENumber{Value: nextNumericValue}}
js_parser.go#L8608: value.Value = &js_ast.Expr{Loc: value.Loc, Data: &js_ast.EUndefined{}}
js_parser.go#L8614: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EDot{
js_parser.go#L8615: Target: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EIdentifier{Ref: s.Arg}},
js_parser.go#L8624: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EIndex{
js_parser.go#L8625: Target: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EIdentifier{Ref: s.Arg}},
js_parser.go#L8626: Index: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EString{Value: value.Name}},
js_parser.go#L8639: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EIndex{
js_parser.go#L8640: Target: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EIdentifier{Ref: s.Arg}},
js_parser.go#L8643: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EString{Value: value.Name}},
js_parser.go#L8740: return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: ref}}
js_parser.go#L8751: if value.Data == nil {
js_parser.go#L8759: switch e := value.Data.(type) {
js_parser.go#L8796: if e, ok := expr.Data.(*js_ast.EIf); ok {
js_parser.go#L8805: if a.Data == nil {
js_parser.go#L8808: if b.Data == nil {
js_parser.go#L8843: if expr.Data == nil {
js_parser.go#L8852: switch e := value.Data.(type) {
js_parser.go#L8854: valueFunc = func() js_ast.Expr { return js_ast.Expr{Loc: loc, Data: &js_ast.ENull{}} }
js_parser.go#L8856: valueFunc = func() js_ast.Expr { return js_ast.Expr{Loc: loc, Data: &js_ast.EUndefined{}} }
js_parser.go#L8858: valueFunc = func() js_ast.Expr { return js_ast.Expr{Loc: loc, Data: &js_ast.EThis{}} }
js_parser.go#L8860: valueFunc = func() js_ast.Expr { return js_ast.Expr{Loc: loc, Data: &js_ast.EBoolean{Value: e.Value}} }
js_parser.go#L8862: valueFunc = func() js_ast.Expr { return js_ast.Expr{Loc: loc, Data: &js_ast.ENumber{Value: e.Value}} }
js_parser.go#L8864: valueFunc = func() js_ast.Expr { return js_ast.Expr{Loc: loc, Data: &js_ast.EBigInt{Value: e.Value}} }
js_parser.go#L8866: valueFunc = func() js_ast.Expr { return js_ast.Expr{Loc: loc, Data: &js_ast.EString{Value: e.Value}} }
js_parser.go#L8875: return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: e.Ref}}
js_parser.go#L8912: return js_ast.Assign(js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: tempRef}}, value)
js_parser.go#L8915: return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: tempRef}}
js_parser.go#L8918: if expr.Data == nil {
js_parser.go#L8923: return js_ast.Expr{Loc: loc, Data: &js_ast.ECall{
js_parser.go#L8924: Target: js_ast.Expr{Loc: loc, Data: &js_ast.EArrow{
js_parser.go#L8938: return js_ast.Assign(js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: tempRef}}, value)
js_parser.go#L8941: return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: tempRef}}
js_parser.go#L9006: private, isPrivate := property.Key.Data.(*js_ast.EPrivateIdentifier)
js_parser.go#L9017: if str, ok := key.Data.(*js_ast.EString); ok && js_lexer.IsIdentifierUTF16(str.Value) {
js_parser.go#L9040: if str, ok := property.Key.Data.(*js_ast.EString); ok {
js_parser.go#L9164: switch e := expr.Data.(type) {
js_parser.go#L9238: value = js_ast.Expr{Loc: loc, Data: &js_ast.EDot{
js_parser.go#L9268: if typeof, ok := a.Data.(*js_ast.EUnary); ok && typeof.Op == js_ast.UnOpTypeof {
js_parser.go#L9269: if str, ok := b.Data.(*js_ast.EString); ok {
js_parser.go#L9297: if boolean, ok := e.Right.Data.(*js_ast.EBoolean); ok && js_ast.IsBooleanValue(e.Left) {
js_parser.go#L9313: switch e := value.Data.(type) {
js_parser.go#L9386: if id, ok := target.Data.(*js_ast.EIdentifier); ok {
js_parser.go#L9446: return js_ast.Expr{Loc: nameLoc, Data: &js_ast.EIdentifier{Ref: p.requireRef}}, true
js_parser.go#L9454: return js_ast.Expr{Loc: loc, Data: &js_ast.ENumber{Value: number}}, true
js_parser.go#L9471: switch l := left.Data.(type) {
js_parser.go#L9473: switch r := right.Data.(type) {
js_parser.go#L9475: return &js_ast.Expr{Loc: left.Loc, Data: &js_ast.EString{
js_parser.go#L9482: return &js_ast.Expr{Loc: left.Loc, Data: &js_ast.ETemplate{Head: joinStrings(l.Value, r.Head), Parts: r.Parts}}
js_parser.go#L9488: switch r := right.Data.(type) {
js_parser.go#L9499: return &js_ast.Expr{Loc: left.Loc, Data: &js_ast.ETemplate{Head: head, Parts: parts}}
js_parser.go#L9513: return &js_ast.Expr{Loc: left.Loc, Data: &js_ast.ETemplate{Head: head, Parts: parts}}
js_parser.go#L9524: switch e := expr.Data.(type) {
js_parser.go#L9528: if e2, ok2 := e.Value.Data.(*js_ast.EUnary); ok2 && e2.Op == js_ast.UnOpNot {
js_parser.go#L9538: if boolean, sideEffects, ok := toBooleanWithSideEffects(e.Right.Data); ok {
js_parser.go#L9549: if boolean, sideEffects, ok := toBooleanWithSideEffects(e.Right.Data); ok {
js_parser.go#L9681: return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: *p.fnOnlyDataVisit.thisClassStaticRef}}, true
js_parser.go#L9689: return js_ast.Expr{Loc: loc, Data: &js_ast.EUndefined{}}, true
js_parser.go#L9695: return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: p.exportsRef}}, true
js_parser.go#L9703: if a, ok := left.Data.(*js_ast.EBinary); ok && a.Op == op {
js_parser.go#L9704: if b, ok := right.Data.(*js_ast.EBinary); ok && b.Op == op {
js_parser.go#L9705: if idA, ok := a.Left.Data.(*js_ast.EIdentifier); ok {
js_parser.go#L9706: if idB, ok := b.Left.Data.(*js_ast.EIdentifier); ok && idA.Ref == idB.Ref {
js_parser.go#L9708: if _, ok := a.Right.Data.(*js_ast.ENull); ok {
js_parser.go#L9709: if _, ok := b.Right.Data.(*js_ast.EUndefined); ok {
js_parser.go#L9715: if _, ok := a.Right.Data.(*js_ast.EUndefined); ok {
js_parser.go#L9716: if _, ok := b.Right.Data.(*js_ast.ENull); ok {
js_parser.go#L9730: if spread, ok := value.Data.(*js_ast.ESpread); ok {
js_parser.go#L9731: if array, ok := spread.Value.Data.(*js_ast.EArray); ok {
js_parser.go#L9733: if _, ok := item.Data.(*js_ast.EMissing); ok {
js_parser.go#L9734: results = append(results, js_ast.Expr{Loc: item.Loc, Data: &js_ast.EUndefined{}})
js_parser.go#L9757: switch e := expr.Data.(type) {
js_parser.go#L9772: switch e := expr.Data.(type) {
js_parser.go#L9801: if str, ok := part.Value.Data.(*js_ast.EString); ok {
js_parser.go#L9817: return js_ast.Expr{Loc: loc, Data: &js_ast.EString{
js_parser.go#L9823: return js_ast.Expr{Loc: loc, Data: e}
js_parser.go#L9833: switch e := expr.Data.(type) {
js_parser.go#L9850: if r, ok := p.legacyOctalLiterals[expr.Data]; ok {
js_parser.go#L9863: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EIdentifier{Ref: p.captureThis()}}, exprOut{}
js_parser.go#L9884: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EIdentifier{Ref: p.importMetaRef}}, exprOut{}
js_parser.go#L9923: if _, ok := new.Data.(*js_ast.EIdentifier); in.assignTarget == js_ast.AssignTargetNone || ok {
js_parser.go#L9982: args = append(args, js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENull{}})
js_parser.go#L9991: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ECall{
js_parser.go#L10021: if e.Op == js_ast.BinOpLogicalAnd && e.Left.Data == p.typeofRequireEqualsFn {
js_parser.go#L10022: p.typeofRequireEqualsFnTarget = e.Right.Data
js_parser.go#L10028: if boolean, _, ok := toBooleanWithSideEffects(e.Left.Data); ok && boolean {
js_parser.go#L10039: if boolean, _, ok := toBooleanWithSideEffects(e.Left.Data); ok && !boolean {
js_parser.go#L10050: if isNullOrUndefined, _, ok := toNullOrUndefinedWithSideEffects(e.Left.Data); ok && !isNullOrUndefined {
js_parser.go#L10069: if isPrimitiveToReorder(e.Left.Data) && !isPrimitiveToReorder(e.Right.Data) {
js_parser.go#L10081: if e.Left.Data == nil {
js_parser.go#L10086: return js_ast.JoinWithComma(js_ast.Expr{Loc: e.Left.Loc, Data: &js_ast.ENumber{}}, e.Right), exprOut{}
js_parser.go#L10093: if result, ok := checkEqualityIfNoSideEffects(e.Left.Data, e.Right.Data); ok {
js_parser.go#L10100: if result && (e.Left.Data == p.typeofRequire || e.Right.Data == p.typeofRequire) {
js_parser.go#L10104: return js_ast.Expr{Loc: expr.Loc, Data: data}, exprOut{}
js_parser.go#L10114: if _, ok := e.Right.Data.(*js_ast.EUndefined); ok {
js_parser.go#L10115: e.Right.Data = &js_ast.ENull{}
js_parser.go#L10124: if result, ok := checkEqualityIfNoSideEffects(e.Left.Data, e.Right.Data); ok {
js_parser.go#L10125: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EBoolean{Value: result}}, exprOut{}
js_parser.go#L10145: if result, ok := checkEqualityIfNoSideEffects(e.Left.Data, e.Right.Data); ok {
js_parser.go#L10146: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EBoolean{Value: !result}}, exprOut{}
js_parser.go#L10156: if _, ok := e.Right.Data.(*js_ast.EUndefined); ok {
js_parser.go#L10157: e.Right.Data = &js_ast.ENull{}
js_parser.go#L10166: if result, ok := checkEqualityIfNoSideEffects(e.Left.Data, e.Right.Data); ok {
js_parser.go#L10167: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EBoolean{Value: !result}}, exprOut{}
js_parser.go#L10187: if isNullOrUndefined, sideEffects, ok := toNullOrUndefinedWithSideEffects(e.Left.Data); ok {
js_parser.go#L10195: return js_ast.JoinWithComma(js_ast.Expr{Loc: e.Left.Loc, Data: &js_ast.ENumber{}}, e.Right), exprOut{}
js_parser.go#L10204: if right, ok := e.Right.Data.(*js_ast.EBinary); ok && right.Op == js_ast.BinOpNullishCoalescing {
js_parser.go#L10215: if boolean, sideEffects, ok := toBooleanWithSideEffects(e.Left.Data); ok {
js_parser.go#L10223: return js_ast.JoinWithComma(js_ast.Expr{Loc: e.Left.Loc, Data: &js_ast.ENumber{}}, e.Right), exprOut{}
js_parser.go#L10231: if right, ok := e.Right.Data.(*js_ast.EBinary); ok && right.Op == js_ast.BinOpLogicalOr {
js_parser.go#L10245: if boolean, sideEffects, ok := toBooleanWithSideEffects(e.Left.Data); ok {
js_parser.go#L10253: return js_ast.JoinWithComma(js_ast.Expr{Loc: e.Left.Loc, Data: &js_ast.ENumber{}}, e.Right), exprOut{}
js_parser.go#L10261: if right, ok := e.Right.Data.(*js_ast.EBinary); ok && right.Op == js_ast.BinOpLogicalAnd {
js_parser.go#L10277: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: left + right}}, exprOut{}
js_parser.go#L10286: if left, ok := e.Left.Data.(*js_ast.EBinary); ok && left.Op == js_ast.BinOpAdd {
js_parser.go#L10289: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EBinary{Op: left.Op, Left: left.Left, Right: *result}}, exprOut{}
js_parser.go#L10296: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: left - right}}, exprOut{}
js_parser.go#L10303: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: left * right}}, exprOut{}
js_parser.go#L10310: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: left / right}}, exprOut{}
js_parser.go#L10317: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: math.Mod(left, right)}}, exprOut{}
js_parser.go#L10324: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: math.Pow(left, right)}}, exprOut{}
js_parser.go#L10336: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: float64(toInt32(left) << (toUint32(right) & 31))}}, exprOut{}
js_parser.go#L10343: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: float64(toInt32(left) >> (toUint32(right) & 31))}}, exprOut{}
js_parser.go#L10350: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: float64(toUint32(left) >> (toUint32(right) & 31))}}, exprOut{}
js_parser.go#L10357: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: float64(toInt32(left) & toInt32(right))}}, exprOut{}
js_parser.go#L10364: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: float64(toInt32(left) | toInt32(right))}}, exprOut{}
js_parser.go#L10371: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: float64(toInt32(left) ^ toInt32(right))}}, exprOut{}
js_parser.go#L10380: if id, ok := e.Left.Data.(*js_ast.EIdentifier); ok {
js_parser.go#L10481: if comma, ok := e.Left.Data.(*js_ast.EBinary); ok && comma.Op == js_ast.BinOpComma {
js_parser.go#L10484: Data: &js_ast.EBinary{
js_parser.go#L10496: if str, ok := e.Index.Data.(*js_ast.EString); ok && js_lexer.IsIdentifierUTF16(str.Value) {
js_parser.go#L10497: return p.visitExprInOut(js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EDot{
js_parser.go#L10514: if private, ok := e.Index.Data.(*js_ast.EPrivateIdentifier); ok {
js_parser.go#L10567: if str, ok := e.Index.Data.(*js_ast.EString); ok {
js_parser.go#L10580: if id, ok := e.Target.Data.(*js_ast.EIdentifier); ok && p.symbols[id.Ref.InnerIndex].Kind == js_ast.SymbolImport {
js_parser.go#L10586: return js_ast.Expr{Loc: expr.Loc, Data: e}, out
js_parser.go#L10591: p.typeofTarget = e.Value.Data
js_parser.go#L10593: _, idBefore := e.Value.Data.(*js_ast.EIdentifier)
js_parser.go#L10595: id, idAfter := e.Value.Data.(*js_ast.EIdentifier)
js_parser.go#L10600: e.Value = js_ast.JoinWithComma(js_ast.Expr{Loc: e.Value.Loc, Data: &js_ast.ENumber{}}, e.Value)
js_parser.go#L10605: if id, ok := e.Value.Data.(*js_ast.EIdentifier); ok && id.Ref == p.requireRef {
js_parser.go#L10608: return js_ast.Expr{Loc: expr.Loc, Data: p.typeofRequire}, exprOut{}
js_parser.go#L10612: if typeof, ok := typeofWithoutSideEffects(e.Value.Data); ok {
js_parser.go#L10613: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16(typeof)}}, exprOut{}
js_parser.go#L10619: switch e2 := e.Value.Data.(type) {
js_parser.go#L10621: if _, ok := e2.Target.Data.(*js_ast.ESuper); ok {
js_parser.go#L10625: if _, ok := e2.Target.Data.(*js_ast.ESuper); ok {
js_parser.go#L10636: p.deleteTarget = e.Value.Data
js_parser.go#L10665: e.Value = js_ast.JoinWithComma(js_ast.Expr{Loc: e.Value.Loc, Data: &js_ast.ENumber{}}, e.Value)
js_parser.go#L10678: if boolean, sideEffects, ok := toBooleanWithSideEffects(e.Value.Data); ok && sideEffects == noSideEffects {
js_parser.go#L10679: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EBoolean{Value: !boolean}}, exprOut{}
js_parser.go#L10690: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EUndefined{}}, exprOut{}
js_parser.go#L10694: if number, ok := toNumberWithoutSideEffects(e.Value.Data); ok {
js_parser.go#L10695: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: number}}, exprOut{}
js_parser.go#L10699: if number, ok := toNumberWithoutSideEffects(e.Value.Data); ok {
js_parser.go#L10700: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: -number}}, exprOut{}
js_parser.go#L10730: if comma, ok := e.Value.Data.(*js_ast.EBinary); ok && comma.Op == js_ast.BinOpComma {
js_parser.go#L10733: Data: &js_ast.EUnary{
js_parser.go#L10773: p.cjsDotTarget = e.Target.Data
js_parser.go#L10780: nextTarget: e.Target.Data,
js_parser.go#L10785: nextTarget: e.Target.Data,
js_parser.go#L10798: key := js_ast.Expr{Loc: e.NameLoc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16(e.Name)}}
js_parser.go#L10821: return js_ast.Expr{Loc: expr.Loc, Data: e}, out
js_parser.go#L10832: if boolean, sideEffects, ok := toBooleanWithSideEffects(e.Test.Data); !ok {
js_parser.go#L10855: return js_ast.JoinWithComma(js_ast.Expr{Loc: e.Test.Loc, Data: &js_ast.ENumber{}}, e.Yes), exprOut{}
js_parser.go#L10878: return js_ast.JoinWithComma(js_ast.Expr{Loc: e.Test.Loc, Data: &js_ast.ENumber{}}, e.No), exprOut{}
js_parser.go#L10891: p.awaitTarget = e.Value.Data
js_parser.go#L10896: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EYield{Value: &e.Value}}, exprOut{}
js_parser.go#L10913: switch e2 := item.Data.(type) {
js_parser.go#L10925: if id, ok := e2.Left.Data.(*js_ast.EIdentifier); ok {
js_parser.go#L10961: if str, ok := key.Data.(*js_ast.EString); ok && js_lexer.UTF16EqualsString(str.Value, "__proto__") {
js_parser.go#L10972: if str, ok := key.Data.(*js_ast.EString); ok && js_lexer.IsIdentifierUTF16(str.Value) {
js_parser.go#L10982: if binary, ok := property.Value.Data.(*js_ast.EBinary); ok && binary.Op == js_ast.BinOpAssign {
js_parser.go#L10997: if id, ok := property.Value.Data.(*js_ast.EIdentifier); ok {
js_parser.go#L11022: if str, ok := property.Key.Data.(*js_ast.EString); ok {
js_parser.go#L11053: switch v := property.Value.Data.(type) {
js_parser.go#L11092: if str, ok := arg.Data.(*js_ast.EString); ok {
js_parser.go#L11097: return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.ENull{}}
js_parser.go#L11102: return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.EImport{
js_parser.go#L11146: value := p.callRuntime(arg.Loc, "__toModule", []js_ast.Expr{{Loc: arg.Loc, Data: &js_ast.ECall{
js_parser.go#L11147: Target: js_ast.Expr{Loc: arg.Loc, Data: &js_ast.EIdentifier{Ref: p.requireRef}},
js_parser.go#L11152: then = js_ast.Expr{Loc: arg.Loc, Data: &js_ast.EFunction{Fn: js_ast.Fn{Body: body}}}
js_parser.go#L11154: then = js_ast.Expr{Loc: arg.Loc, Data: &js_ast.EArrow{Body: body, PreferExpr: true}}
js_parser.go#L11156: return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.ECall{
js_parser.go#L11157: Target: js_ast.Expr{Loc: arg.Loc, Data: &js_ast.EDot{
js_parser.go#L11158: Target: js_ast.Expr{Loc: arg.Loc, Data: &js_ast.ECall{
js_parser.go#L11159: Target: js_ast.Expr{Loc: arg.Loc, Data: &js_ast.EDot{
js_parser.go#L11160: Target: js_ast.Expr{Loc: arg.Loc, Data: &js_ast.EIdentifier{Ref: p.makePromiseRef()}},
js_parser.go#L11172: return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.EImport{
js_parser.go#L11179: p.callTarget = e.Target.Data
js_parser.go#L11183: nextTarget: e.Target.Data,
js_parser.go#L11191: if dot, ok := e.Target.Data.(*js_ast.EDot); ok && dot.OptionalChain == js_ast.OptionalChainNone && dot.Name == "resolve" {
js_parser.go#L11192: p.resolveCallTarget = dot.Target.Data
js_parser.go#L11197: _, wasIdentifierBeforeVisit := e.Target.Data.(*js_ast.EIdentifier)
js_parser.go#L11212: if _, ok := arg.Data.(*js_ast.ESpread); ok {
js_parser.go#L11220: if dot, ok := e.Target.Data.(*js_ast.EDot); ok {
js_parser.go#L11221: if id, ok := dot.Target.Data.(*js_ast.EIdentifier); ok && id.Ref == p.requireRef {
js_parser.go#L11223: if str, ok := e.Args[0].Data.(*js_ast.EString); ok {
js_parser.go#L11228: return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.ENull{}}
js_parser.go#L11237: return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.ERequireResolve{ImportRecordIndex: importRecordIndex}}
js_parser.go#L11241: return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.ECall{
js_parser.go#L11242: Target: js_ast.Expr{Loc: e.Target.Loc, Data: &js_ast.EDot{
js_parser.go#L11243: Target: js_ast.Expr{Loc: dot.Target.Loc, Data: &js_ast.EIdentifier{Ref: id.Ref}},
js_parser.go#L11263: if id, ok := e.Target.Data.(*js_ast.EIdentifier); ok {
js_parser.go#L11294: switch t := target.Data.(type) {
js_parser.go#L11317: return targetWrapFunc(js_ast.Expr{Loc: target.Loc, Data: &js_ast.ECall{
js_parser.go#L11318: Target: js_ast.Expr{Loc: target.Loc, Data: &js_ast.EDot{
js_parser.go#L11332: if id, ok := e.Target.Data.(*js_ast.EIdentifier); ok && id.Ref == p.requireRef {
js_parser.go#L11343: if str, ok := arg.Data.(*js_ast.EString); ok {
js_parser.go#L11348: return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.ENull{}}
js_parser.go#L11357: return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.ERequire{ImportRecordIndex: importRecordIndex}}
js_parser.go#L11367: return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.ECall{
js_parser.go#L11368: Target: js_ast.Expr{Loc: e.Target.Loc, Data: &js_ast.EIdentifier{Ref: id.Ref}},
js_parser.go#L11448: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EFunction{Fn: js_ast.Fn{
js_parser.go#L11486: if id, ok := target.Data.(*js_ast.EIdentifier); ok && p.importItemsForNamespace[id.Ref] != nil {
js_parser.go#L11524: expr := js_ast.Expr{Loc: loc, Data: defineFunc(config.DefineArgs{
js_parser.go#L11529: if id, ok := expr.Data.(*js_ast.EIdentifier); ok {
js_parser.go#L11553: return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: p.captureArguments()}}
js_parser.go#L11572: return js_ast.Expr{Loc: loc, Data: &js_ast.EImportIdentifier{
js_parser.go#L11586: return js_ast.Expr{Loc: loc, Data: &js_ast.ENumber{Value: number}}
js_parser.go#L11592: return js_ast.Expr{Loc: loc, Data: &js_ast.EDot{
js_parser.go#L11593: Target: js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: nsRef}},
js_parser.go#L11609: return js_ast.Expr{Loc: loc, Data: &js_ast.EBoolean{Value: false}}
js_parser.go#L11618: return js_ast.Expr{Loc: loc, Data: e}
js_parser.go#L11622: if a, ok := left.Data.(*js_ast.ENumber); ok {
js_parser.go#L11623: if b, ok := right.Data.(*js_ast.ENumber); ok {
js_parser.go#L12015: if dot, ok := value.Data.(*js_ast.EDot); ok {
js_parser.go#L12023: if id, ok := value.Data.(*js_ast.EIdentifier); ok {
js_parser.go#L12263: switch e := expr.Data.(type) {
js_parser.go#L12392: switch e := expr.Data.(type) {
js_parser.go#L12415: if result.Data == nil {
js_parser.go#L12416: result = js_ast.Expr{Loc: part.Value.Loc, Data: &js_ast.EString{}}
js_parser.go#L12418: result = js_ast.Expr{Loc: part.Value.Loc, Data: &js_ast.EBinary{
js_parser.go#L12432: if _, ok := spread.Data.(*js_ast.ESpread); ok {
js_parser.go#L12436: if item.Data != nil {
js_parser.go#L12465: if value.Data != nil {
js_parser.go#L12473: property.Value.Data = &js_ast.ENumber{}
js_parser.go#L12490: result = maybeJoinWithComma(result, js_ast.Expr{Loc: property.Key.Loc, Data: &js_ast.EBinary{
js_parser.go#L12493: Right: js_ast.Expr{Loc: property.Key.Loc, Data: &js_ast.EString{}},
js_parser.go#L12505: if e.Yes.Data == nil && e.No.Data == nil {
js_parser.go#L12510: if e.Yes.Data == nil {
js_parser.go#L12515: if e.No.Data == nil {
js_parser.go#L12527: if _, ok := e.Value.Data.(*js_ast.EIdentifier); ok {
js_parser.go#L12548: if isPrimitiveWithSideEffects(e.Left.Data) && isPrimitiveWithSideEffects(e.Right.Data) {
js_parser.go#L12557: if e.Right.Data == nil {
js_parser.go#L12592: switch e := expr.Data.(type) {
js_parser.go#L12595: return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EString{}}, true
js_parser.go#L12602: if _, rightIsString := e.Right.Data.(*js_ast.EString); rightIsString {
js_parser.go#L12610: e.Right.Data = &js_ast.EString{}
js_parser.go#L12747: Value: &js_ast.Expr{Data: &js_ast.EObject{}},
js_parser_lower.go#L269: init := js_ast.Expr{Loc: arg.Binding.Loc, Data: &js_ast.EIdentifier{Ref: ref}}
js_parser_lower.go#L298: thisValue = js_ast.Expr{Loc: bodyLoc, Data: &js_ast.EThis{}}
js_parser_lower.go#L312: if _, ok := arg.Binding.Data.(*js_ast.BIdentifier); !ok || (arg.Default != nil && couldPotentiallyThrow(arg.Default.Data)) {
js_parser_lower.go#L325: forwardedArgs = js_ast.Expr{Loc: bodyLoc, Data: &js_ast.ENull{}}
js_parser_lower.go#L373: forwardedArgs = js_ast.Expr{Loc: bodyLoc, Data: &js_ast.EIdentifier{Ref: *p.fnOnlyDataVisit.argumentsRef}}
js_parser_lower.go#L400: item := js_ast.Expr{Loc: arg.Binding.Loc, Data: &js_ast.EIdentifier{Ref: id.Ref}}
js_parser_lower.go#L402: item.Data = &js_ast.ESpread{Value: item}
js_parser_lower.go#L406: forwardedArgs = js_ast.Expr{Loc: bodyLoc, Data: &js_ast.EArray{Items: items, IsSingleLine: true}}
js_parser_lower.go#L415: {Loc: bodyLoc, Data: &js_ast.EFunction{Fn: fn}},
js_parser_lower.go#L426: Value: &js_ast.Expr{Loc: bodyLoc, Data: &js_ast.EArrow{
js_parser_lower.go#L433: Value: &js_ast.Expr{Loc: bodyLoc, Data: &js_ast.EIndex{
js_parser_lower.go#L434: Target: js_ast.Expr{Loc: bodyLoc, Data: &js_ast.ESuper{}},
js_parser_lower.go#L435: Index: js_ast.Expr{Loc: bodyLoc, Data: &js_ast.EIdentifier{Ref: argRef}},
js_parser_lower.go#L452: valueWhenUndefined := js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EUndefined{}}
js_parser_lower.go#L466: switch e := expr.Data.(type) {
js_parser_lower.go#L486: if private, ok := e.Index.Data.(*js_ast.EPrivateIdentifier); ok && p.isPrivateUnsupported(private) {
js_parser_lower.go#L502: valueWhenUndefined = js_ast.Expr{Loc: loc, Data: &js_ast.EBoolean{Value: true}}
js_parser_lower.go#L512: switch expr.Data.(type) {
js_parser_lower.go#L545: switch e := expr.Data.(type) {
js_parser_lower.go#L547: if _, ok := e.Target.Data.(*js_ast.ESuper); ok {
js_parser_lower.go#L550: key := js_ast.Expr{Loc: e.NameLoc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16(e.Name)}}
js_parser_lower.go#L563: thisArg = js_ast.Expr{Loc: loc, Data: &js_ast.EThis{}}
js_parser_lower.go#L566: expr = js_ast.Expr{Loc: loc, Data: &js_ast.EDot{
js_parser_lower.go#L576: if _, ok := e.Target.Data.(*js_ast.ESuper); ok {
js_parser_lower.go#L583: thisArg = js_ast.Expr{Loc: loc, Data: &js_ast.EThis{}}
js_parser_lower.go#L590: if private, ok := e.Index.Data.(*js_ast.EPrivateIdentifier); ok && p.isPrivateUnsupported(private) {
js_parser_lower.go#L597: expr = js_ast.Expr{Loc: loc, Data: &js_ast.EIndex{
js_parser_lower.go#L629: switch e := chain[i].Data.(type) {
js_parser_lower.go#L631: result = js_ast.Expr{Loc: loc, Data: &js_ast.EDot{
js_parser_lower.go#L638: if private, ok := e.Index.Data.(*js_ast.EPrivateIdentifier); ok && p.isPrivateUnsupported(private) {
js_parser_lower.go#L644: if _, ok := chain[i-1].Data.(*js_ast.ECall); ok {
js_parser_lower.go#L654: result = js_ast.Expr{Loc: loc, Data: &js_ast.EIndex{
js_parser_lower.go#L663: if i == len(chain)-1 && thisArg.Data != nil {
js_parser_lower.go#L664: result = js_ast.Expr{Loc: loc, Data: &js_ast.ECall{
js_parser_lower.go#L665: Target: js_ast.Expr{Loc: loc, Data: &js_ast.EDot{
js_parser_lower.go#L681: result = privateThisWrapFunc(js_ast.Expr{Loc: loc, Data: &js_ast.ECall{
js_parser_lower.go#L682: Target: js_ast.Expr{Loc: loc, Data: &js_ast.EDot{
js_parser_lower.go#L694: result = js_ast.Expr{Loc: loc, Data: &js_ast.ECall{
js_parser_lower.go#L702: result = js_ast.Expr{Loc: loc, Data: &js_ast.EUnary{
js_parser_lower.go#L717: result = js_ast.Expr{Loc: loc, Data: &js_ast.EIf{
js_parser_lower.go#L718: Test: js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
js_parser_lower.go#L721: Right: js_ast.Expr{Loc: loc, Data: &js_ast.ENull{}},
js_parser_lower.go#L742: switch left := value.Data.(type) {
js_parser_lower.go#L747: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EDot{
js_parser_lower.go#L752: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EDot{
js_parser_lower.go#L765: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EIndex{
js_parser_lower.go#L769: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EIndex{
js_parser_lower.go#L778: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EIdentifier{Ref: left.Ref}},
js_parser_lower.go#L818: return targetWrapFunc(js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
js_parser_lower.go#L832: return js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
js_parser_lower.go#L845: return targetWrapFunc(js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
js_parser_lower.go#L855: return js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
js_parser_lower.go#L867: return wrapFunc(js_ast.Expr{Loc: loc, Data: &js_ast.EIf{
js_parser_lower.go#L868: Test: js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
js_parser_lower.go#L871: Right: js_ast.Expr{Loc: loc, Data: &js_ast.ENull{}},
js_parser_lower.go#L915: return js_ast.Expr{Loc: loc, Data: e}
js_parser_lower.go#L927: if len(properties) > 0 || result.Data == nil {
js_parser_lower.go#L928: if result.Data == nil {
js_parser_lower.go#L930: result = js_ast.Expr{Loc: loc, Data: &js_ast.EObject{
js_parser_lower.go#L937: []js_ast.Expr{result, {Loc: loc, Data: &js_ast.EObject{
js_parser_lower.go#L951: result = p.callRuntime(loc, "__assign", []js_ast.Expr{result, {Loc: loc, Data: &js_ast.EObject{
js_parser_lower.go#L968: {Loc: loc, Data: &js_ast.EIdentifier{Ref: private.Ref}},
js_parser_lower.go#L969: {Loc: loc, Data: &js_ast.EIdentifier{Ref: fnRef}},
js_parser_lower.go#L979: {Loc: loc, Data: &js_ast.EIdentifier{Ref: private.Ref}},
js_parser_lower.go#L980: {Loc: loc, Data: &js_ast.EIdentifier{Ref: fnRef}},
js_parser_lower.go#L987: {Loc: loc, Data: &js_ast.EIdentifier{Ref: private.Ref}},
js_parser_lower.go#L1006: {Loc: loc, Data: &js_ast.EIdentifier{Ref: private.Ref}},
js_parser_lower.go#L1008: {Loc: loc, Data: &js_ast.EIdentifier{Ref: fnRef}},
js_parser_lower.go#L1015: {Loc: loc, Data: &js_ast.EIdentifier{Ref: private.Ref}},
js_parser_lower.go#L1028: value := js_ast.Expr{Loc: target.Loc, Data: &js_ast.EUnary{
js_parser_lower.go#L1036: assign := valueWrapFunc(targetWrapFunc(p.lowerPrivateSet(target, loc, private, js_ast.Expr{Loc: target.Loc, Data: &js_ast.EBinary{
js_parser_lower.go#L1039: Right: js_ast.Expr{Loc: target.Loc, Data: &js_ast.ENumber{Value: 1}},
js_parser_lower.go#L1045: return targetWrapFunc(p.lowerPrivateSet(target, loc, private, js_ast.Expr{Loc: target.Loc, Data: &js_ast.EBinary{
js_parser_lower.go#L1048: Right: js_ast.Expr{Loc: target.Loc, Data: &js_ast.ENumber{Value: 1}},
js_parser_lower.go#L1055: return targetWrapFunc(p.lowerPrivateSet(targetFunc(), loc, private, js_ast.Expr{Loc: value.Loc, Data: &js_ast.EBinary{
js_parser_lower.go#L1065: if index, ok := target.Data.(*js_ast.EIndex); ok {
js_parser_lower.go#L1066: if private, ok := index.Index.Data.(*js_ast.EPrivateIdentifier); ok && p.isPrivateUnsupported(private) {
js_parser_lower.go#L1092: switch e := expr.Data.(type) {
js_parser_lower.go#L1154: if expr, ok := p.lowerObjectRestInAssign(s.Value, js_ast.Expr{Loc: init.Loc, Data: &js_ast.EIdentifier{Ref: ref}}); ok {
js_parser_lower.go#L1155: s.Value.Data = &js_ast.EIdentifier{Ref: ref}
js_parser_lower.go#L1165: decl := js_ast.Decl{Binding: s.Decls[0].Binding, Value: &js_ast.Expr{Loc: init.Loc, Data: &js_ast.EIdentifier{Ref: ref}}}
js_parser_lower.go#L1192: decl := js_ast.Decl{Binding: *catch.Binding, Value: &js_ast.Expr{Loc: catch.Binding.Loc, Data: &js_ast.EIdentifier{Ref: ref}}}
js_parser_lower.go#L1243: switch rootExpr.Data.(type) {
js_parser_lower.go#L1254: switch e := expr.Data.(type) {
js_parser_lower.go#L1273: containsRestBinding[expr.Data] = true
js_parser_lower.go#L1286: if id, ok := expr.Data.(*js_ast.EIdentifier); ok {
js_parser_lower.go#L1294: assign(js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EIdentifier{Ref: ref}}, expr)
js_parser_lower.go#L1312: assign(js_ast.Expr{Loc: before[0].Key.Loc, Data: &js_ast.EObject{Properties: before, IsSingleLine: isSingleLine}},
js_parser_lower.go#L1313: js_ast.Expr{Loc: init.Loc, Data: &js_ast.EIdentifier{Ref: ref}})
js_parser_lower.go#L1314: init = js_ast.Expr{Loc: init.Loc, Data: &js_ast.EIdentifier{Ref: ref}}
js_parser_lower.go#L1326: {Loc: binding.Loc, Data: &js_ast.EArray{Items: keysToExclude, IsSingleLine: isSingleLine}}}))
js_parser_lower.go#L1338: if binary, ok := binding.Data.(*js_ast.EBinary); ok && binary.Op == js_ast.BinOpAssign {
js_parser_lower.go#L1345: binding.Data = &js_ast.EIdentifier{Ref: splitRef}
js_parser_lower.go#L1354: tailExpr = js_ast.Expr{Loc: loc, Data: &js_ast.EArray{Items: after, IsSingleLine: isSingleLine}}
js_parser_lower.go#L1355: tailInit = js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: tailRef}}
js_parser_lower.go#L1356: items = append(items, js_ast.Expr{Loc: loc, Data: &js_ast.ESpread{Value: js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: tailRef}}}})
js_parser_lower.go#L1362: assign(js_ast.Expr{Loc: split.Loc, Data: &js_ast.EArray{Items: items, IsSingleLine: isSingleLine}}, init)
js_parser_lower.go#L1365: visit(deferredBinding, js_ast.Expr{Loc: split.Loc, Data: &js_ast.EIdentifier{Ref: splitRef}}, nil)
js_parser_lower.go#L1386: init = js_ast.Expr{Loc: init.Loc, Data: &js_ast.EIdentifier{Ref: ref}}
js_parser_lower.go#L1387: afterSplitInit = js_ast.Expr{Loc: init.Loc, Data: &js_ast.EIdentifier{Ref: ref}}
js_parser_lower.go#L1396: binding.Data = &js_ast.EIdentifier{Ref: splitRef}
js_parser_lower.go#L1401: assign(js_ast.Expr{Loc: binding.Loc, Data: &js_ast.EObject{Properties: upToSplit, IsSingleLine: isSingleLine}}, init)
js_parser_lower.go#L1404: visit(deferredBinding, js_ast.Expr{Loc: binding.Loc, Data: &js_ast.EIdentifier{Ref: splitRef}}, nil)
js_parser_lower.go#L1409: visit(js_ast.Expr{Loc: binding.Loc, Data: &js_ast.EObject{
js_parser_lower.go#L1434: switch e := expr.Data.(type) {
js_parser_lower.go#L1439: if containsRestBinding[item.Data] {
js_parser_lower.go#L1467: if containsRestBinding[property.Value.Data] {
js_parser_lower.go#L1487: switch k := originalKey.Data.(type) {
js_parser_lower.go#L1489: capturedKey = func() js_ast.Expr { return js_ast.Expr{Loc: loc, Data: &js_ast.EString{Value: k.Value}} }
js_parser_lower.go#L1498: return js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
js_parser_lower.go#L1500: Left: js_ast.Expr{Loc: loc, Data: &js_ast.ENumber{Value: k.Value}},
js_parser_lower.go#L1501: Right: js_ast.Expr{Loc: loc, Data: &js_ast.EString{}},
js_parser_lower.go#L1508: return p.callRuntime(loc, "__restKey", []js_ast.Expr{{Loc: loc, Data: &js_ast.EIdentifier{Ref: k.Ref}}})
js_parser_lower.go#L1515: finalKey = js_ast.Assign(js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: tempRef}}, originalKey)
js_parser_lower.go#L1518: return p.callRuntime(loc, "__restKey", []js_ast.Expr{{Loc: loc, Data: &js_ast.EIdentifier{Ref: tempRef}}})
js_parser_lower.go#L1543: e, _ := expr.Data.(*js_ast.EClass)
js_parser_lower.go#L1621: nameFunc, wrapFunc = p.captureValueWithPossibleSideEffects(classLoc, 2, js_ast.Expr{Loc: classLoc, Data: classExpr})
js_parser_lower.go#L1644: p.mergeSymbols(class.Name.Ref, name.Data.(*js_ast.EIdentifier).Ref)
js_parser_lower.go#L1658: return js_ast.Expr{Loc: classLoc, Data: &js_ast.EIdentifier{Ref: class.Name.Ref}}
js_parser_lower.go#L1668: if fn, ok := prop.Value.Data.(*js_ast.EFunction); ok {
js_parser_lower.go#L1670: if key, ok := prop.Key.Data.(*js_ast.EString); ok {
js_parser_lower.go#L1682: {Loc: decorator.Loc, Data: &js_ast.ENumber{Value: float64(i)}},
js_parser_lower.go#L1696: private, _ := prop.Key.Data.(*js_ast.EPrivateIdentifier)
js_parser_lower.go#L1716: mustLowerField || computedPropertyCache.Data != nil) {
js_parser_lower.go#L1729: js_ast.Assign(js_ast.Expr{Loc: prop.Key.Loc, Data: &js_ast.EIdentifier{Ref: ref}}, prop.Key))
js_parser_lower.go#L1730: prop.Key = js_ast.Expr{Loc: prop.Key.Loc, Data: &js_ast.EIdentifier{Ref: ref}}
js_parser_lower.go#L1751: switch k := keyExprNoSideEffects.Data.(type) {
js_parser_lower.go#L1753: descriptorKey = js_ast.Expr{Loc: loc, Data: &js_ast.ENumber{Value: k.Value}}
js_parser_lower.go#L1755: descriptorKey = js_ast.Expr{Loc: loc, Data: &js_ast.EString{Value: k.Value}}
js_parser_lower.go#L1757: descriptorKey = js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: k.Ref}}
js_parser_lower.go#L1773: target = js_ast.Expr{Loc: loc, Data: &js_ast.EDot{Target: nameFunc(), Name: "prototype", NameLoc: loc}}
js_parser_lower.go#L1777: {Loc: loc, Data: &js_ast.EArray{Items: prop.TSDecorators}},
js_parser_lower.go#L1780: {Loc: loc, Data: &js_ast.ENumber{Value: descriptorKind}},
js_parser_lower.go#L1808: target = js_ast.Expr{Loc: loc, Data: &js_ast.EThis{}}
js_parser_lower.go#L1816: init = js_ast.Expr{Loc: loc, Data: &js_ast.EUndefined{}}
js_parser_lower.go#L1832: js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: ref}},
js_parser_lower.go#L1833: js_ast.Expr{Loc: loc, Data: &js_ast.ENew{Target: js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: p.weakMapRef}}}},
js_parser_lower.go#L1838: expr = js_ast.Expr{Loc: loc, Data: &js_ast.ECall{
js_parser_lower.go#L1839: Target: js_ast.Expr{Loc: loc, Data: &js_ast.EDot{
js_parser_lower.go#L1840: Target: js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: ref}},
js_parser_lower.go#L1851: if _, ok := init.Data.(*js_ast.EUndefined); ok {
js_parser_lower.go#L1857: if key, ok := prop.Key.Data.(*js_ast.EString); ok && !prop.IsComputed {
js_parser_lower.go#L1858: target = js_ast.Expr{Loc: loc, Data: &js_ast.EDot{
js_parser_lower.go#L1864: target = js_ast.Expr{Loc: loc, Data: &js_ast.EIndex{
js_parser_lower.go#L1908: js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: ref}},
js_parser_lower.go#L1909: js_ast.Expr{Loc: loc, Data: &js_ast.ENew{Target: js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: p.weakSetRef}}}},
js_parser_lower.go#L1918: target = js_ast.Expr{Loc: loc, Data: &js_ast.EThis{}}
js_parser_lower.go#L1922: expr := js_ast.Expr{Loc: loc, Data: &js_ast.ECall{
js_parser_lower.go#L1923: Target: js_ast.Expr{Loc: loc, Data: &js_ast.EDot{
js_parser_lower.go#L1924: Target: js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: ref}},
js_parser_lower.go#L1959: js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: methodRef}},
js_parser_lower.go#L1963: } else if key, ok := prop.Key.Data.(*js_ast.EString); ok && js_lexer.UTF16EqualsString(key.Value, "constructor") {
js_parser_lower.go#L1964: if fn, ok := prop.Value.Data.(*js_ast.EFunction); ok {
js_parser_lower.go#L1973: js_ast.Expr{Loc: arg.Binding.Loc, Data: &js_ast.EDot{
js_parser_lower.go#L1974: Target: js_ast.Expr{Loc: arg.Binding.Loc, Data: &js_ast.EThis{}},
js_parser_lower.go#L1978: js_ast.Expr{Loc: arg.Binding.Loc, Data: &js_ast.EIdentifier{Ref: id.Ref}},
js_parser_lower.go#L2005: Key: js_ast.Expr{Loc: classLoc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16("constructor")}},
js_parser_lower.go#L2006: Value: &js_ast.Expr{Loc: classLoc, Data: ctor},
js_parser_lower.go#L2013: ctor.Fn.Body.Stmts = append(ctor.Fn.Body.Stmts, js_ast.Stmt{Loc: classLoc, Data: &js_ast.SExpr{Value: js_ast.Expr{Loc: classLoc, Data: &js_ast.ECall{
js_parser_lower.go#L2014: Target: js_ast.Expr{Loc: classLoc, Data: &js_ast.ESuper{}},
js_parser_lower.go#L2015: Args: []js_ast.Expr{{Loc: classLoc, Data: &js_ast.ESpread{Value: js_ast.Expr{Loc: classLoc, Data: &js_ast.EIdentifier{Ref: argumentsRef}}}}},
js_parser_lower.go#L2037: if class.Properties[i].Value != nil && class.Properties[i].Value.Data == ctor {
js_parser_lower.go#L2054: if didCaptureClassExpr || computedPropertyCache.Data != nil ||
js_parser_lower.go#L2060: if computedPropertyCache.Data != nil {
js_parser_lower.go#L2074: if nameToJoin.Data != nil {
js_parser_lower.go#L2093: (computedPropertyCache.Data != nil ||
js_parser_lower.go#L2105: keepNameStmt = p.keepStmtSymbolName(name.Loc, name.Data.(*js_ast.EIdentifier).Ref, nameToKeep)
js_parser_lower.go#L2116: nameRef := name.Data.(*js_ast.EIdentifier).Ref
js_parser_lower.go#L2120: init := &js_ast.Expr{Loc: classLoc, Data: &classExpr}
js_parser_lower.go#L2166: init = &js_ast.Expr{Loc: classLoc, Data: &js_ast.EIdentifier{Ref: captureRef}}
js_parser_lower.go#L2210: if computedPropertyCache.Data != nil {
js_parser_lower.go#L2230: js_ast.Expr{Loc: nameForClassDecorators.Loc, Data: &js_ast.EIdentifier{Ref: nameForClassDecorators.Ref}},
js_parser_lower.go#L2232: {Loc: classLoc, Data: &js_ast.EArray{Items: class.TSDecorators}},
js_parser_lower.go#L2233: {Loc: nameForClassDecorators.Loc, Data: &js_ast.EIdentifier{Ref: nameForClassDecorators.Ref}},
js_parser_lower.go#L2269: _, isSuper := expr.Data.(*js_ast.ESuper)
js_parser_lower.go#L2281: return js_ast.Expr{Loc: loc, Data: &js_ast.ECall{
js_parser_lower.go#L2282: Target: js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: *p.fnOrArrowDataVisit.superIndexRef}},
js_parser_lower.go#L2290: switch e := call.Target.Data.(type) {
js_parser_lower.go#L2296: key = js_ast.Expr{Loc: e.NameLoc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16(e.Name)}}
js_parser_lower.go#L2310: call.Target.Data = &js_ast.EDot{
js_parser_lower.go#L2315: thisExpr := js_ast.Expr{Loc: call.Target.Loc, Data: &js_ast.EThis{}}
json_parser.go#L38: return js_ast.Expr{Loc: loc, Data: &js_ast.EBoolean{Value: false}}
json_parser.go#L42: return js_ast.Expr{Loc: loc, Data: &js_ast.EBoolean{Value: true}}
json_parser.go#L46: return js_ast.Expr{Loc: loc, Data: &js_ast.ENull{}}
json_parser.go#L51: return js_ast.Expr{Loc: loc, Data: &js_ast.EString{Value: value}}
json_parser.go#L56: return js_ast.Expr{Loc: loc, Data: &js_ast.ENumber{Value: value}}
json_parser.go#L62: return js_ast.Expr{Loc: loc, Data: &js_ast.ENumber{Value: -value}}
json_parser.go#L90: return js_ast.Expr{Loc: loc, Data: &js_ast.EArray{
json_parser.go#L116: key := js_ast.Expr{Loc: keyRange.Loc, Data: &js_ast.EString{Value: keyString}}
json_parser.go#L142: return js_ast.Expr{Loc: loc, Data: &js_ast.EObject{
sourcemap_parser.go#L20: obj, ok := expr.Data.(*js_ast.EObject)
sourcemap_parser.go#L35: switch js_lexer.UTF16ToString(prop.Key.Data.(*js_ast.EString).Value) {
sourcemap_parser.go#L41: if value, ok := prop.Value.Data.(*js_ast.ENumber); ok && value.Value == 3 {
sourcemap_parser.go#L46: if value, ok := prop.Value.Data.(*js_ast.EString); ok {
sourcemap_parser.go#L52: if value, ok := prop.Value.Data.(*js_ast.EArray); ok {
sourcemap_parser.go#L55: if element, ok := item.Data.(*js_ast.EString); ok {
sourcemap_parser.go#L64: if value, ok := prop.Value.Data.(*js_ast.EArray); ok {
sourcemap_parser.go#L67: if element, ok := item.Data.(*js_ast.EString); ok {
ts_parser.go#L838: value := js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EIdentifier{Ref: p.storeNameInRef(name)}}
ts_parser.go#L844: path := js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EString{Value: p.lexer.StringLiteral}}
ts_parser.go#L847: value.Data = &js_ast.ECall{
ts_parser.go#L856: value.Data = &js_ast.EDot{
ts_parser.go#L1010: js_ast.Expr{Loc: nameLoc, Data: &js_ast.EIdentifier{Ref: nameRef}},
ts_parser.go#L1011: js_ast.Expr{Loc: nameLoc, Data: &js_ast.EBinary{
ts_parser.go#L1013: Left: js_ast.Expr{Loc: nameLoc, Data: &js_ast.EDot{
ts_parser.go#L1014: Target: js_ast.Expr{Loc: nameLoc, Data: &js_ast.EIdentifier{Ref: *p.enclosingNamespaceArgRef}},
ts_parser.go#L1019: js_ast.Expr{Loc: nameLoc, Data: &js_ast.EDot{
ts_parser.go#L1020: Target: js_ast.Expr{Loc: nameLoc, Data: &js_ast.EIdentifier{Ref: *p.enclosingNamespaceArgRef}},
ts_parser.go#L1024: js_ast.Expr{Loc: nameLoc, Data: &js_ast.EObject{}},
ts_parser.go#L1033: argExpr = js_ast.Expr{Loc: nameLoc, Data: &js_ast.EBinary{
ts_parser.go#L1035: Left: js_ast.Expr{Loc: nameLoc, Data: &js_ast.EIdentifier{Ref: nameRef}},
ts_parser.go#L1037: js_ast.Expr{Loc: nameLoc, Data: &js_ast.EIdentifier{Ref: nameRef}},
ts_parser.go#L1038: js_ast.Expr{Loc: nameLoc, Data: &js_ast.EObject{}},
ts_parser.go#L1046: stmts = append(stmts, js_ast.Stmt{Loc: stmtLoc, Data: &js_ast.SExpr{Value: js_ast.Expr{Loc: stmtLoc, Data: &js_ast.ECall{
ts_parser.go#L1047: Target: js_ast.Expr{Loc: stmtLoc, Data: &js_ast.EFunction{Fn: js_ast.Fn{
github.com/evanw/esbuild/internal/js_printer
js_printer.go#L905: if str, ok := property.Key.Data.(*js_ast.EString); ok {
js_printer.go#L1109: if fn, ok := item.Value.Data.(*js_ast.EFunction); item.IsMethod && ok {
js_printer.go#L1127: if fn, ok := item.Value.Data.(*js_ast.EFunction); item.IsMethod && ok {
js_printer.go#L1146: switch key := item.Key.Data.(type) {
js_printer.go#L1158: switch e := item.Value.Data.(type) {
js_printer.go#L1197: f, ok := item.Value.Data.(*js_ast.EFunction)
js_printer.go#L1205: if fn, ok := item.Value.Data.(*js_ast.EFunction); item.IsMethod && ok {
js_printer.go#L1372: switch e := expr.Data.(type) {
js_printer.go#L1467: p.callTarget = e.Target.Data
js_printer.go#L1605: if private, ok := e.Index.Data.(*js_ast.EPrivateIdentifier); ok {
js_printer.go#L1730: _, ok := item.Data.(*js_ast.EMissing)
js_printer.go#L2040: if _, ok := e.Left.Data.(*js_ast.EObject); ok {
js_printer.go#L2063: if left, ok := e.Left.Data.(*js_ast.EBinary); ok && (left.Op == js_ast.BinOpLogicalOr || left.Op == js_ast.BinOpLogicalAnd) {
js_printer.go#L2066: if right, ok := e.Right.Data.(*js_ast.EBinary); ok && (right.Op == js_ast.BinOpLogicalOr || right.Op == js_ast.BinOpLogicalAnd) {
js_printer.go#L2072: if left, ok := e.Left.Data.(*js_ast.EUnary); ok && left.Op.UnaryAssignTarget() == js_ast.AssignTargetNone {
js_printer.go#L2074: } else if _, ok := e.Left.Data.(*js_ast.EAwait); ok {
js_printer.go#L2076: } else if _, ok := e.Left.Data.(*js_ast.EUndefined); ok {
js_printer.go#L2079: } else if _, ok := e.Left.Data.(*js_ast.ENumber); ok {
js_printer.go#L2084: if _, ok := e.Left.Data.(*js_ast.EBoolean); ok {
js_printer.go#L2115: panic(fmt.Sprintf("Unexpected expression of type %T", expr.Data))
js_printer.go#L2120: if id, ok := value.Data.(*js_ast.EIdentifier); ok {
github.com/evanw/esbuild/internal/resolver
resolver.go#L969: if browser, ok := browserJson.Data.(*js_ast.EObject); ok {
resolver.go#L1009: switch data := sideEffectsJson.Data.(type) {
resolver.go#L1032: item, ok := itemJson.Data.(*js_ast.EString)
resolver.go#L1161: if obj, ok := json.Data.(*js_ast.EObject); ok {
resolver.go#L1163: if key, ok := prop.Key.Data.(*js_ast.EString); ok && key.Value != nil &&
resolver.go#L1173: if value, ok := json.Data.(*js_ast.EString); ok {
resolver.go#L1180: if value, ok := json.Data.(*js_ast.EBoolean); ok {
tsconfig_json.go#L120: if paths, ok := valueJSON.Data.(*js_ast.EObject); ok {
tsconfig_json.go#L155: if array, ok := prop.Value.Data.(*js_ast.EArray); ok {
github.com/evanw/esbuild/pkg/api
api_impl.go#L424: switch e := expr.Data.(type) {
 |
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. |