@@ -400,7 +400,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
400
400
401
401
private def newSyntheticVar ()(implicit pos : Position ): js.Ident = {
402
402
syntheticVarCounter += 1
403
- fileLevelVarIdent(" $x " + syntheticVarCounter)
403
+ fileLevelVarIdent(VarFld .x, syntheticVarCounter.toString() )
404
404
}
405
405
406
406
@ inline
@@ -482,7 +482,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
482
482
implicit pos : Position ): WithGlobals [js.Function ] = {
483
483
484
484
performOptimisticThenPessimisticRuns {
485
- val thisIdent = fileLevelVarIdent(" thiz" , thisOriginalName)
485
+ val thisIdent = fileLevelVarIdent(VarFld . thiz, thisOriginalName)
486
486
val env = env0.withExplicitThis()
487
487
val js .Function (jsArrow, jsParams, restParam, jsBody) =
488
488
desugarToFunctionInternal(arrow = false , params, None , body, isStat, env)
@@ -667,7 +667,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
667
667
unnest(superClass, qualifier, item, rhs) {
668
668
(newSuperClass, newQualifier, newItem, newRhs, env0) =>
669
669
implicit val env = env0
670
- genCallHelper(" superSet" , transformExprNoChar(newSuperClass),
670
+ genCallHelper(VarFld . superSet, transformExprNoChar(newSuperClass),
671
671
transformExprNoChar(newQualifier), transformExprNoChar(item),
672
672
transformExprNoChar(rhs))
673
673
}
@@ -678,7 +678,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
678
678
if (needToUseGloballyMutableVarSetter(scope)) {
679
679
unnest(rhs) { (rhs, env0) =>
680
680
implicit val env = env0
681
- js.Apply (globalVar(" u " , scope), transformExpr(rhs, lhs.tpe) :: Nil )
681
+ js.Apply (globalVar(VarFld .u , scope), transformExpr(rhs, lhs.tpe) :: Nil )
682
682
}
683
683
} else {
684
684
// Assign normally.
@@ -692,7 +692,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
692
692
case StoreModule (className, value) =>
693
693
unnest(value) { (newValue, env0) =>
694
694
implicit val env = env0
695
- js.Assign (globalVar(" n " , className), transformExprNoChar(newValue))
695
+ js.Assign (globalVar(VarFld .n , className), transformExprNoChar(newValue))
696
696
}
697
697
698
698
case While (cond, body) =>
@@ -773,7 +773,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
773
773
} else {
774
774
val superCtor = {
775
775
if (globalKnowledge.hasStoredSuperClass(enclosingClassName)) {
776
- fileLevelVar(" superClass" )
776
+ fileLevelVar(VarFld . superClass)
777
777
} else {
778
778
val superClass =
779
779
globalKnowledge.getSuperClassOfJSClass(enclosingClassName)
@@ -879,9 +879,9 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
879
879
case (PrimArray (srcPrimRef), PrimArray (destPrimRef)) if srcPrimRef == destPrimRef =>
880
880
genUncheckedArraycopy(jsArgs)
881
881
case (RefArray (), RefArray ()) =>
882
- genCallHelper(" systemArraycopyRefs" , jsArgs : _* )
882
+ genCallHelper(VarFld . systemArraycopyRefs, jsArgs : _* )
883
883
case _ =>
884
- genCallHelper(" systemArraycopyFull" , jsArgs : _* )
884
+ genCallHelper(VarFld . systemArraycopyFull, jsArgs : _* )
885
885
}
886
886
}
887
887
}
@@ -2209,7 +2209,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2209
2209
genSelect(transformExprNoChar(checkNotNull(qualifier)), className, field)
2210
2210
2211
2211
case SelectStatic (className, item) =>
2212
- globalVar(" t " , (className, item.name))
2212
+ globalVar(VarFld .t , (className, item.name))
2213
2213
2214
2214
case SelectJSNativeMember (className, member) =>
2215
2215
val jsNativeLoadSpec =
@@ -2247,10 +2247,10 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2247
2247
js.Apply (newReceiver(false ) DOT transformMethodIdent(method), newArgs)
2248
2248
2249
2249
def genDispatchApply (): js.Tree =
2250
- js.Apply (globalVar(" dp " , methodName), newReceiver(false ) :: newArgs)
2250
+ js.Apply (globalVar(VarFld .dp , methodName), newReceiver(false ) :: newArgs)
2251
2251
2252
2252
def genHijackedMethodApply (className : ClassName ): js.Tree =
2253
- genApplyStaticLike(" f " , className, method, newReceiver(className == BoxedCharacterClass ) :: newArgs)
2253
+ genApplyStaticLike(VarFld .f , className, method, newReceiver(className == BoxedCharacterClass ) :: newArgs)
2254
2254
2255
2255
if (isMaybeHijackedClass(receiver.tpe) &&
2256
2256
! methodName.isReflectiveProxy) {
@@ -2300,20 +2300,20 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2300
2300
val transformedArgs = newReceiver :: newArgs
2301
2301
2302
2302
if (flags.isConstructor) {
2303
- genApplyStaticLike(" ct " , className, method, transformedArgs)
2303
+ genApplyStaticLike(VarFld .ct , className, method, transformedArgs)
2304
2304
} else if (flags.isPrivate) {
2305
- genApplyStaticLike(" p " , className, method, transformedArgs)
2305
+ genApplyStaticLike(VarFld .p , className, method, transformedArgs)
2306
2306
} else if (globalKnowledge.isInterface(className)) {
2307
- genApplyStaticLike(" f " , className, method, transformedArgs)
2307
+ genApplyStaticLike(VarFld .f , className, method, transformedArgs)
2308
2308
} else {
2309
2309
val fun =
2310
- globalVar(" c " , className).prototype DOT transformMethodIdent(method)
2310
+ globalVar(VarFld .c , className).prototype DOT transformMethodIdent(method)
2311
2311
js.Apply (fun DOT " call" , transformedArgs)
2312
2312
}
2313
2313
2314
2314
case ApplyStatic (flags, className, method, args) =>
2315
2315
genApplyStaticLike(
2316
- if (flags.isPrivate) " ps " else " s " ,
2316
+ if (flags.isPrivate) VarFld .ps else VarFld .s ,
2317
2317
className,
2318
2318
method,
2319
2319
transformTypedArgs(method.name, args))
@@ -2354,7 +2354,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2354
2354
else
2355
2355
genLongMethodApply(newLhs, LongImpl .toInt)
2356
2356
case DoubleToInt =>
2357
- genCallHelper(" doubleToInt" , newLhs)
2357
+ genCallHelper(VarFld . doubleToInt, newLhs)
2358
2358
case DoubleToFloat =>
2359
2359
genFround(newLhs)
2360
2360
@@ -2366,14 +2366,14 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2366
2366
genLongMethodApply(newLhs, LongImpl .toDouble)
2367
2367
case DoubleToLong =>
2368
2368
if (useBigIntForLongs)
2369
- genCallHelper(" doubleToLong" , newLhs)
2369
+ genCallHelper(VarFld . doubleToLong, newLhs)
2370
2370
else
2371
2371
genLongModuleApply(LongImpl .fromDouble, newLhs)
2372
2372
2373
2373
// Long -> Float (neither widening nor narrowing)
2374
2374
case LongToFloat =>
2375
2375
if (useBigIntForLongs)
2376
- genCallHelper(" longToFloat" , newLhs)
2376
+ genCallHelper(VarFld . longToFloat, newLhs)
2377
2377
else
2378
2378
genLongMethodApply(newLhs, LongImpl .toFloat)
2379
2379
@@ -2458,14 +2458,14 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2458
2458
case IntLiteral (r) if r != 0 =>
2459
2459
or0(js.BinaryOp (JSBinaryOp ./ , newLhs, newRhs))
2460
2460
case _ =>
2461
- genCallHelper(" intDiv" , newLhs, newRhs)
2461
+ genCallHelper(VarFld . intDiv, newLhs, newRhs)
2462
2462
}
2463
2463
case Int_% =>
2464
2464
rhs match {
2465
2465
case IntLiteral (r) if r != 0 =>
2466
2466
or0(js.BinaryOp (JSBinaryOp .% , newLhs, newRhs))
2467
2467
case _ =>
2468
- genCallHelper(" intMod" , newLhs, newRhs)
2468
+ genCallHelper(VarFld . intMod, newLhs, newRhs)
2469
2469
}
2470
2470
2471
2471
case Int_| => js.BinaryOp (JSBinaryOp .| , newLhs, newRhs)
@@ -2513,7 +2513,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2513
2513
case LongLiteral (r) if r != 0L =>
2514
2514
wrapBigInt64(js.BinaryOp (JSBinaryOp ./ , newLhs, newRhs))
2515
2515
case _ =>
2516
- genCallHelper(" longDiv" , newLhs, newRhs)
2516
+ genCallHelper(VarFld . longDiv, newLhs, newRhs)
2517
2517
}
2518
2518
} else {
2519
2519
genLongMethodApply(newLhs, LongImpl ./ , newRhs)
@@ -2524,7 +2524,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2524
2524
case LongLiteral (r) if r != 0L =>
2525
2525
wrapBigInt64(js.BinaryOp (JSBinaryOp .% , newLhs, newRhs))
2526
2526
case _ =>
2527
- genCallHelper(" longMod" , newLhs, newRhs)
2527
+ genCallHelper(VarFld . longMod, newLhs, newRhs)
2528
2528
}
2529
2529
} else {
2530
2530
genLongMethodApply(newLhs, LongImpl .% , newRhs)
@@ -2631,7 +2631,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2631
2631
case String_charAt =>
2632
2632
semantics.stringIndexOutOfBounds match {
2633
2633
case CheckedBehavior .Compliant | CheckedBehavior .Fatal =>
2634
- genCallHelper(" charAt" , newLhs, newRhs)
2634
+ genCallHelper(VarFld . charAt, newLhs, newRhs)
2635
2635
case CheckedBehavior .Unchecked =>
2636
2636
js.Apply (genIdentBracketSelect(newLhs, " charCodeAt" ), List (newRhs))
2637
2637
}
@@ -2672,7 +2672,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2672
2672
extractWithGlobals(genAsInstanceOf(transformExprNoChar(expr), tpe))
2673
2673
2674
2674
case GetClass (expr) =>
2675
- genCallHelper(" objectGetClass" , transformExprNoChar(expr))
2675
+ genCallHelper(VarFld . objectGetClass, transformExprNoChar(expr))
2676
2676
2677
2677
case Clone (expr) =>
2678
2678
val newExpr = transformExprNoChar(checkNotNull(expr))
@@ -2700,15 +2700,15 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2700
2700
*/
2701
2701
case ClassType (CloneableClass ) | ClassType (SerializableClass ) |
2702
2702
ClassType (ObjectClass ) | AnyType =>
2703
- genCallHelper(" objectOrArrayClone" , newExpr)
2703
+ genCallHelper(VarFld . objectOrArrayClone, newExpr)
2704
2704
2705
2705
// Otherwise, it is known not to be an array.
2706
2706
case _ =>
2707
- genCallHelper(" objectClone" , newExpr)
2707
+ genCallHelper(VarFld . objectClone, newExpr)
2708
2708
}
2709
2709
2710
2710
case IdentityHashCode (expr) =>
2711
- genCallHelper(" systemIdentityHashCode" , transformExprNoChar(expr))
2711
+ genCallHelper(VarFld . systemIdentityHashCode, transformExprNoChar(expr))
2712
2712
2713
2713
case WrapAsThrowable (expr) =>
2714
2714
val newExpr = transformExprNoChar(expr).asInstanceOf [js.VarRef ]
@@ -2727,7 +2727,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2727
2727
// Transients
2728
2728
2729
2729
case Transient (CheckNotNull (obj)) =>
2730
- genCallHelper(" n " , transformExpr(obj, preserveChar = true ))
2730
+ genCallHelper(VarFld .n , transformExpr(obj, preserveChar = true ))
2731
2731
case Transient (AssumeNotNull (obj)) =>
2732
2732
transformExpr(obj, preserveChar = true )
2733
2733
@@ -2753,7 +2753,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2753
2753
}
2754
2754
2755
2755
case Transient (ObjectClassName (obj)) =>
2756
- genCallHelper(" objectClassName" , transformExprNoChar(obj))
2756
+ genCallHelper(VarFld . objectClassName, transformExprNoChar(obj))
2757
2757
2758
2758
case Transient (ArrayToTypedArray (expr, primRef)) =>
2759
2759
val value = transformExprNoChar(checkNotNull(expr))
@@ -2800,7 +2800,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2800
2800
2801
2801
case Transient (JSNewVararg (constr, argsArray)) =>
2802
2802
assert(! es2015, s " generated a JSNewVargs with ES 2015+ at ${tree.pos}" )
2803
- genCallHelper(" newJSObjectWithVarargs" ,
2803
+ genCallHelper(VarFld . newJSObjectWithVarargs,
2804
2804
transformExprNoChar(constr), transformExprNoChar(argsArray))
2805
2805
2806
2806
case JSPrivateSelect (qualifier, className, field) =>
@@ -2840,7 +2840,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2840
2840
transformExprNoChar(method)), args.map(transformJSArg))
2841
2841
2842
2842
case JSSuperSelect (superClass, qualifier, item) =>
2843
- genCallHelper(" superGet" , transformExprNoChar(superClass),
2843
+ genCallHelper(VarFld . superGet, transformExprNoChar(superClass),
2844
2844
transformExprNoChar(qualifier), transformExprNoChar(item))
2845
2845
2846
2846
case JSImportCall (arg) =>
@@ -2902,7 +2902,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2902
2902
js.UnaryOp (JSUnaryOp .typeof, transformExprNoChar(globalRef))
2903
2903
2904
2904
case JSLinkingInfo () =>
2905
- globalVar(" linkingInfo" , CoreVar )
2905
+ globalVar(VarFld . linkingInfo, CoreVar )
2906
2906
2907
2907
// Literals
2908
2908
@@ -2943,18 +2943,18 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2943
2943
js.This ()
2944
2944
2945
2945
case VarKind .ExplicitThisAlias =>
2946
- fileLevelVar(" thiz" )
2946
+ fileLevelVar(VarFld . thiz)
2947
2947
2948
2948
case VarKind .ClassCapture =>
2949
- fileLevelVar(" cc " , genName(name.name))
2949
+ fileLevelVar(VarFld .cc , genName(name.name))
2950
2950
}
2951
2951
2952
2952
case Transient (JSVarRef (name, _)) =>
2953
2953
js.VarRef (name)
2954
2954
2955
2955
case This () =>
2956
2956
if (env.hasExplicitThis)
2957
- fileLevelVar(" thiz" )
2957
+ fileLevelVar(VarFld . thiz)
2958
2958
else
2959
2959
js.This ()
2960
2960
@@ -2971,7 +2971,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2971
2971
for ((value, expectedType) <- captureValues.zip(expectedTypes))
2972
2972
yield transformExpr(value, expectedType)
2973
2973
}
2974
- js.Apply (globalVar(" a " , className), transformedArgs)
2974
+ js.Apply (globalVar(VarFld .a , className), transformedArgs)
2975
2975
2976
2976
// Invalid trees
2977
2977
@@ -2984,7 +2984,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
2984
2984
if (preserveChar || tree.tpe != CharType )
2985
2985
baseResult
2986
2986
else
2987
- genCallHelper(" bC " , baseResult)
2987
+ genCallHelper(VarFld .bC , baseResult)
2988
2988
}
2989
2989
2990
2990
private def transformApplyDynamicImport (tree : ApplyDynamicImport )(
@@ -3012,7 +3012,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
3012
3012
}
3013
3013
3014
3014
val innerCall = extractWithGlobals {
3015
- withDynamicGlobalVar(" s " , (className, method.name)) { v =>
3015
+ withDynamicGlobalVar(VarFld .s , (className, method.name)) { v =>
3016
3016
js.Apply (v, newArgs)
3017
3017
}
3018
3018
}
@@ -3232,7 +3232,7 @@ private[emitter] class FunctionEmitter(sjsGen: SJSGen) {
3232
3232
keepOnlyDangerousVarNames = false )
3233
3233
}
3234
3234
3235
- private def genApplyStaticLike (field : String , className : ClassName ,
3235
+ private def genApplyStaticLike (field : VarFld , className : ClassName ,
3236
3236
method : MethodIdent , args : List [js.Tree ])(
3237
3237
implicit pos : Position ): js.Tree = {
3238
3238
js.Apply (globalVar(field, (className, method.name)), args)
0 commit comments