org.jetbrains.jet.codegen.inline
Class InlineCodegenUtil

java.lang.Object
  extended by org.jetbrains.jet.codegen.inline.InlineCodegenUtil

public class InlineCodegenUtil
extends java.lang.Object


Nested Class Summary
static class InlineCodegenUtil.LabelTextifier
           
 
Field Summary
static int API
           
static java.lang.String CAPTURED_FIELD_PREFIX
           
static java.lang.String INLINE_MARKER_AFTER_METHOD_NAME
           
static java.lang.String INLINE_MARKER_BEFORE_METHOD_NAME
           
static java.lang.String INLINE_MARKER_CLASS_NAME
           
static java.lang.String INVOKE
           
static java.lang.String NON_LOCAL_RETURN
           
static java.lang.String RECEIVER$0
           
static java.lang.String ROOT_LABEL
           
static java.lang.String THIS$0
           
 
Constructor Summary
InlineCodegenUtil()
           
 
Method Summary
static void addInlineMarker(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v, boolean isStartNotEnd)
           
static org.jetbrains.org.objectweb.asm.tree.MethodNode createEmptyMethodNode()
           
static com.intellij.openapi.vfs.VirtualFile findVirtualFile(com.intellij.openapi.project.Project project, java.lang.String internalName)
           
static com.intellij.openapi.vfs.VirtualFile findVirtualFileWithHeader(com.intellij.openapi.project.Project project, FqName containerFqName)
           
static org.jetbrains.org.objectweb.asm.tree.LabelNode firstLabelInChain(org.jetbrains.org.objectweb.asm.tree.LabelNode node)
           
static void generateGlobalReturnFlag(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter iv, java.lang.String labelName)
           
static FqName getContainerFqName(DeclarationDescriptor referencedDescriptor)
           
static com.intellij.psi.PsiFile getContainingFile(CodegenContext codegenContext)
           
static java.lang.String getInlineName(CodegenContext codegenContext, JetTypeMapper typeMapper)
           
static org.jetbrains.org.objectweb.asm.tree.MethodNode getMethodNode(byte[] classData, java.lang.String methodName, java.lang.String methodDescriptor)
           
static java.lang.String getNodeText(org.jetbrains.org.objectweb.asm.tree.MethodNode node)
           
static java.lang.String getNodeText(org.jetbrains.org.objectweb.asm.tree.MethodNode node, org.jetbrains.org.objectweb.asm.util.Textifier textifier)
           
static org.jetbrains.org.objectweb.asm.Type getReturnType(int opcode)
           
static com.intellij.openapi.vfs.VirtualFile getVirtualFileForCallable(DeserializedSimpleFunctionDescriptor deserializedDescriptor, GenerationState state)
           
static void insertNodeBefore(org.jetbrains.org.objectweb.asm.tree.MethodNode from, org.jetbrains.org.objectweb.asm.tree.MethodNode to, org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode beforeNode)
           
static boolean isAnonymousClass(java.lang.String internalName)
           
static boolean isAnonymousConstructorCall(java.lang.String internalName, java.lang.String methodName)
           
static boolean isAnonymousSingletonLoad(java.lang.String internalName, java.lang.String fieldName)
           
static boolean isCapturedFieldName(java.lang.String fieldName)
           
static boolean isInvokeOnLambda(java.lang.String owner, java.lang.String name)
           
static boolean isMarkedReturn(org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode returnIns)
           
static boolean isReturnOpcode(int opcode)
           
static org.jetbrains.org.objectweb.asm.MethodVisitor wrapWithMaxLocalCalc(org.jetbrains.org.objectweb.asm.tree.MethodNode methodNode)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

API

public static final int API
See Also:
Constant Field Values

INVOKE

public static final java.lang.String INVOKE
See Also:
Constant Field Values

CAPTURED_FIELD_PREFIX

public static final java.lang.String CAPTURED_FIELD_PREFIX
See Also:
Constant Field Values

THIS$0

public static final java.lang.String THIS$0
See Also:
Constant Field Values

RECEIVER$0

public static final java.lang.String RECEIVER$0
See Also:
Constant Field Values

NON_LOCAL_RETURN

public static final java.lang.String NON_LOCAL_RETURN
See Also:
Constant Field Values

ROOT_LABEL

public static final java.lang.String ROOT_LABEL
See Also:
Constant Field Values

INLINE_MARKER_CLASS_NAME

public static final java.lang.String INLINE_MARKER_CLASS_NAME
See Also:
Constant Field Values

INLINE_MARKER_BEFORE_METHOD_NAME

public static final java.lang.String INLINE_MARKER_BEFORE_METHOD_NAME
See Also:
Constant Field Values

INLINE_MARKER_AFTER_METHOD_NAME

public static final java.lang.String INLINE_MARKER_AFTER_METHOD_NAME
See Also:
Constant Field Values
Constructor Detail

InlineCodegenUtil

public InlineCodegenUtil()
Method Detail

getMethodNode

@Nullable
public static org.jetbrains.org.objectweb.asm.tree.MethodNode getMethodNode(byte[] classData,
                                                                                     java.lang.String methodName,
                                                                                     java.lang.String methodDescriptor)
                                                                     throws java.lang.ClassNotFoundException,
                                                                            java.io.IOException
Throws:
java.lang.ClassNotFoundException
java.io.IOException

getVirtualFileForCallable

@NotNull
public static com.intellij.openapi.vfs.VirtualFile getVirtualFileForCallable(@NotNull
                                                                                     DeserializedSimpleFunctionDescriptor deserializedDescriptor,
                                                                                     @NotNull
                                                                                     GenerationState state)

findVirtualFileWithHeader

@Nullable
public static com.intellij.openapi.vfs.VirtualFile findVirtualFileWithHeader(@NotNull
                                                                                      com.intellij.openapi.project.Project project,
                                                                                      @NotNull
                                                                                      FqName containerFqName)

findVirtualFile

@Nullable
public static com.intellij.openapi.vfs.VirtualFile findVirtualFile(@NotNull
                                                                            com.intellij.openapi.project.Project project,
                                                                            @NotNull
                                                                            java.lang.String internalName)

getContainerFqName

@Nullable
public static FqName getContainerFqName(@NotNull
                                                 DeclarationDescriptor referencedDescriptor)

getInlineName

public static java.lang.String getInlineName(@NotNull
                                             CodegenContext codegenContext,
                                             @NotNull
                                             JetTypeMapper typeMapper)

isInvokeOnLambda

public static boolean isInvokeOnLambda(java.lang.String owner,
                                       java.lang.String name)

isAnonymousConstructorCall

public static boolean isAnonymousConstructorCall(@NotNull
                                                 java.lang.String internalName,
                                                 @NotNull
                                                 java.lang.String methodName)

isAnonymousSingletonLoad

public static boolean isAnonymousSingletonLoad(@NotNull
                                               java.lang.String internalName,
                                               @NotNull
                                               java.lang.String fieldName)

isAnonymousClass

public static boolean isAnonymousClass(java.lang.String internalName)

getContainingFile

@Nullable
public static com.intellij.psi.PsiFile getContainingFile(CodegenContext codegenContext)

wrapWithMaxLocalCalc

@NotNull
public static org.jetbrains.org.objectweb.asm.MethodVisitor wrapWithMaxLocalCalc(@NotNull
                                                                                         org.jetbrains.org.objectweb.asm.tree.MethodNode methodNode)

isCapturedFieldName

public static boolean isCapturedFieldName(@NotNull
                                          java.lang.String fieldName)

isReturnOpcode

public static boolean isReturnOpcode(int opcode)

isMarkedReturn

public static boolean isMarkedReturn(@NotNull
                                     org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode returnIns)

generateGlobalReturnFlag

public static void generateGlobalReturnFlag(@NotNull
                                            org.jetbrains.org.objectweb.asm.commons.InstructionAdapter iv,
                                            @NotNull
                                            java.lang.String labelName)

getReturnType

public static org.jetbrains.org.objectweb.asm.Type getReturnType(int opcode)

insertNodeBefore

public static void insertNodeBefore(@NotNull
                                    org.jetbrains.org.objectweb.asm.tree.MethodNode from,
                                    @NotNull
                                    org.jetbrains.org.objectweb.asm.tree.MethodNode to,
                                    @NotNull
                                    org.jetbrains.org.objectweb.asm.tree.AbstractInsnNode beforeNode)

createEmptyMethodNode

public static org.jetbrains.org.objectweb.asm.tree.MethodNode createEmptyMethodNode()

firstLabelInChain

@NotNull
public static org.jetbrains.org.objectweb.asm.tree.LabelNode firstLabelInChain(@NotNull
                                                                                       org.jetbrains.org.objectweb.asm.tree.LabelNode node)

getNodeText

@NotNull
public static java.lang.String getNodeText(@Nullable
                                                   org.jetbrains.org.objectweb.asm.tree.MethodNode node)

getNodeText

@NotNull
public static java.lang.String getNodeText(@Nullable
                                                   org.jetbrains.org.objectweb.asm.tree.MethodNode node,
                                                   @NotNull
                                                   org.jetbrains.org.objectweb.asm.util.Textifier textifier)

addInlineMarker

public static void addInlineMarker(@NotNull
                                   org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
                                   boolean isStartNotEnd)