VarRemapper -> LocalVarRemapper

This commit is contained in:
Mikhael Bogdanov
2014-03-19 19:19:15 +04:00
parent 86a02b54fa
commit fa67ab481b
6 changed files with 13 additions and 13 deletions
@@ -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 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); return inliner.doInline(codegen.v, remapper);
} }
@@ -33,7 +33,7 @@ public class InliningContext {
public final List<ConstructorInvocation> constructorInvocation; public final List<ConstructorInvocation> constructorInvocation;
public final VarRemapper remapper; public final LocalVarRemapper remapper;
public final GenerationState state; public final GenerationState state;
@@ -53,7 +53,7 @@ public class InliningContext {
Map<Integer, LambdaInfo> map, Map<Integer, LambdaInfo> map,
List<InvokeCall> accesses, List<InvokeCall> accesses,
List<ConstructorInvocation> invocation, List<ConstructorInvocation> invocation,
VarRemapper remapper, LocalVarRemapper remapper,
GenerationState state, GenerationState state,
NameGenerator nameGenerator, NameGenerator nameGenerator,
CodegenContext startContext, CodegenContext startContext,
@@ -132,7 +132,7 @@ public class LambdaTransformer {
MethodInliner inliner = new MethodInliner(invoke, parameters, inliningContext.subInline(inliningContext.nameGenerator.subGenerator("lambda")), MethodInliner inliner = new MethodInliner(invoke, parameters, inliningContext.subInline(inliningContext.nameGenerator.subGenerator("lambda")),
remapper, isSameModule, "Transformer for " + invocation.getOwnerInternalName()); 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); invokeVisitor.visitMaxs(-1, -1);
generateConstructorAndFields(classBuilder, builder, invocation); generateConstructorAndFields(classBuilder, builder, invocation);
@@ -25,9 +25,9 @@ import org.jetbrains.asm4.commons.InstructionAdapter;
import org.jetbrains.jet.codegen.StackValue; import org.jetbrains.jet.codegen.StackValue;
import org.jetbrains.jet.lang.resolve.java.AsmTypeConstants; 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 int allParamsSize;
private final Parameters params; private final Parameters params;
@@ -37,7 +37,7 @@ public class VarRemapper {
private final int additionalShift; private final int additionalShift;
public VarRemapper(Parameters params, int additionalShift) { public LocalVarRemapper(Parameters params, int additionalShift) {
this.additionalShift = additionalShift; this.additionalShift = additionalShift;
this.allParamsSize = params.totalSize(); this.allParamsSize = params.totalSize();
this.params = params; 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); return doInline(adapter, remapper, true);
} }
public InlineResult doInline( public InlineResult doInline(
MethodVisitor adapter, MethodVisitor adapter,
VarRemapper remapper, LocalVarRemapper remapper,
boolean remapReturn boolean remapReturn
) { ) {
//analyze body //analyze body
@@ -170,7 +170,7 @@ public class MethodInliner {
newCapturedRemapper, true /*cause all calls in same module as lambda*/, newCapturedRemapper, true /*cause all calls in same module as lambda*/,
"Lambda inlining " + info.getLambdaClassType().getInternalName()); "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 InlineResult lambdaResult = inliner.doInline(this.mv, remapper);//TODO add skipped this and receiver
result.addAllClassesToRemove(lambdaResult); result.addAllClassesToRemove(lambdaResult);
@@ -28,7 +28,7 @@ public class RemapVisitor extends InstructionAdapter {
private final Label end; private final Label end;
private final VarRemapper remapper; private final LocalVarRemapper remapper;
private final boolean remapReturn; private final boolean remapReturn;
@@ -39,14 +39,14 @@ public class RemapVisitor extends InstructionAdapter {
protected RemapVisitor( protected RemapVisitor(
MethodVisitor mv, MethodVisitor mv,
Label end, Label end,
VarRemapper varRemapper, LocalVarRemapper localVarRemapper,
boolean remapReturn, boolean remapReturn,
FieldRemapper nodeRemapper FieldRemapper nodeRemapper
) { ) {
super(InlineCodegenUtil.API, mv); super(InlineCodegenUtil.API, mv);
this.instructionAdapter = new InstructionAdapter(mv); this.instructionAdapter = new InstructionAdapter(mv);
this.end = end; this.end = end;
this.remapper = varRemapper; this.remapper = localVarRemapper;
this.remapReturn = remapReturn; this.remapReturn = remapReturn;
this.nodeRemapper = nodeRemapper; this.nodeRemapper = nodeRemapper;
} }