org.jetbrains.kotlin.codegen.inline
Class InliningContext

java.lang.Object
  extended by org.jetbrains.kotlin.codegen.inline.InliningContext
Direct Known Subclasses:
RegeneratedClassContext, RootInliningContext

public class InliningContext
extends java.lang.Object


Field Summary
 boolean classRegeneration
           
 java.util.Map<java.lang.Integer,LambdaInfo> expressionMap
           
 boolean isInliningLambda
           
 NameGenerator nameGenerator
           
 ReifiedTypeInliner reifedTypeInliner
           
 GenerationState state
           
 TypeRemapper typeRemapper
           
 
Constructor Summary
protected InliningContext(InliningContext parent, java.util.Map<java.lang.Integer,LambdaInfo> map, GenerationState state, NameGenerator nameGenerator, TypeRemapper typeRemapper, ReifiedTypeInliner reifedTypeInliner, boolean isInliningLambda, boolean classRegeneration)
           
 
Method Summary
 java.lang.String getClassNameToInline()
           
 InliningContext getParent()
           
 RootInliningContext getRoot()
           
 boolean isInliningLambdaRootContext()
           
 boolean isRoot()
           
 InliningContext subInline(NameGenerator generator)
           
 InliningContext subInline(NameGenerator generator, java.util.Map<java.lang.String,java.lang.String> additionalTypeMappings)
           
 InliningContext subInline(NameGenerator generator, java.util.Map<java.lang.String,java.lang.String> additionalTypeMappings, boolean isInliningLambda)
           
 InliningContext subInlineLambda(LambdaInfo lambdaInfo)
           
 InliningContext subInlineWithClassRegeneration(NameGenerator generator, java.util.Map<java.lang.String,java.lang.String> newTypeMappings, AnonymousObjectGeneration anonymousObjectGeneration)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

expressionMap

public final java.util.Map<java.lang.Integer,LambdaInfo> expressionMap

state

public final GenerationState state

nameGenerator

public final NameGenerator nameGenerator

typeRemapper

public final TypeRemapper typeRemapper

reifedTypeInliner

public final ReifiedTypeInliner reifedTypeInliner

isInliningLambda

public final boolean isInliningLambda

classRegeneration

public final boolean classRegeneration
Constructor Detail

InliningContext

protected InliningContext(@Nullable
                          InliningContext parent,
                          @NotNull
                          java.util.Map<java.lang.Integer,LambdaInfo> map,
                          @NotNull
                          GenerationState state,
                          @NotNull
                          NameGenerator nameGenerator,
                          @NotNull
                          TypeRemapper typeRemapper,
                          @NotNull
                          ReifiedTypeInliner reifedTypeInliner,
                          boolean isInliningLambda,
                          boolean classRegeneration)
Method Detail

subInline

public InliningContext subInline(NameGenerator generator)

subInlineLambda

public InliningContext subInlineLambda(LambdaInfo lambdaInfo)

subInline

public InliningContext subInline(NameGenerator generator,
                                 java.util.Map<java.lang.String,java.lang.String> additionalTypeMappings)

subInlineWithClassRegeneration

public InliningContext subInlineWithClassRegeneration(@NotNull
                                                      NameGenerator generator,
                                                      @NotNull
                                                      java.util.Map<java.lang.String,java.lang.String> newTypeMappings,
                                                      @NotNull
                                                      AnonymousObjectGeneration anonymousObjectGeneration)

subInline

public InliningContext subInline(NameGenerator generator,
                                 java.util.Map<java.lang.String,java.lang.String> additionalTypeMappings,
                                 boolean isInliningLambda)

isRoot

public boolean isRoot()

getRoot

@NotNull
public RootInliningContext getRoot()

getParent

@Nullable
public InliningContext getParent()

isInliningLambdaRootContext

public boolean isInliningLambdaRootContext()

getClassNameToInline

public java.lang.String getClassNameToInline()