org.jetbrains.jet.codegen.binding
Class CodegenBinding

java.lang.Object
  extended by org.jetbrains.jet.codegen.binding.CodegenBinding

public class CodegenBinding
extends java.lang.Object


Field Summary
static WritableSlice<ClassDescriptor,org.jetbrains.org.objectweb.asm.Type> ASM_TYPE
           
static WritableSlice<FunctionDescriptor,ClassDescriptor> CLASS_FOR_FUNCTION
           
static WritableSlice<ScriptDescriptor,ClassDescriptor> CLASS_FOR_SCRIPT
           
static WritableSlice<ClassDescriptor,MutableClosure> CLOSURE
           
static WritableSlice<ClassDescriptor,java.lang.Boolean> ENUM_ENTRY_CLASS_NEED_SUBCLASS
           
static WritableSlice<ClassDescriptor,java.util.Collection<ClassDescriptor>> INNER_CLASSES
           
static WritableSlice<JetExpression,SamType> SAM_VALUE
           
 
Method Summary
static ClassDescriptor anonymousClassForFunction(BindingContext bindingContext, FunctionDescriptor descriptor)
           
static org.jetbrains.org.objectweb.asm.Type asmTypeForAnonymousClass(BindingContext bindingContext, FunctionDescriptor descriptor)
           
static org.jetbrains.org.objectweb.asm.Type asmTypeForAnonymousClass(BindingContext bindingContext, JetElement expression)
           
static org.jetbrains.org.objectweb.asm.Type asmTypeForScriptDescriptor(BindingContext bindingContext, ScriptDescriptor scriptDescriptor)
           
static org.jetbrains.org.objectweb.asm.Type asmTypeForScriptPsi(BindingContext bindingContext, JetScript script)
           
static boolean canHaveOuter(BindingContext bindingContext, ClassDescriptor classDescriptor)
           
static ClassDescriptor enclosingClassDescriptor(BindingContext bindingContext, ClassDescriptor descriptor)
           
static boolean enumEntryNeedSubclass(BindingContext bindingContext, ClassDescriptor classDescriptor)
           
static boolean enumEntryNeedSubclass(BindingContext bindingContext, JetEnumEntry enumEntry)
           
static java.util.Collection<ClassDescriptor> getAllInnerClasses(BindingContext bindingContext, ClassDescriptor outermostClass)
           
static org.jetbrains.org.objectweb.asm.Type getAsmType(BindingContext bindingContext, ClassDescriptor klass)
           
static java.lang.String getJvmInternalName(BindingContext bindingContext, ClassDescriptor classDescriptor)
           
static boolean hasThis0(BindingContext bindingContext, ClassDescriptor classDescriptor)
           
static void initTrace(GenerationState state)
           
static boolean isLocalFunOrLambda(DeclarationDescriptor fd)
           
static boolean isLocalNamedFun(DeclarationDescriptor fd)
           
static void registerClassNameForScript(BindingTrace bindingTrace, JetScript jetScript, org.jetbrains.org.objectweb.asm.Type asmType)
           
static void registerClassNameForScript(BindingTrace bindingTrace, ScriptDescriptor scriptDescriptor, org.jetbrains.org.objectweb.asm.Type asmType)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLOSURE

public static final WritableSlice<ClassDescriptor,MutableClosure> CLOSURE

CLASS_FOR_FUNCTION

public static final WritableSlice<FunctionDescriptor,ClassDescriptor> CLASS_FOR_FUNCTION

CLASS_FOR_SCRIPT

public static final WritableSlice<ScriptDescriptor,ClassDescriptor> CLASS_FOR_SCRIPT

ASM_TYPE

public static final WritableSlice<ClassDescriptor,org.jetbrains.org.objectweb.asm.Type> ASM_TYPE

ENUM_ENTRY_CLASS_NEED_SUBCLASS

public static final WritableSlice<ClassDescriptor,java.lang.Boolean> ENUM_ENTRY_CLASS_NEED_SUBCLASS

INNER_CLASSES

public static final WritableSlice<ClassDescriptor,java.util.Collection<ClassDescriptor>> INNER_CLASSES

SAM_VALUE

public static final WritableSlice<JetExpression,SamType> SAM_VALUE
Method Detail

initTrace

public static void initTrace(@NotNull
                             GenerationState state)

enumEntryNeedSubclass

public static boolean enumEntryNeedSubclass(BindingContext bindingContext,
                                            JetEnumEntry enumEntry)

enumEntryNeedSubclass

public static boolean enumEntryNeedSubclass(BindingContext bindingContext,
                                            ClassDescriptor classDescriptor)

asmTypeForScriptDescriptor

@NotNull
public static org.jetbrains.org.objectweb.asm.Type asmTypeForScriptDescriptor(BindingContext bindingContext,
                                                                                      @NotNull
                                                                                      ScriptDescriptor scriptDescriptor)

asmTypeForScriptPsi

@NotNull
public static org.jetbrains.org.objectweb.asm.Type asmTypeForScriptPsi(BindingContext bindingContext,
                                                                               @NotNull
                                                                               JetScript script)

enclosingClassDescriptor

public static ClassDescriptor enclosingClassDescriptor(BindingContext bindingContext,
                                                       ClassDescriptor descriptor)

anonymousClassForFunction

@NotNull
public static ClassDescriptor anonymousClassForFunction(@NotNull
                                                                BindingContext bindingContext,
                                                                @NotNull
                                                                FunctionDescriptor descriptor)

asmTypeForAnonymousClass

@NotNull
public static org.jetbrains.org.objectweb.asm.Type asmTypeForAnonymousClass(@NotNull
                                                                                    BindingContext bindingContext,
                                                                                    @NotNull
                                                                                    JetElement expression)

asmTypeForAnonymousClass

@NotNull
public static org.jetbrains.org.objectweb.asm.Type asmTypeForAnonymousClass(@NotNull
                                                                                    BindingContext bindingContext,
                                                                                    @NotNull
                                                                                    FunctionDescriptor descriptor)

registerClassNameForScript

public static void registerClassNameForScript(BindingTrace bindingTrace,
                                              @NotNull
                                              ScriptDescriptor scriptDescriptor,
                                              @NotNull
                                              org.jetbrains.org.objectweb.asm.Type asmType)

canHaveOuter

public static boolean canHaveOuter(@NotNull
                                   BindingContext bindingContext,
                                   @NotNull
                                   ClassDescriptor classDescriptor)

registerClassNameForScript

public static void registerClassNameForScript(BindingTrace bindingTrace,
                                              @NotNull
                                              JetScript jetScript,
                                              @NotNull
                                              org.jetbrains.org.objectweb.asm.Type asmType)

isLocalNamedFun

public static boolean isLocalNamedFun(@Nullable
                                      DeclarationDescriptor fd)

isLocalFunOrLambda

public static boolean isLocalFunOrLambda(@Nullable
                                         DeclarationDescriptor fd)

getAsmType

@NotNull
public static org.jetbrains.org.objectweb.asm.Type getAsmType(@NotNull
                                                                      BindingContext bindingContext,
                                                                      @NotNull
                                                                      ClassDescriptor klass)

hasThis0

public static boolean hasThis0(BindingContext bindingContext,
                               ClassDescriptor classDescriptor)

getAllInnerClasses

@NotNull
public static java.util.Collection<ClassDescriptor> getAllInnerClasses(@NotNull
                                                                               BindingContext bindingContext,
                                                                               @NotNull
                                                                               ClassDescriptor outermostClass)

getJvmInternalName

@NotNull
public static java.lang.String getJvmInternalName(@NotNull
                                                          BindingContext bindingContext,
                                                          @NotNull
                                                          ClassDescriptor classDescriptor)