github.com/evanw/esbuild/internal/js_ast.Expr.Loc (field)

812 uses

	github.com/evanw/esbuild/internal/js_ast (current package)
		js_ast.go#L377: 	Loc  logger.Loc
		js_ast.go#L695: 	return Expr{Loc: a.Loc, Data: &EBinary{Op: BinOpAssign, Left: a, Right: b}}
		js_ast.go#L699: 	return Stmt{Loc: a.Loc, Data: &SExpr{Value: Assign(a, b)}}
		js_ast.go#L710: 	return Expr{Loc: expr.Loc, Data: &EUnary{Op: UnOpNot, Value: expr}}
		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#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}}

	github.com/evanw/esbuild/internal/bundler
		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#L1432: 				NameLoc: lazy.Value.Loc,
		linker.go#L1460: 			stmt = js_ast.Stmt{Loc: value.Loc, Data: &js_ast.SExportDefault{
		linker.go#L1461: 				DefaultName: js_ast.LocRef{Loc: value.Loc, Ref: ref},
		linker.go#L1465: 			stmt = js_ast.Stmt{Loc: value.Loc, Data: &js_ast.SLocal{
		linker.go#L1468: 					Binding: js_ast.Binding{Loc: value.Loc, Data: &js_ast.BIdentifier{Ref: ref}},
		linker.go#L1502: 				clone.Properties[i].Value = &js_ast.Expr{Loc: property.Key.Loc, Data: &js_ast.EIdentifier{Ref: export.ref}}
		linker.go#L1655: 		body := js_ast.FnBody{Stmts: []js_ast.Stmt{{Loc: value.Loc, Data: &js_ast.SReturn{Value: &value}}}}
		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}},

	github.com/evanw/esbuild/internal/js_parser
		js_parser.go#L507: 						r := p.source.RangeOfOperatorBefore(expr.Loc, "case")
		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#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#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#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#L1917: 			private.Ref = p.declareSymbol(declare, key.Loc, name)
		js_parser.go#L1984: 		value := js_ast.Expr{Loc: loc, Data: &js_ast.EFunction{Fn: fn}}
		js_parser.go#L1996: 				r := js_lexer.RangeOfIdentifier(p.source, key.Loc)
		js_parser.go#L2035: 			private.Ref = p.declareSymbol(declare, key.Loc, name)
		js_parser.go#L2083: 		key = js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.ENumber{Value: p.lexer.Number}}
		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#L2181: 		Body:       js_ast.FnBody{Loc: arrowLoc, Stmts: []js_ast.Stmt{{Loc: expr.Loc, Data: &js_ast.SReturn{Value: &expr}}}},
		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#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#L2467: 		equalsRange := p.source.RangeOfOperatorBefore(initializer.Loc, "=")
		js_parser.go#L2484: 		return js_ast.Binding{Loc: expr.Loc, Data: &js_ast.BMissing{}}, invalidLog
		js_parser.go#L2487: 		return js_ast.Binding{Loc: expr.Loc, Data: &js_ast.BIdentifier{Ref: e.Ref}}, invalidLog
		js_parser.go#L2494: 			invalidLog = append(invalidLog, p.source.RangeOfOperatorBefore(expr.Loc, "(").Loc)
		js_parser.go#L2496: 		p.markSyntaxFeature(compat.Destructuring, p.source.RangeOfOperatorAfter(expr.Loc, "["))
		js_parser.go#L2504: 					p.markSyntaxFeature(compat.NestedRestBinding, p.source.RangeOfOperatorAfter(item.Loc, "["))
		js_parser.go#L2511: 		return js_ast.Binding{Loc: expr.Loc, Data: &js_ast.BArray{
		js_parser.go#L2522: 			invalidLog = append(invalidLog, p.source.RangeOfOperatorBefore(expr.Loc, "(").Loc)
		js_parser.go#L2524: 		p.markSyntaxFeature(compat.Destructuring, p.source.RangeOfOperatorAfter(expr.Loc, "{"))
		js_parser.go#L2528: 				invalidLog = append(invalidLog, item.Key.Loc)
		js_parser.go#L2544: 		return js_ast.Binding{Loc: expr.Loc, Data: &js_ast.BObject{
		js_parser.go#L2550: 		invalidLog = append(invalidLog, expr.Loc)
		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#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#L2843: 				r := logger.Range{Loc: index.Index.Loc, Len: int32(len(name))}
		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#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#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#L3537: 			if p.options.ts.Parse && left.Loc == p.latestArrowArgLoc && (p.lexer.Token == js_lexer.TColon ||
		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#L3911: 					p.log.AddWarning(&p.source, left.Loc,
		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#L3928: 					p.log.AddWarning(&p.source, left.Loc,
		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#L4317: 		p.log.AddError(&p.source, decls[0].Value.Loc, fmt.Sprintf("for-%s loop variables cannot have an initializer", loopType))
		js_parser.go#L5999: 					name := js_ast.LocRef{Loc: expr.Loc, Ref: ident.Ref}
		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#L6603: 		before = append(before[:0], js_ast.Stmt{Loc: letDecls[0].Value.Loc, Data: &js_ast.SLocal{Kind: kind, Decls: letDecls}})
		js_parser.go#L6611: 				before = append(before, js_ast.Stmt{Loc: varDecls[0].Value.Loc, Data: &js_ast.SLocal{Kind: js_ast.LocalVar, Decls: varDecls}})
		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#L7037: 							value := js_ast.JoinWithComma(comma.Left, p.mangleIfExpr(comma.Right.Loc, &js_ast.EIf{Test: comma.Right, Yes: *left, No: *right}))
		js_parser.go#L7041: 							value := p.mangleIfExpr(prevS.Test.Loc, &js_ast.EIf{Test: prevS.Test, Yes: *left, No: *right})
		js_parser.go#L7096: 						lastThrow = &js_ast.SThrow{Value: js_ast.JoinWithComma(comma.Left, p.mangleIfExpr(comma.Right.Loc, &js_ast.EIf{Test: comma.Right, Yes: left, No: right}))}
		js_parser.go#L7099: 						lastThrow = &js_ast.SThrow{Value: p.mangleIfExpr(prevS.Test.Loc, &js_ast.EIf{Test: prevS.Test, Yes: left, No: right})}
		js_parser.go#L7370: 					expr = p.mangleTemplate(expr.Loc, e)
		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#L7633: 						stmts = append(stmts, js_ast.Stmt{Loc: s.Test.Loc, Data: &js_ast.SExpr{Value: test}})
		js_parser.go#L7647: 						stmts = append(stmts, js_ast.Stmt{Loc: s.Test.Loc, Data: &js_ast.SExpr{Value: test}})
		js_parser.go#L7740: 		return js_ast.JoinWithComma(comma.Left, p.mangleIfExpr(comma.Right.Loc, &js_ast.EIf{
		js_parser.go#L7792: 		return js_ast.Expr{Loc: loc, Data: e}
		js_parser.go#L7799: 		return js_ast.Expr{Loc: loc, Data: e}
		js_parser.go#L7821: 		return js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
		js_parser.go#L7831: 		return js_ast.Expr{Loc: loc, Data: &js_ast.EBinary{
		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#L7907: 	return js_ast.Expr{Loc: loc, Data: e}
		js_parser.go#L7930: 	value = p.callRuntime(value.Loc, "__name", []js_ast.Expr{value,
		js_parser.go#L7931: 		{Loc: value.Loc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16(name)}},
		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#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#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#L8416: 				p.markStrictModeFeature(forInVarInit, p.source.RangeOfOperatorBefore(decl.Value.Loc, "="), "")
		js_parser.go#L8420: 					js_ast.Expr{Loc: decl.Binding.Loc, Data: &js_ast.EIdentifier{Ref: id.Ref}},
		js_parser.go#L8481: 				p.warnAboutEqualityCheck("case", *c.Value, c.Value.Loc)
		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#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#L8657: 				valueStmts = append(valueStmts, js_ast.Stmt{Loc: joined.Loc, Data: &js_ast.SExpr{Value: joined}})
		js_parser.go#L8660: 					valueStmts = append(valueStmts, js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: expr}})
		js_parser.go#L8740: 		return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: ref}}
		js_parser.go#L8755: 	return js_ast.Stmt{Loc: value.Loc, Data: &js_ast.SExpr{Value: value}}, true
		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#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#L9186: 			result := p.findSymbol(expr.Loc, name)
		js_parser.go#L9238: 			value = js_ast.Expr{Loc: loc, Data: &js_ast.EDot{
		js_parser.go#L9278: 					r := p.source.RangeOfString(b.Loc)
		js_parser.go#L9318: 			r := logger.Range{Loc: value.Loc, Len: 0}
		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#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#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#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#L9734: 						results = append(results, js_ast.Expr{Loc: item.Loc, Data: &js_ast.EUndefined{}})
		js_parser.go#L9748: 	if e.Left.Loc.Start < e.Right.Loc.Start {
		js_parser.go#L9749: 		return e.Right.Loc
		js_parser.go#L9752: 		return e.Left.Loc
		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#L9830: 		p.log.AddError(&p.source, expr.Loc, "Invalid assignment target")
		js_parser.go#L9856: 		if value, ok := p.valueForThis(expr.Loc); ok {
		js_parser.go#L9863: 			return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EIdentifier{Ref: p.captureThis()}}, exprOut{}
		js_parser.go#L9875: 						return p.valueForDefine(expr.Loc, in.assignTarget, isDeleteTarget, define.Data.DefineFunc), exprOut{}
		js_parser.go#L9884: 			return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EIdentifier{Ref: p.importMetaRef}}, exprOut{}
		js_parser.go#L9894: 			p.markStrictModeFeature(reservedWord, js_lexer.RangeOfIdentifier(p.source, expr.Loc), name)
		js_parser.go#L9896: 		result := p.findSymbol(expr.Loc, name)
		js_parser.go#L9902: 			r := js_lexer.RangeOfIdentifier(p.source, expr.Loc)
		js_parser.go#L9919: 					new := p.valueForDefine(expr.Loc, in.assignTarget, isDeleteTarget, data.DefineFunc)
		js_parser.go#L9936: 					p.warnAboutLackOfDefine(name, js_lexer.RangeOfIdentifier(p.source, expr.Loc))
		js_parser.go#L9941: 		return p.handleIdentifier(expr.Loc, e, identifierOpts{
		js_parser.go#L9955: 			value := p.jsxStringsToMemberExpression(expr.Loc, p.options.jsx.Fragment)
		js_parser.go#L9978: 			args = append(args, p.lowerObjectSpread(expr.Loc, &js_ast.EObject{
		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#L9992: 			Target: p.jsxStringsToMemberExpression(expr.Loc, p.options.jsx.Factory),
		js_parser.go#L10012: 			return p.mangleTemplate(expr.Loc, e), exprOut{}
		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#L10104: 				return js_ast.Expr{Loc: expr.Loc, Data: data}, exprOut{}
		js_parser.go#L10125: 				return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EBoolean{Value: result}}, exprOut{}
		js_parser.go#L10146: 				return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EBoolean{Value: !result}}, exprOut{}
		js_parser.go#L10167: 				return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EBoolean{Value: !result}}, exprOut{}
		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#L10211: 				return p.lowerNullishCoalescing(expr.Loc, e.Left, e.Right), exprOut{}
		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#L10253: 						return js_ast.JoinWithComma(js_ast.Expr{Loc: e.Left.Loc, Data: &js_ast.ENumber{}}, e.Right), exprOut{}
		js_parser.go#L10277: 					return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: left + right}}, exprOut{}
		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#L10330: 				return p.callRuntime(expr.Loc, "__pow", []js_ast.Expr{e.Left, e.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#L10426: 				return p.lowerExponentiationAssignmentOperator(expr.Loc, e), exprOut{}
		js_parser.go#L10465: 				return p.lowerNullishCoalescingAssignmentOperator(expr.Loc, e), exprOut{}
		js_parser.go#L10470: 				return p.lowerLogicalAssignmentOperator(expr.Loc, e, js_ast.BinOpLogicalAnd), exprOut{}
		js_parser.go#L10475: 				return p.lowerLogicalAssignmentOperator(expr.Loc, e, js_ast.BinOpLogicalOr), exprOut{}
		js_parser.go#L10483: 					Loc: comma.Right.Loc,
		js_parser.go#L10497: 				return p.visitExprInOut(js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EDot{
		js_parser.go#L10500: 					NameLoc:       e.Index.Loc,
		js_parser.go#L10516: 			result := p.findSymbol(e.Index.Loc, name)
		js_parser.go#L10522: 				r := logger.Range{Loc: e.Index.Loc, Len: int32(len(name))}
		js_parser.go#L10526: 					r := logger.Range{Loc: e.Index.Loc, Len: int32(len(name))}
		js_parser.go#L10529: 					r := logger.Range{Loc: e.Index.Loc, Len: int32(len(name))}
		js_parser.go#L10540: 				return p.lowerPrivateGet(e.Target, e.Index.Loc, private), exprOut{}
		js_parser.go#L10548: 			return p.lowerSuperPropertyAccess(expr.Loc, e.Index), exprOut{}
		js_parser.go#L10570: 				expr.Loc, in.assignTarget, isDeleteTarget, e.OptionalChain, e.Target, name, e.Index.Loc, isCallTarget); ok {
		js_parser.go#L10581: 				r := js_lexer.RangeOfIdentifier(p.source, e.Target.Loc)
		js_parser.go#L10586: 		return js_ast.Expr{Loc: expr.Loc, Data: e}, out
		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#L10608: 					return js_ast.Expr{Loc: expr.Loc, Data: p.typeofRequire}, exprOut{}
		js_parser.go#L10613: 				return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16(typeof)}}, exprOut{}
		js_parser.go#L10622: 					superPropLoc = e2.Target.Loc
		js_parser.go#L10626: 					superPropLoc = e2.Target.Loc
		js_parser.go#L10629: 				p.markStrictModeFeature(deleteBareName, js_lexer.RangeOfIdentifier(p.source, e.Value.Loc), "")
		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#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#L10695: 					return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: number}}, exprOut{}
		js_parser.go#L10700: 					return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.ENumber{Value: -number}}, exprOut{}
		js_parser.go#L10732: 					Loc: comma.Right.Loc,
		js_parser.go#L10751: 						return p.valueForDefine(expr.Loc, in.assignTarget, isDeleteTarget, define.Data.DefineFunc), exprOut{}
		js_parser.go#L10763: 						r = logger.Range{Loc: expr.Loc, Len: r.End() - expr.Loc.Start}
		js_parser.go#L10798: 			key := js_ast.Expr{Loc: e.NameLoc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16(e.Name)}}
		js_parser.go#L10799: 			return p.lowerSuperPropertyAccess(expr.Loc, key), exprOut{}
		js_parser.go#L10818: 		if value, ok := p.maybeRewritePropertyAccess(expr.Loc, in.assignTarget, isDeleteTarget, e.OptionalChain, e.Target, e.Name, e.NameLoc, isCallTarget); ok {
		js_parser.go#L10821: 		return js_ast.Expr{Loc: expr.Loc, Data: e}, out
		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#L10887: 			return p.mangleIfExpr(expr.Loc, e), exprOut{}
		js_parser.go#L10896: 			return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EYield{Value: &e.Value}}, exprOut{}
		js_parser.go#L10909: 			p.markSyntaxFeature(compat.Destructuring, logger.Range{Loc: expr.Loc, Len: 1})
		js_parser.go#L10948: 			p.markSyntaxFeature(compat.Destructuring, logger.Range{Loc: expr.Loc, Len: 1})
		js_parser.go#L10963: 							r := js_lexer.RangeOfIdentifier(p.source, key.Loc)
		js_parser.go#L11025: 						nextKey := existingKey{kind: keyNormal, loc: property.Key.Loc}
		js_parser.go#L11035: 								r := js_lexer.RangeOfIdentifier(p.source, property.Key.Loc)
		js_parser.go#L11082: 			return p.lowerObjectSpread(expr.Loc, e), exprOut{}
		js_parser.go#L11097: 					return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.ENull{}}
		js_parser.go#L11100: 				importRecordIndex := p.addImportRecord(ast.ImportDynamic, arg.Loc, js_lexer.UTF16ToString(str.Value))
		js_parser.go#L11102: 				return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.EImport{
		js_parser.go#L11124: 					r := js_lexer.RangeOfIdentifier(p.source, expr.Loc)
		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#L11150: 				body := js_ast.FnBody{Loc: arg.Loc, Stmts: []js_ast.Stmt{{Loc: arg.Loc, Data: &js_ast.SReturn{Value: &value}}}}
		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#L11162: 								NameLoc: arg.Loc,
		js_parser.go#L11166: 						NameLoc: arg.Loc,
		js_parser.go#L11172: 			return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.EImport{
		js_parser.go#L11228: 								return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.ENull{}}
		js_parser.go#L11231: 							importRecordIndex := p.addImportRecord(ast.ImportRequireResolve, e.Args[0].Loc, js_lexer.UTF16ToString(str.Value))
		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#L11286: 						p.log.AddRangeWarning(&p.source, js_lexer.RangeOfIdentifier(p.source, e.Target.Loc),
		js_parser.go#L11316: 				targetFunc, targetWrapFunc := p.captureValueWithPossibleSideEffects(target.Loc, 2, target)
		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#L11321: 						NameLoc: target.Loc,
		js_parser.go#L11348: 									return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.ENull{}}
		js_parser.go#L11351: 								importRecordIndex := p.addImportRecord(ast.ImportRequire, arg.Loc, js_lexer.UTF16ToString(str.Value))
		js_parser.go#L11357: 								return js_ast.Expr{Loc: arg.Loc, Data: &js_ast.ERequire{ImportRecordIndex: importRecordIndex}}
		js_parser.go#L11361: 								r := js_lexer.RangeOfIdentifier(p.source, e.Target.Loc)
		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#L11373: 						r := js_lexer.RangeOfIdentifier(p.source, e.Target.Loc)
		js_parser.go#L11378: 					r := js_lexer.RangeOfIdentifier(p.source, e.Target.Loc)
		js_parser.go#L11419: 		p.pushScopeForVisitPass(js_ast.ScopeFunctionArgs, expr.Loc)
		js_parser.go#L11448: 			return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EFunction{Fn: js_ast.Fn{
		js_parser.go#L11458: 		p.visitFn(&e.Fn, expr.Loc)
		js_parser.go#L11472: 		shadowRef := p.visitClass(expr.Loc, &e.Class)
		js_parser.go#L11487: 			r := js_lexer.RangeOfIdentifier(p.source, target.Loc)
		js_parser.go#L11524: 	expr := js_ast.Expr{Loc: loc, Data: defineFunc(config.DefineArgs{
		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#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#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#L12595: 		return js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EString{}}, true
		js_parser.go#L12836: 		expr = p.callRuntime(expr.Loc, apiCall, []js_ast.Expr{expr})
		js_parser.go#L12841: 		Stmts:      []js_ast.Stmt{{Loc: expr.Loc, Data: &js_ast.SLazyExport{Value: expr}}},
		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#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#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#L458: 	loc := expr.Loc
		js_parser_lower.go#L502: 			valueWhenUndefined = js_ast.Expr{Loc: loc, Data: &js_ast.EBoolean{Value: true}}
		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#L551: 						expr = p.lowerSuperPropertyAccess(expr.Loc, key)
		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#L579: 						expr = p.lowerSuperPropertyAccess(expr.Loc, e.Index)
		js_parser_lower.go#L583: 					thisArg = js_ast.Expr{Loc: loc, Data: &js_ast.EThis{}}
		js_parser_lower.go#L592: 						expr = p.lowerPrivateGet(targetFunc(), e.Index.Loc, private)
		js_parser_lower.go#L597: 					expr = js_ast.Expr{Loc: loc, Data: &js_ast.EIndex{
		js_parser_lower.go#L625: 			parentThisArgFunc, parentThisArgWrapFunc = p.captureValueWithPossibleSideEffects(result.Loc, 2, result)
		js_parser_lower.go#L631: 			result = js_ast.Expr{Loc: loc, Data: &js_ast.EDot{
		js_parser_lower.go#L650: 				result = p.lowerPrivateGet(result, e.Index.Loc, private)
		js_parser_lower.go#L654: 			result = js_ast.Expr{Loc: loc, Data: &js_ast.EIndex{
		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#L745: 			referenceFunc, wrapFunc := p.captureValueWithPossibleSideEffects(value.Loc, 2, left.Target)
		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#L762: 			targetFunc, targetWrapFunc := p.captureValueWithPossibleSideEffects(value.Loc, 2, left.Target)
		js_parser_lower.go#L763: 			indexFunc, indexWrapFunc := p.captureValueWithPossibleSideEffects(value.Loc, 2, left.Index)
		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#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#L966: 		return p.callRuntime(target.Loc, "__privateMethod", []js_ast.Expr{
		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#L977: 		return p.callRuntime(target.Loc, "__privateGet", []js_ast.Expr{
		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#L985: 		return p.callRuntime(target.Loc, "__privateGet", []js_ast.Expr{
		js_parser_lower.go#L987: 			{Loc: loc, Data: &js_ast.EIdentifier{Ref: private.Ref}},
		js_parser_lower.go#L1004: 		return p.callRuntime(target.Loc, "__privateSet", []js_ast.Expr{
		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#L1013: 		return p.callRuntime(target.Loc, "__privateSet", []js_ast.Expr{
		js_parser_lower.go#L1015: 			{Loc: loc, Data: &js_ast.EIdentifier{Ref: private.Ref}},
		js_parser_lower.go#L1022: 	targetFunc, targetWrapFunc := p.captureValueWithPossibleSideEffects(target.Loc, 2, target)
		js_parser_lower.go#L1028: 	value := js_ast.Expr{Loc: target.Loc, Data: &js_ast.EUnary{
		js_parser_lower.go#L1035: 		valueFunc, valueWrapFunc := p.captureValueWithPossibleSideEffects(value.Loc, 2, value)
		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#L1054: 	targetFunc, targetWrapFunc := p.captureValueWithPossibleSideEffects(target.Loc, 2, target)
		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#L1067: 			return index.Target, index.Index.Loc, private
		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#L1156: 				bodyPrefixStmt = js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: expr}}
		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#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#L1325: 		assign(binding, p.callRuntime(binding.Loc, "__rest", []js_ast.Expr{init,
		js_parser_lower.go#L1326: 			{Loc: binding.Loc, Data: &js_ast.EArray{Items: keysToExclude, IsSingleLine: isSingleLine}}}))
		js_parser_lower.go#L1353: 			loc := after[0].Loc
		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#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#L1484: 	loc := originalKey.Loc
		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#L1583: 		classLoc = expr.Loc
		js_parser_lower.go#L1621: 			nameFunc, wrapFunc = p.captureValueWithPossibleSideEffects(classLoc, 2, js_ast.Expr{Loc: classLoc, Data: classExpr})
		js_parser_lower.go#L1658: 			return js_ast.Expr{Loc: classLoc, Data: &js_ast.EIdentifier{Ref: class.Name.Ref}}
		js_parser_lower.go#L1681: 							p.callRuntime(decorator.Loc, "__param", []js_ast.Expr{
		js_parser_lower.go#L1682: 								{Loc: decorator.Loc, Data: &js_ast.ENumber{Value: float64(i)}},
		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#L1747: 				loc := prop.Key.Loc
		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#L1801: 				loc := prop.Key.Loc
		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#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#L1894: 				loc := prop.Key.Loc
		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#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#L2105: 		keepNameStmt = p.keepStmtSymbolName(name.Loc, name.Data.(*js_ast.EIdentifier).Ref, nameToKeep)
		js_parser_lower.go#L2117: 		nameForClassDecorators = js_ast.LocRef{Loc: name.Loc, Ref: nameRef}
		js_parser_lower.go#L2120: 		init := &js_ast.Expr{Loc: classLoc, Data: &classExpr}
		js_parser_lower.go#L2162: 					Binding: js_ast.Binding{Loc: name.Loc, Data: &js_ast.BIdentifier{Ref: captureRef}},
		js_parser_lower.go#L2166: 			init = &js_ast.Expr{Loc: classLoc, Data: &js_ast.EIdentifier{Ref: captureRef}}
		js_parser_lower.go#L2184: 				Binding: js_ast.Binding{Loc: name.Loc, Data: &js_ast.BIdentifier{Ref: nameRef}},
		js_parser_lower.go#L2211: 		stmts = append(stmts, js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: computedPropertyCache}})
		js_parser_lower.go#L2214: 		stmts = append(stmts, js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: expr}})
		js_parser_lower.go#L2217: 		stmts = append(stmts, js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: expr}})
		js_parser_lower.go#L2220: 		stmts = append(stmts, js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: expr}})
		js_parser_lower.go#L2223: 		stmts = append(stmts, js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: expr}})
		js_parser_lower.go#L2226: 		stmts = append(stmts, js_ast.Stmt{Loc: expr.Loc, Data: &js_ast.SExpr{Value: expr}})
		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#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#L2296: 		key = js_ast.Expr{Loc: e.NameLoc, Data: &js_ast.EString{Value: js_lexer.StringToUTF16(e.Name)}}
		js_parser_lower.go#L2311: 		Target:  p.lowerSuperPropertyAccess(call.Target.Loc, key),
		js_parser_lower.go#L2312: 		NameLoc: key.Loc,
		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#L22: 		log.AddError(&source, expr.Loc, "Invalid source map")
		sourcemap_parser.go#L33: 		keyRange := source.RangeOfString(prop.Key.Loc)
		sourcemap_parser.go#L48: 				mappingsStart = prop.Value.Loc.Start + 1
		sourcemap_parser.go#L70: 							Quoted: source.TextForRange(source.RangeOfString(item.Loc)),
		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#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#L907: 							p.addSourceMapping(property.Key.Loc)
		js_printer.go#L1151: 		p.addSourceMapping(item.Key.Loc)
		js_printer.go#L1370: 	p.addSourceMapping(expr.Loc)

	github.com/evanw/esbuild/internal/resolver
		resolver.go#L949: 				if absPath := toAbsPath(r.fs.Join(path, main), jsonSource.RangeOfString(mainJson.Loc)); absPath != nil {
		resolver.go#L1034: 					r.log.AddWarning(&jsonSource, itemJson.Loc,
		resolver.go#L1053: 			r.log.AddWarning(&jsonSource, sideEffectsJson.Loc,
		resolver.go#L1165: 				return *prop.Value, prop.Key.Loc, true
		tsconfig_json.go#L67: 				if base := extends(value, source.RangeOfString(valueJSON.Loc)); base != nil {
		tsconfig_json.go#L86: 				result.JSXFactory = parseMemberExpressionForJSX(log, source, valueJSON.Loc, value)
		tsconfig_json.go#L93: 				result.JSXFragmentFactory = parseMemberExpressionForJSX(log, source, valueJSON.Loc, value)
		tsconfig_json.go#L112: 					log.AddRangeWarning(&source, source.RangeOfString(valueJSON.Loc),
		tsconfig_json.go#L130: 						if !isValidTSConfigPathPattern(key, log, source, prop.Key.Loc) {
		tsconfig_json.go#L158: 									if isValidTSConfigPathPattern(str, log, source, item.Loc) &&
		tsconfig_json.go#L159: 										(hasBaseURL || isValidTSConfigPathNoBaseURLPattern(str, log, source, item.Loc)) {
		tsconfig_json.go#L165: 							log.AddRangeWarning(&source, source.RangeOfString(prop.Value.Loc), fmt.Sprintf(