github.com/evanw/esbuild/internal/js_ast.EIdentifier.Ref (field)

176 uses

	github.com/evanw/esbuild/internal/js_ast (current package)
		js_ast.go#L509: 	Ref Ref

	github.com/evanw/esbuild/internal/bundler
		linker.go#L1430: 				Target:  js_ast.Expr{Loc: lazy.Value.Loc, Data: &js_ast.EIdentifier{Ref: repr.ast.ModuleRef}},
		linker.go#L1502: 				clone.Properties[i].Value = &js_ast.Expr{Loc: property.Key.Loc, Data: &js_ast.EIdentifier{Ref: export.ref}}
		linker.go#L1620: 			value = js_ast.Expr{Data: &js_ast.EIdentifier{Ref: export.ref}}
		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#L1726: 			Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: exportRef}},
		linker.go#L1728: 				{Data: &js_ast.EIdentifier{Ref: repr.ast.ExportsRef}},
		linker.go#L1788: 					Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: repr.ast.WrapperRef}},
		linker.go#L1795: 						Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: repr.ast.WrapperRef}},
		linker.go#L1800: 						Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: repr.ast.WrapperRef}},
		linker.go#L1808: 						Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: c.unboundModuleRef}},
		linker.go#L1812: 						Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: repr.ast.WrapperRef}},
		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#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#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#L3408: 				Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: commonJSRef}},
		linker.go#L3413: 				Target: js_ast.Expr{Data: &js_ast.EIdentifier{Ref: commonJSRef}},

	github.com/evanw/esbuild/internal/js_parser
		js_parser.go#L563: 		return hashCombine(6, e.Ref.InnerIndex), true
		js_parser.go#L613: 		return ok && a.Ref == b.Ref, false
		js_parser.go#L921: 		if b, ok := right.(*js_ast.EIdentifier); ok && a.Ref == b.Ref {
		js_parser.go#L1535: 		Target: js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: ref}},
		js_parser.go#L1847: 			value := js_ast.Expr{Loc: key.Loc, Data: &js_ast.EIdentifier{Ref: ref}}
		js_parser.go#L2239: 	return js_ast.Expr{Loc: asyncRange.Loc, Data: &js_ast.EIdentifier{Ref: p.storeNameInRef("async")}}
		js_parser.go#L2435: 		async := js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: p.storeNameInRef("async")}}
		js_parser.go#L2487: 		return js_ast.Binding{Loc: expr.Loc, Data: &js_ast.BIdentifier{Ref: e.Ref}}, invalidLog
		js_parser.go#L2566: 		return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: b.Ref}}
		js_parser.go#L2742: 		return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: ref}}
		js_parser.go#L3994: 	expr := js_ast.Expr{Loc: letRange.Loc, Data: &js_ast.EIdentifier{Ref: ref}}
		js_parser.go#L4048: 	tag := &js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: p.storeNameInRef(name)}}
		js_parser.go#L5999: 					name := js_ast.LocRef{Loc: expr.Loc, Ref: ident.Ref}
		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#L7182: 		if e.Ref == ref {
		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#L7942: 			{Loc: loc, Data: &js_ast.EIdentifier{Ref: ref}},
		js_parser.go#L8068: 					symbol := p.symbols[id.Ref.InnerIndex]
		js_parser.go#L8116: 				Target:  js_ast.Expr{Loc: stmt.Loc, Data: &js_ast.EIdentifier{Ref: p.moduleRef}},
		js_parser.go#L8202: 					Target:  js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: *p.enclosingNamespaceArgRef}},
		js_parser.go#L8420: 					js_ast.Expr{Loc: decl.Binding.Loc, Data: &js_ast.EIdentifier{Ref: id.Ref}},
		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#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#L8615: 						Target:  js_ast.Expr{Loc: value.Loc, Data: &js_ast.EIdentifier{Ref: s.Arg}},
		js_parser.go#L8625: 						Target: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EIdentifier{Ref: s.Arg}},
		js_parser.go#L8640: 						Target: js_ast.Expr{Loc: value.Loc, Data: &js_ast.EIdentifier{Ref: s.Arg}},
		js_parser.go#L8740: 		return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: ref}}
		js_parser.go#L8874: 			p.recordUsage(e.Ref)
		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#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#L9181: 			name := p.loadNameFromRef(e.Ref)
		js_parser.go#L9224: 		Ref:                   result.ref,
		js_parser.go#L9392: 			if importItems, ok := p.importItemsForNamespace[id.Ref]; ok {
		js_parser.go#L9408: 							NamespaceRef: id.Ref,
		js_parser.go#L9427: 				p.ignoreUsage(id.Ref)
		js_parser.go#L9431: 				return p.handleIdentifier(nameLoc, &js_ast.EIdentifier{Ref: item.Ref}, identifierOpts{
		js_parser.go#L9443: 			if isCallTarget && id.Ref == p.moduleRef && name == "require" {
		js_parser.go#L9446: 				return js_ast.Expr{Loc: nameLoc, Data: &js_ast.EIdentifier{Ref: p.requireRef}}, true
		js_parser.go#L9452: 			if enumValueMap, ok := p.knownEnumValues[id.Ref]; ok {
		js_parser.go#L9681: 		return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: *p.fnOnlyDataVisit.thisClassStaticRef}}, true
		js_parser.go#L9695: 			return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: p.exportsRef}}, true
		js_parser.go#L9706: 				if idB, ok := b.Left.Data.(*js_ast.EIdentifier); ok && idA.Ref == idB.Ref {
		js_parser.go#L9775: 			if name := p.loadNameFromRef(e.Ref); isEvalOrArguments(name) {
		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#L9892: 		name := p.loadNameFromRef(e.Ref)
		js_parser.go#L9898: 		e.Ref = result.ref
		js_parser.go#L9916: 		if p.symbols[e.Ref.InnerIndex].Kind == js_ast.SymbolUnbound && !result.isInsideWithScope && e != p.deleteTarget {
		js_parser.go#L10381: 				e.Right = p.maybeKeepExprSymbolName(e.Right, p.symbols[id.Ref.InnerIndex].OriginalName, wasAnonymousNamedExpr)
		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#L10582: 				p.log.AddRangeError(&p.source, r, fmt.Sprintf("Cannot assign to property on import %q", p.symbols[id.Ref.InnerIndex].OriginalName))
		js_parser.go#L10599: 			if !idBefore && idAfter && p.symbols[id.Ref.InnerIndex].Kind == js_ast.SymbolUnbound {
		js_parser.go#L10605: 				if id, ok := e.Value.Data.(*js_ast.EIdentifier); ok && id.Ref == p.requireRef {
		js_parser.go#L10927: 							e2.Right, p.symbols[id.Ref.InnerIndex].OriginalName, wasAnonymousNamedExpr)
		js_parser.go#L10999: 							*property.Initializer, p.symbols[id.Ref.InnerIndex].OriginalName, wasAnonymousNamedExpr)
		js_parser.go#L11147: 					Target: js_ast.Expr{Loc: arg.Loc, Data: &js_ast.EIdentifier{Ref: p.requireRef}},
		js_parser.go#L11160: 								Target:  js_ast.Expr{Loc: arg.Loc, Data: &js_ast.EIdentifier{Ref: p.makePromiseRef()}},
		js_parser.go#L11221: 				if id, ok := dot.Target.Data.(*js_ast.EIdentifier); ok && id.Ref == p.requireRef {
		js_parser.go#L11243: 								Target:  js_ast.Expr{Loc: dot.Target.Loc, Data: &js_ast.EIdentifier{Ref: id.Ref}},
		js_parser.go#L11264: 				if symbol := p.symbols[id.Ref.InnerIndex]; symbol.OriginalName == "eval" {
		js_parser.go#L11332: 			if id, ok := e.Target.Data.(*js_ast.EIdentifier); ok && id.Ref == p.requireRef {
		js_parser.go#L11368: 								Target: js_ast.Expr{Loc: e.Target.Loc, Data: &js_ast.EIdentifier{Ref: id.Ref}},
		js_parser.go#L11486: 		if id, ok := target.Data.(*js_ast.EIdentifier); ok && p.importItemsForNamespace[id.Ref] != nil {
		js_parser.go#L11493: 			name := p.symbols[id.Ref.InnerIndex].OriginalName
		js_parser.go#L11494: 			if member, ok := p.moduleScope.Members[name]; ok && member.Ref == id.Ref {
		js_parser.go#L11514: 				p.symbols[id.Ref.InnerIndex].OriginalName,
		js_parser.go#L11546: 	ref := e.Ref
		js_parser.go#L11553: 			return js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: p.captureArguments()}}
		js_parser.go#L11593: 				Target:  js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: nsRef}},
		js_parser.go#L12027: 						p.ignoreUsage(id.Ref)
		js_parser.go#L12298: 		if e.CanBeRemovedIfUnused || p.symbols[e.Ref.InnerIndex].Kind != js_ast.SymbolUnbound {
		js_parser.go#L12406: 		if e.CanBeRemovedIfUnused || p.symbols[e.Ref.InnerIndex].Kind != js_ast.SymbolUnbound {
		js_parser_lower.go#L269: 				init := js_ast.Expr{Loc: arg.Binding.Loc, Data: &js_ast.EIdentifier{Ref: ref}}
		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#L435: 									Index:  js_ast.Expr{Loc: bodyLoc, Data: &js_ast.EIdentifier{Ref: argRef}},
		js_parser_lower.go#L778: 			js_ast.Expr{Loc: value.Loc, Data: &js_ast.EIdentifier{Ref: left.Ref}},
		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#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#L1287: 			return id.Ref
		js_parser_lower.go#L1294: 		assign(js_ast.Expr{Loc: expr.Loc, Data: &js_ast.EIdentifier{Ref: ref}}, expr)
		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#L1345: 		binding.Data = &js_ast.EIdentifier{Ref: splitRef}
		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#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#L1404: 		visit(deferredBinding, js_ast.Expr{Loc: binding.Loc, Data: &js_ast.EIdentifier{Ref: splitRef}}, nil)
		js_parser_lower.go#L1507: 			p.recordUsage(k.Ref)
		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#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#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#L1757: 					descriptorKey = js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: k.Ref}}
		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#L1840: 							Target:  js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: ref}},
		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#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#L1978: 										js_ast.Expr{Loc: arg.Binding.Loc, Data: &js_ast.EIdentifier{Ref: id.Ref}},
		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#L2116: 		nameRef := name.Data.(*js_ast.EIdentifier).Ref
		js_parser_lower.go#L2166: 			init = &js_ast.Expr{Loc: classLoc, Data: &js_ast.EIdentifier{Ref: captureRef}}
		js_parser_lower.go#L2230: 			js_ast.Expr{Loc: nameForClassDecorators.Loc, Data: &js_ast.EIdentifier{Ref: nameForClassDecorators.Ref}},
		js_parser_lower.go#L2233: 				{Loc: nameForClassDecorators.Loc, Data: &js_ast.EIdentifier{Ref: nameForClassDecorators.Ref}},
		js_parser_lower.go#L2282: 		Target: js_ast.Expr{Loc: loc, Data: &js_ast.EIdentifier{Ref: *p.fnOrArrowDataVisit.superIndexRef}},
		ts_parser.go#L838: 	value := js_ast.Expr{Loc: p.lexer.Loc(), Data: &js_ast.EIdentifier{Ref: p.storeNameInRef(name)}}
		ts_parser.go#L1010: 			js_ast.Expr{Loc: nameLoc, Data: &js_ast.EIdentifier{Ref: nameRef}},
		ts_parser.go#L1014: 					Target:  js_ast.Expr{Loc: nameLoc, Data: &js_ast.EIdentifier{Ref: *p.enclosingNamespaceArgRef}},
		ts_parser.go#L1020: 						Target:  js_ast.Expr{Loc: nameLoc, Data: &js_ast.EIdentifier{Ref: *p.enclosingNamespaceArgRef}},
		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}},

	github.com/evanw/esbuild/internal/js_printer
		js_printer.go#L1160: 					if js_lexer.UTF16EqualsString(key.Value, p.renamer.NameForSymbol(e.Ref)) {
		js_printer.go#L1918: 		name := p.renamer.NameForSymbol(e.Ref)
		js_printer.go#L2122: 		symbol := p.symbols.Get(js_ast.FollowSymbols(p.symbols, id.Ref))

	github.com/evanw/esbuild/pkg/api
		api_impl.go#L402: 						return &js_ast.EIdentifier{Ref: args.FindSymbol(args.Loc, name)}
		api_impl.go#L453: 			return &js_ast.EIdentifier{Ref: args.SymbolForDefine(index)}