Rename transformation methods to folding

This commit is contained in:
Mikhael Bogdanov
2014-03-19 11:12:55 +04:00
parent 001945cd12
commit e4cdde4ebf
4 changed files with 10 additions and 10 deletions
@@ -41,12 +41,12 @@ public class FieldRemapper {
params = methodParams; params = methodParams;
} }
public boolean canProcess(@NotNull String fieldOwner, boolean forTransformation) { public boolean canProcess(@NotNull String fieldOwner, boolean isFolding) {
return fieldOwner.equals(getLambdaInternalName()); return fieldOwner.equals(getLambdaInternalName());
} }
@Nullable @Nullable
public AbstractInsnNode transformIfNeeded( public AbstractInsnNode foldFieldAccessChainIfNeeded(
@NotNull List<AbstractInsnNode> capturedFieldAccess, @NotNull List<AbstractInsnNode> capturedFieldAccess,
@NotNull MethodNode node @NotNull MethodNode node
) { ) {
@@ -55,11 +55,11 @@ public class FieldRemapper {
return null; return null;
} }
return transformIfNeeded(capturedFieldAccess, 1, node); return foldFieldAccessChainIfNeeded(capturedFieldAccess, 1, node);
} }
@Nullable @Nullable
private AbstractInsnNode transformIfNeeded( private AbstractInsnNode foldFieldAccessChainIfNeeded(
@NotNull List<AbstractInsnNode> capturedFieldAccess, @NotNull List<AbstractInsnNode> capturedFieldAccess,
int currentInstruction, int currentInstruction,
@NotNull MethodNode node @NotNull MethodNode node
@@ -67,7 +67,7 @@ public class FieldRemapper {
AbstractInsnNode transformed = null; AbstractInsnNode transformed = null;
boolean checkParent = !isRoot() && currentInstruction < capturedFieldAccess.size() - 1; boolean checkParent = !isRoot() && currentInstruction < capturedFieldAccess.size() - 1;
if (checkParent) { if (checkParent) {
transformed = parent.transformIfNeeded(capturedFieldAccess, currentInstruction + 1, node); transformed = parent.foldFieldAccessChainIfNeeded(capturedFieldAccess, currentInstruction + 1, node);
} }
if (transformed == null) { if (transformed == null) {
@@ -34,8 +34,8 @@ public class InlinedLambdaRemapper extends FieldRemapper {
@Override @Override
public boolean canProcess(@NotNull String fieldOwner, boolean forTransformation) { public boolean canProcess(@NotNull String fieldOwner, boolean isFolding) {
return forTransformation ? super.canProcess(fieldOwner, forTransformation) : false; return isFolding ? super.canProcess(fieldOwner, isFolding) : false;
} }
@Override @Override
@@ -410,7 +410,7 @@ public class MethodInliner {
if (cur instanceof VarInsnNode && cur.getOpcode() == Opcodes.ALOAD) { if (cur instanceof VarInsnNode && cur.getOpcode() == Opcodes.ALOAD) {
if (((VarInsnNode) cur).var == 0) { if (((VarInsnNode) cur).var == 0) {
List<AbstractInsnNode> accessChain = getCapturedFieldAccessChain((VarInsnNode) cur); List<AbstractInsnNode> accessChain = getCapturedFieldAccessChain((VarInsnNode) cur);
AbstractInsnNode insnNode = nodeRemapper.transformIfNeeded(accessChain, node); AbstractInsnNode insnNode = nodeRemapper.foldFieldAccessChainIfNeeded(accessChain, node);
if (insnNode != null) { if (insnNode != null) {
cur = insnNode; cur = insnNode;
} }
@@ -51,8 +51,8 @@ public class RegeneratedLambdaFieldRemapper extends FieldRemapper {
} }
@Override @Override
public boolean canProcess(@NotNull String fieldOwner, boolean forTransformation) { public boolean canProcess(@NotNull String fieldOwner, boolean isFolding) {
return super.canProcess(fieldOwner, forTransformation) || isRecapturedLambdaType(fieldOwner); return super.canProcess(fieldOwner, isFolding) || isRecapturedLambdaType(fieldOwner);
} }
private boolean isRecapturedLambdaType(String owner) { private boolean isRecapturedLambdaType(String owner) {