Rename transformation methods to folding
This commit is contained in:
@@ -41,12 +41,12 @@ public class FieldRemapper {
|
||||
params = methodParams;
|
||||
}
|
||||
|
||||
public boolean canProcess(@NotNull String fieldOwner, boolean forTransformation) {
|
||||
public boolean canProcess(@NotNull String fieldOwner, boolean isFolding) {
|
||||
return fieldOwner.equals(getLambdaInternalName());
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public AbstractInsnNode transformIfNeeded(
|
||||
public AbstractInsnNode foldFieldAccessChainIfNeeded(
|
||||
@NotNull List<AbstractInsnNode> capturedFieldAccess,
|
||||
@NotNull MethodNode node
|
||||
) {
|
||||
@@ -55,11 +55,11 @@ public class FieldRemapper {
|
||||
return null;
|
||||
}
|
||||
|
||||
return transformIfNeeded(capturedFieldAccess, 1, node);
|
||||
return foldFieldAccessChainIfNeeded(capturedFieldAccess, 1, node);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private AbstractInsnNode transformIfNeeded(
|
||||
private AbstractInsnNode foldFieldAccessChainIfNeeded(
|
||||
@NotNull List<AbstractInsnNode> capturedFieldAccess,
|
||||
int currentInstruction,
|
||||
@NotNull MethodNode node
|
||||
@@ -67,7 +67,7 @@ public class FieldRemapper {
|
||||
AbstractInsnNode transformed = null;
|
||||
boolean checkParent = !isRoot() && currentInstruction < capturedFieldAccess.size() - 1;
|
||||
if (checkParent) {
|
||||
transformed = parent.transformIfNeeded(capturedFieldAccess, currentInstruction + 1, node);
|
||||
transformed = parent.foldFieldAccessChainIfNeeded(capturedFieldAccess, currentInstruction + 1, node);
|
||||
}
|
||||
|
||||
if (transformed == null) {
|
||||
|
||||
@@ -34,8 +34,8 @@ public class InlinedLambdaRemapper extends FieldRemapper {
|
||||
|
||||
|
||||
@Override
|
||||
public boolean canProcess(@NotNull String fieldOwner, boolean forTransformation) {
|
||||
return forTransformation ? super.canProcess(fieldOwner, forTransformation) : false;
|
||||
public boolean canProcess(@NotNull String fieldOwner, boolean isFolding) {
|
||||
return isFolding ? super.canProcess(fieldOwner, isFolding) : false;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -410,7 +410,7 @@ public class MethodInliner {
|
||||
if (cur instanceof VarInsnNode && cur.getOpcode() == Opcodes.ALOAD) {
|
||||
if (((VarInsnNode) cur).var == 0) {
|
||||
List<AbstractInsnNode> accessChain = getCapturedFieldAccessChain((VarInsnNode) cur);
|
||||
AbstractInsnNode insnNode = nodeRemapper.transformIfNeeded(accessChain, node);
|
||||
AbstractInsnNode insnNode = nodeRemapper.foldFieldAccessChainIfNeeded(accessChain, node);
|
||||
if (insnNode != null) {
|
||||
cur = insnNode;
|
||||
}
|
||||
|
||||
+2
-2
@@ -51,8 +51,8 @@ public class RegeneratedLambdaFieldRemapper extends FieldRemapper {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canProcess(@NotNull String fieldOwner, boolean forTransformation) {
|
||||
return super.canProcess(fieldOwner, forTransformation) || isRecapturedLambdaType(fieldOwner);
|
||||
public boolean canProcess(@NotNull String fieldOwner, boolean isFolding) {
|
||||
return super.canProcess(fieldOwner, isFolding) || isRecapturedLambdaType(fieldOwner);
|
||||
}
|
||||
|
||||
private boolean isRecapturedLambdaType(String owner) {
|
||||
|
||||
Reference in New Issue
Block a user