VarRemapper -> LocalVarRemapper
This commit is contained in:
@@ -215,7 +215,7 @@ public class InlineCodegen implements ParentCodegenAware, CallGenerator {
|
||||
|
||||
MethodInliner inliner = new MethodInliner(node, parameters, info, new FieldRemapper(null, null, parameters), isSameModule, "Method inlining " + call.getCallElement().getText()); //with captured
|
||||
|
||||
VarRemapper remapper = new VarRemapper(parameters, initialFrameSize);
|
||||
LocalVarRemapper remapper = new LocalVarRemapper(parameters, initialFrameSize);
|
||||
|
||||
return inliner.doInline(codegen.v, remapper);
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ public class InliningContext {
|
||||
|
||||
public final List<ConstructorInvocation> constructorInvocation;
|
||||
|
||||
public final VarRemapper remapper;
|
||||
public final LocalVarRemapper remapper;
|
||||
|
||||
public final GenerationState state;
|
||||
|
||||
@@ -53,7 +53,7 @@ public class InliningContext {
|
||||
Map<Integer, LambdaInfo> map,
|
||||
List<InvokeCall> accesses,
|
||||
List<ConstructorInvocation> invocation,
|
||||
VarRemapper remapper,
|
||||
LocalVarRemapper remapper,
|
||||
GenerationState state,
|
||||
NameGenerator nameGenerator,
|
||||
CodegenContext startContext,
|
||||
|
||||
@@ -132,7 +132,7 @@ public class LambdaTransformer {
|
||||
|
||||
MethodInliner inliner = new MethodInliner(invoke, parameters, inliningContext.subInline(inliningContext.nameGenerator.subGenerator("lambda")),
|
||||
remapper, isSameModule, "Transformer for " + invocation.getOwnerInternalName());
|
||||
InlineResult result = inliner.doInline(invokeVisitor, new VarRemapper(parameters, 0), false);
|
||||
InlineResult result = inliner.doInline(invokeVisitor, new LocalVarRemapper(parameters, 0), false);
|
||||
invokeVisitor.visitMaxs(-1, -1);
|
||||
|
||||
generateConstructorAndFields(classBuilder, builder, invocation);
|
||||
|
||||
+3
-3
@@ -25,9 +25,9 @@ import org.jetbrains.asm4.commons.InstructionAdapter;
|
||||
import org.jetbrains.jet.codegen.StackValue;
|
||||
import org.jetbrains.jet.lang.resolve.java.AsmTypeConstants;
|
||||
|
||||
import static org.jetbrains.jet.codegen.inline.VarRemapper.RemapStatus.*;
|
||||
import static org.jetbrains.jet.codegen.inline.LocalVarRemapper.RemapStatus.*;
|
||||
|
||||
public class VarRemapper {
|
||||
public class LocalVarRemapper {
|
||||
|
||||
private final int allParamsSize;
|
||||
private final Parameters params;
|
||||
@@ -37,7 +37,7 @@ public class VarRemapper {
|
||||
|
||||
private final int additionalShift;
|
||||
|
||||
public VarRemapper(Parameters params, int additionalShift) {
|
||||
public LocalVarRemapper(Parameters params, int additionalShift) {
|
||||
this.additionalShift = additionalShift;
|
||||
this.allParamsSize = params.totalSize();
|
||||
this.params = params;
|
||||
@@ -72,13 +72,13 @@ public class MethodInliner {
|
||||
}
|
||||
|
||||
|
||||
public InlineResult doInline(MethodVisitor adapter, VarRemapper remapper) {
|
||||
public InlineResult doInline(MethodVisitor adapter, LocalVarRemapper remapper) {
|
||||
return doInline(adapter, remapper, true);
|
||||
}
|
||||
|
||||
public InlineResult doInline(
|
||||
MethodVisitor adapter,
|
||||
VarRemapper remapper,
|
||||
LocalVarRemapper remapper,
|
||||
boolean remapReturn
|
||||
) {
|
||||
//analyze body
|
||||
@@ -170,7 +170,7 @@ public class MethodInliner {
|
||||
newCapturedRemapper, true /*cause all calls in same module as lambda*/,
|
||||
"Lambda inlining " + info.getLambdaClassType().getInternalName());
|
||||
|
||||
VarRemapper remapper = new VarRemapper(lambdaParameters, valueParamShift);
|
||||
LocalVarRemapper remapper = new LocalVarRemapper(lambdaParameters, valueParamShift);
|
||||
InlineResult lambdaResult = inliner.doInline(this.mv, remapper);//TODO add skipped this and receiver
|
||||
result.addAllClassesToRemove(lambdaResult);
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ public class RemapVisitor extends InstructionAdapter {
|
||||
|
||||
private final Label end;
|
||||
|
||||
private final VarRemapper remapper;
|
||||
private final LocalVarRemapper remapper;
|
||||
|
||||
private final boolean remapReturn;
|
||||
|
||||
@@ -39,14 +39,14 @@ public class RemapVisitor extends InstructionAdapter {
|
||||
protected RemapVisitor(
|
||||
MethodVisitor mv,
|
||||
Label end,
|
||||
VarRemapper varRemapper,
|
||||
LocalVarRemapper localVarRemapper,
|
||||
boolean remapReturn,
|
||||
FieldRemapper nodeRemapper
|
||||
) {
|
||||
super(InlineCodegenUtil.API, mv);
|
||||
this.instructionAdapter = new InstructionAdapter(mv);
|
||||
this.end = end;
|
||||
this.remapper = varRemapper;
|
||||
this.remapper = localVarRemapper;
|
||||
this.remapReturn = remapReturn;
|
||||
this.nodeRemapper = nodeRemapper;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user