org.jetbrains.kotlin.codegen.inline
Class FieldRemapper

java.lang.Object
  extended by org.jetbrains.kotlin.codegen.inline.FieldRemapper
Direct Known Subclasses:
InlinedLambdaRemapper, RegeneratedLambdaFieldRemapper

public class FieldRemapper
extends java.lang.Object


Field Summary
protected  FieldRemapper parent
           
 
Constructor Summary
FieldRemapper(java.lang.String lambdaInternalName, FieldRemapper parent, Parameters methodParams)
           
 
Method Summary
protected  boolean canProcess(java.lang.String fieldOwner, java.lang.String fieldName, boolean isFolding)
           
 CapturedParamInfo findField(org.jetbrains.org.objectweb.asm.tree.FieldInsnNode fieldInsnNode)
           
protected  CapturedParamInfo findField(org.jetbrains.org.objectweb.asm.tree.FieldInsnNode fieldInsnNode, java.util.Collection<CapturedParamInfo> captured)
           
 org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode foldFieldAccessChainIfNeeded(java.util.List<org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode> capturedFieldAccess, org.jetbrains.org.objectweb.asm.tree.MethodNode node)
           
 StackValue getFieldForInline(org.jetbrains.org.objectweb.asm.tree.FieldInsnNode node, StackValue prefix)
           
 java.lang.String getLambdaInternalName()
           
 FieldRemapper getParent()
           
 boolean isInsideInliningLambda()
           
 boolean isRoot()
           
 boolean processNonAload0FieldAccessChains(boolean isInlinedLambda)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

parent

protected FieldRemapper parent
Constructor Detail

FieldRemapper

public FieldRemapper(@Nullable
                     java.lang.String lambdaInternalName,
                     @Nullable
                     FieldRemapper parent,
                     @NotNull
                     Parameters methodParams)
Method Detail

canProcess

protected boolean canProcess(@NotNull
                             java.lang.String fieldOwner,
                             java.lang.String fieldName,
                             boolean isFolding)

foldFieldAccessChainIfNeeded

@Nullable
public org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode foldFieldAccessChainIfNeeded(@NotNull
                                                                                                   java.util.List<org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode> capturedFieldAccess,
                                                                                                   @NotNull
                                                                                                   org.jetbrains.org.objectweb.asm.tree.MethodNode node)

processNonAload0FieldAccessChains

public boolean processNonAload0FieldAccessChains(boolean isInlinedLambda)

findField

public CapturedParamInfo findField(@NotNull
                                   org.jetbrains.org.objectweb.asm.tree.FieldInsnNode fieldInsnNode)

findField

@Nullable
protected CapturedParamInfo findField(@NotNull
                                               org.jetbrains.org.objectweb.asm.tree.FieldInsnNode fieldInsnNode,
                                               @NotNull
                                               java.util.Collection<CapturedParamInfo> captured)

getParent

public FieldRemapper getParent()

getLambdaInternalName

public java.lang.String getLambdaInternalName()

isRoot

public boolean isRoot()

getFieldForInline

@Nullable
public StackValue getFieldForInline(@NotNull
                                             org.jetbrains.org.objectweb.asm.tree.FieldInsnNode node,
                                             @Nullable
                                             StackValue prefix)

isInsideInliningLambda

public boolean isInsideInliningLambda()