org.jetbrains.jet.codegen
Class AsmUtil
java.lang.Object
org.jetbrains.jet.codegen.AsmUtil
public class AsmUtil
- extends java.lang.Object
Method Summary |
static java.lang.String |
asmDescByFqNameWithoutInnerClasses(FqName fqName)
|
static org.jetbrains.org.objectweb.asm.Type |
asmTypeByFqNameWithoutInnerClasses(FqName fqName)
|
static org.jetbrains.org.objectweb.asm.Type |
boxType(org.jetbrains.org.objectweb.asm.Type type)
|
static org.jetbrains.org.objectweb.asm.Type |
comparisonOperandType(org.jetbrains.org.objectweb.asm.Type left,
org.jetbrains.org.objectweb.asm.Type right)
|
static org.jetbrains.org.objectweb.asm.Type |
correctElementType(org.jetbrains.org.objectweb.asm.Type type)
|
static void |
dup(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
org.jetbrains.org.objectweb.asm.Type type)
|
static int |
genAssignInstanceFieldFromParam(FieldInfo info,
int index,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter iv)
|
static void |
genClosureFields(CalculatedClosure closure,
ClassBuilder v,
JetTypeMapper typeMapper)
|
static void |
genClosureFields(java.util.List<com.intellij.openapi.util.Pair<java.lang.String,org.jetbrains.org.objectweb.asm.Type>> allFields,
ClassBuilder builder)
|
static StackValue |
genEqualsForExpressionsOnStack(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
com.intellij.psi.tree.IElementType opToken,
org.jetbrains.org.objectweb.asm.Type leftType,
org.jetbrains.org.objectweb.asm.Type rightType)
|
static void |
genIncrement(org.jetbrains.org.objectweb.asm.Type expectedType,
int myDelta,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
|
static void |
genInvokeAppendMethod(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
org.jetbrains.org.objectweb.asm.Type type)
|
static org.jetbrains.org.objectweb.asm.Type |
genNegate(org.jetbrains.org.objectweb.asm.Type expectedType,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
|
static void |
genNotNullAssertionForField(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
GenerationState state,
PropertyDescriptor descriptor)
|
static void |
genNotNullAssertionForMethod(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
GenerationState state,
ResolvedCall resolvedCall)
|
static void |
genNotNullAssertionsForParameters(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
GenerationState state,
FunctionDescriptor descriptor,
FrameMap frameMap)
|
static void |
genStringBuilderConstructor(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
|
static void |
genThrow(org.jetbrains.org.objectweb.asm.MethodVisitor mv,
java.lang.String exception,
java.lang.String message)
|
static StackValue |
genToString(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
StackValue receiver,
org.jetbrains.org.objectweb.asm.Type receiverType)
|
static int |
getDeprecatedAccessFlag(MemberDescriptor descriptor)
|
static int |
getMethodAsmFlags(FunctionDescriptor functionDescriptor,
OwnerKind kind)
|
static org.jetbrains.org.objectweb.asm.Type |
getTraitImplThisParameterType(ClassDescriptor traitDescriptor,
JetTypeMapper typeMapper)
|
static int |
getVisibilityAccessFlag(MemberDescriptor descriptor)
|
static int |
getVisibilityAccessFlagForAnonymous(ClassDescriptor descriptor)
|
static int |
getVisibilityAccessFlagForClass(ClassDescriptor descriptor)
|
static int |
getVisibilityForSpecialPropertyBackingField(PropertyDescriptor propertyDescriptor,
boolean isDelegate)
|
static java.lang.String |
internalNameByFqNameWithoutInnerClasses(FqName fqName)
|
static boolean |
isAbstractMethod(FunctionDescriptor functionDescriptor,
OwnerKind kind)
|
static boolean |
isClassObjectWithBackingFieldsInOuter(DeclarationDescriptor classObject)
|
static boolean |
isDeclarationInsideInlineFunction(ClassDescriptor descriptor)
|
static boolean |
isIntPrimitive(org.jetbrains.org.objectweb.asm.Type type)
|
static boolean |
isNumberPrimitive(org.jetbrains.org.objectweb.asm.Type type)
|
static boolean |
isPrimitive(org.jetbrains.org.objectweb.asm.Type type)
|
static boolean |
isPrimitiveNumberClassDescriptor(DeclarationDescriptor descriptor)
|
static boolean |
isPropertyWithBackingFieldCopyInOuterClass(PropertyDescriptor propertyDescriptor)
|
static boolean |
isPropertyWithBackingFieldInOuterClass(PropertyDescriptor propertyDescriptor)
|
static boolean |
isStatic(OwnerKind kind)
|
static boolean |
isStaticMethod(OwnerKind kind,
FunctionDescriptor functionDescriptor)
|
static org.jetbrains.org.objectweb.asm.commons.Method |
method(java.lang.String name,
org.jetbrains.org.objectweb.asm.Type returnType,
org.jetbrains.org.objectweb.asm.Type... parameterTypes)
|
static org.jetbrains.org.objectweb.asm.Type |
numberFunctionOperandType(org.jetbrains.org.objectweb.asm.Type expectedType)
|
static void |
pop(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
org.jetbrains.org.objectweb.asm.Type type)
|
static void |
pushDefaultPrimitiveValueOnStack(org.jetbrains.org.objectweb.asm.Type type,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
|
static void |
pushDefaultValueOnStack(org.jetbrains.org.objectweb.asm.Type type,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
|
static void |
putJavaLangClassInstance(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
org.jetbrains.org.objectweb.asm.Type type)
|
static java.lang.String |
shortNameByAsmType(org.jetbrains.org.objectweb.asm.Type type)
|
static void |
swap(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
org.jetbrains.org.objectweb.asm.Type stackTop,
org.jetbrains.org.objectweb.asm.Type afterTop)
|
static java.util.List<FieldInfo> |
transformCapturedParams(java.util.List<com.intellij.openapi.util.Pair<java.lang.String,org.jetbrains.org.objectweb.asm.Type>> allFields,
org.jetbrains.org.objectweb.asm.Type owner)
|
static org.jetbrains.org.objectweb.asm.Type |
unboxType(org.jetbrains.org.objectweb.asm.Type boxedType)
|
static void |
writeKotlinSyntheticClassAnnotation(ClassBuilder v,
JvmAnnotationNames.KotlinSyntheticClass.Kind kind)
|
static void |
writeOuterClassAndEnclosingMethod(ClassDescriptor descriptor,
DeclarationDescriptor originalDescriptor,
JetTypeMapper typeMapper,
ClassBuilder v)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
NO_FLAG_PACKAGE_PRIVATE
public static final int NO_FLAG_PACKAGE_PRIVATE
- See Also:
- Constant Field Values
CAPTURED_RECEIVER_FIELD
public static final java.lang.String CAPTURED_RECEIVER_FIELD
- See Also:
- Constant Field Values
CAPTURED_THIS_FIELD
public static final java.lang.String CAPTURED_THIS_FIELD
- See Also:
- Constant Field Values
boxType
@NotNull
public static org.jetbrains.org.objectweb.asm.Type boxType(@NotNull
org.jetbrains.org.objectweb.asm.Type type)
unboxType
@NotNull
public static org.jetbrains.org.objectweb.asm.Type unboxType(@NotNull
org.jetbrains.org.objectweb.asm.Type boxedType)
isIntPrimitive
public static boolean isIntPrimitive(org.jetbrains.org.objectweb.asm.Type type)
isNumberPrimitive
public static boolean isNumberPrimitive(org.jetbrains.org.objectweb.asm.Type type)
isPrimitive
public static boolean isPrimitive(org.jetbrains.org.objectweb.asm.Type type)
isPrimitiveNumberClassDescriptor
public static boolean isPrimitiveNumberClassDescriptor(DeclarationDescriptor descriptor)
correctElementType
public static org.jetbrains.org.objectweb.asm.Type correctElementType(org.jetbrains.org.objectweb.asm.Type type)
method
@NotNull
public static org.jetbrains.org.objectweb.asm.commons.Method method(@NotNull
java.lang.String name,
@NotNull
org.jetbrains.org.objectweb.asm.Type returnType,
@NotNull
org.jetbrains.org.objectweb.asm.Type... parameterTypes)
isAbstractMethod
public static boolean isAbstractMethod(FunctionDescriptor functionDescriptor,
OwnerKind kind)
isStaticMethod
public static boolean isStaticMethod(OwnerKind kind,
FunctionDescriptor functionDescriptor)
isStatic
public static boolean isStatic(OwnerKind kind)
getMethodAsmFlags
public static int getMethodAsmFlags(FunctionDescriptor functionDescriptor,
OwnerKind kind)
getVisibilityAccessFlag
public static int getVisibilityAccessFlag(@NotNull
MemberDescriptor descriptor)
getVisibilityAccessFlagForClass
public static int getVisibilityAccessFlagForClass(ClassDescriptor descriptor)
getVisibilityAccessFlagForAnonymous
public static int getVisibilityAccessFlagForAnonymous(@NotNull
ClassDescriptor descriptor)
isDeclarationInsideInlineFunction
public static boolean isDeclarationInsideInlineFunction(@NotNull
ClassDescriptor descriptor)
getDeprecatedAccessFlag
public static int getDeprecatedAccessFlag(@NotNull
MemberDescriptor descriptor)
getTraitImplThisParameterType
@NotNull
public static org.jetbrains.org.objectweb.asm.Type getTraitImplThisParameterType(@NotNull
ClassDescriptor traitDescriptor,
@NotNull
JetTypeMapper typeMapper)
genThrow
public static void genThrow(@NotNull
org.jetbrains.org.objectweb.asm.MethodVisitor mv,
@NotNull
java.lang.String exception,
@NotNull
java.lang.String message)
genClosureFields
public static void genClosureFields(CalculatedClosure closure,
ClassBuilder v,
JetTypeMapper typeMapper)
genClosureFields
public static void genClosureFields(java.util.List<com.intellij.openapi.util.Pair<java.lang.String,org.jetbrains.org.objectweb.asm.Type>> allFields,
ClassBuilder builder)
transformCapturedParams
public static java.util.List<FieldInfo> transformCapturedParams(java.util.List<com.intellij.openapi.util.Pair<java.lang.String,org.jetbrains.org.objectweb.asm.Type>> allFields,
org.jetbrains.org.objectweb.asm.Type owner)
genAssignInstanceFieldFromParam
public static int genAssignInstanceFieldFromParam(FieldInfo info,
int index,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter iv)
genStringBuilderConstructor
public static void genStringBuilderConstructor(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
genInvokeAppendMethod
public static void genInvokeAppendMethod(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
org.jetbrains.org.objectweb.asm.Type type)
genToString
public static StackValue genToString(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
StackValue receiver,
org.jetbrains.org.objectweb.asm.Type receiverType)
genEqualsForExpressionsOnStack
public static StackValue genEqualsForExpressionsOnStack(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
com.intellij.psi.tree.IElementType opToken,
org.jetbrains.org.objectweb.asm.Type leftType,
org.jetbrains.org.objectweb.asm.Type rightType)
genIncrement
public static void genIncrement(org.jetbrains.org.objectweb.asm.Type expectedType,
int myDelta,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
genNegate
public static org.jetbrains.org.objectweb.asm.Type genNegate(org.jetbrains.org.objectweb.asm.Type expectedType,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
swap
public static void swap(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
org.jetbrains.org.objectweb.asm.Type stackTop,
org.jetbrains.org.objectweb.asm.Type afterTop)
genNotNullAssertionsForParameters
public static void genNotNullAssertionsForParameters(@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
@NotNull
GenerationState state,
@NotNull
FunctionDescriptor descriptor,
@NotNull
FrameMap frameMap)
genNotNullAssertionForField
public static void genNotNullAssertionForField(@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
@NotNull
GenerationState state,
@NotNull
PropertyDescriptor descriptor)
genNotNullAssertionForMethod
public static void genNotNullAssertionForMethod(@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
@NotNull
GenerationState state,
@NotNull
ResolvedCall resolvedCall)
pushDefaultValueOnStack
public static void pushDefaultValueOnStack(@NotNull
org.jetbrains.org.objectweb.asm.Type type,
@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
pushDefaultPrimitiveValueOnStack
public static void pushDefaultPrimitiveValueOnStack(@NotNull
org.jetbrains.org.objectweb.asm.Type type,
@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
isPropertyWithBackingFieldInOuterClass
public static boolean isPropertyWithBackingFieldInOuterClass(@NotNull
PropertyDescriptor propertyDescriptor)
getVisibilityForSpecialPropertyBackingField
public static int getVisibilityForSpecialPropertyBackingField(@NotNull
PropertyDescriptor propertyDescriptor,
boolean isDelegate)
isPropertyWithBackingFieldCopyInOuterClass
public static boolean isPropertyWithBackingFieldCopyInOuterClass(@NotNull
PropertyDescriptor propertyDescriptor)
isClassObjectWithBackingFieldsInOuter
public static boolean isClassObjectWithBackingFieldsInOuter(@NotNull
DeclarationDescriptor classObject)
comparisonOperandType
public static org.jetbrains.org.objectweb.asm.Type comparisonOperandType(org.jetbrains.org.objectweb.asm.Type left,
org.jetbrains.org.objectweb.asm.Type right)
numberFunctionOperandType
@NotNull
public static org.jetbrains.org.objectweb.asm.Type numberFunctionOperandType(@NotNull
org.jetbrains.org.objectweb.asm.Type expectedType)
pop
public static void pop(@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
@NotNull
org.jetbrains.org.objectweb.asm.Type type)
dup
public static void dup(@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
@NotNull
org.jetbrains.org.objectweb.asm.Type type)
writeKotlinSyntheticClassAnnotation
public static void writeKotlinSyntheticClassAnnotation(@NotNull
ClassBuilder v,
@NotNull
JvmAnnotationNames.KotlinSyntheticClass.Kind kind)
asmDescByFqNameWithoutInnerClasses
@NotNull
public static java.lang.String asmDescByFqNameWithoutInnerClasses(@NotNull
FqName fqName)
shortNameByAsmType
@NotNull
public static java.lang.String shortNameByAsmType(@NotNull
org.jetbrains.org.objectweb.asm.Type type)
asmTypeByFqNameWithoutInnerClasses
@NotNull
public static org.jetbrains.org.objectweb.asm.Type asmTypeByFqNameWithoutInnerClasses(@NotNull
FqName fqName)
internalNameByFqNameWithoutInnerClasses
@NotNull
public static java.lang.String internalNameByFqNameWithoutInnerClasses(@NotNull
FqName fqName)
writeOuterClassAndEnclosingMethod
public static void writeOuterClassAndEnclosingMethod(@NotNull
ClassDescriptor descriptor,
@NotNull
DeclarationDescriptor originalDescriptor,
@NotNull
JetTypeMapper typeMapper,
@NotNull
ClassBuilder v)
putJavaLangClassInstance
public static void putJavaLangClassInstance(@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
@NotNull
org.jetbrains.org.objectweb.asm.Type type)