org.jetbrains.kotlin.codegen
Class AsmUtil
java.lang.Object
org.jetbrains.kotlin.codegen.AsmUtil
public class AsmUtil
- extends java.lang.Object
Method Summary |
static PrimitiveType |
asmPrimitiveTypeToLangPrimitiveType(org.jetbrains.org.objectweb.asm.Type type)
|
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 int |
calculateInnerClassAccessFlags(ClassDescriptor innerClass)
|
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 void |
dup(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
org.jetbrains.org.objectweb.asm.Type topOfStack,
org.jetbrains.org.objectweb.asm.Type afterTop)
|
static void |
genAreEqualCall(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
|
static int |
genAssignInstanceFieldFromParam(FieldInfo info,
int index,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter iv)
|
static void |
genClosureFields(CalculatedClosure closure,
ClassBuilder v,
KotlinTypeMapper 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(com.intellij.psi.tree.IElementType opToken,
StackValue left,
StackValue right)
|
static void |
genIncrement(org.jetbrains.org.objectweb.asm.Type expectedType,
int myDelta,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
|
static void |
genIncrement(org.jetbrains.org.objectweb.asm.Type expectedType,
org.jetbrains.org.objectweb.asm.Type baseType,
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 StackValue |
genNotNullAssertions(GenerationState state,
StackValue stackValue,
RuntimeAssertionInfo runtimeAssertionInfo)
|
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.commons.InstructionAdapter v,
java.lang.String exception,
java.lang.String message)
|
static StackValue |
genToString(StackValue receiver,
org.jetbrains.org.objectweb.asm.Type receiverType)
|
static int |
getDefaultVisibilityFlag(Visibility visibility)
|
static int |
getDeprecatedAccessFlag(MemberDescriptor descriptor)
|
static int |
getMethodAsmFlags(FunctionDescriptor functionDescriptor,
OwnerKind kind)
|
static int |
getReceiverIndex(CodegenContext context,
CallableMemberDescriptor descriptor)
|
static java.lang.String |
getSimpleInternalName(java.lang.String internalName)
|
static int |
getVisibilityAccessFlag(MemberDescriptor descriptor)
|
static int |
getVisibilityAccessFlagForClass(ClassDescriptor descriptor)
|
static int |
getVisibilityForBackingField(PropertyDescriptor propertyDescriptor,
boolean isDelegate)
|
static java.lang.String |
internalNameByFqNameWithoutInnerClasses(FqName fqName)
|
static boolean |
isAbstractMethod(FunctionDescriptor functionDescriptor,
OwnerKind kind)
|
static boolean |
isInstancePropertyWithStaticBackingField(PropertyDescriptor propertyDescriptor)
|
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 |
isStaticKind(OwnerKind kind)
|
static boolean |
isStaticMethod(OwnerKind kind,
CallableMemberDescriptor 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 |
numConst(int value,
org.jetbrains.org.objectweb.asm.Type type,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
|
static void |
pop(org.jetbrains.org.objectweb.asm.MethodVisitor 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 org.jetbrains.org.objectweb.asm.Type |
stringValueOfType(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 org.jetbrains.org.objectweb.asm.Type |
unboxPrimitiveTypeOrNull(org.jetbrains.org.objectweb.asm.Type boxedType)
|
static org.jetbrains.org.objectweb.asm.Type |
unboxType(org.jetbrains.org.objectweb.asm.Type boxedType)
|
static void |
wrapJavaClassesIntoKClasses(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
|
static void |
wrapJavaClassIntoKClass(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
|
static void |
writeAnnotationData(org.jetbrains.org.objectweb.asm.AnnotationVisitor av,
DescriptorSerializer serializer,
com.google.protobuf.MessageLite message)
|
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)
unboxPrimitiveTypeOrNull
@Nullable
public static org.jetbrains.org.objectweb.asm.Type unboxPrimitiveTypeOrNull(@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)
asmPrimitiveTypeToLangPrimitiveType
@Nullable
public static PrimitiveType asmPrimitiveTypeToLangPrimitiveType(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,
CallableMemberDescriptor functionDescriptor)
isStaticKind
public static boolean isStaticKind(OwnerKind kind)
getMethodAsmFlags
public static int getMethodAsmFlags(FunctionDescriptor functionDescriptor,
OwnerKind kind)
getVisibilityAccessFlag
public static int getVisibilityAccessFlag(@NotNull
MemberDescriptor descriptor)
getDefaultVisibilityFlag
public static int getDefaultVisibilityFlag(@NotNull
Visibility visibility)
getVisibilityAccessFlagForClass
public static int getVisibilityAccessFlagForClass(@NotNull
ClassDescriptor descriptor)
calculateInnerClassAccessFlags
public static int calculateInnerClassAccessFlags(@NotNull
ClassDescriptor innerClass)
getDeprecatedAccessFlag
public static int getDeprecatedAccessFlag(@NotNull
MemberDescriptor descriptor)
stringValueOfType
public static org.jetbrains.org.objectweb.asm.Type stringValueOfType(org.jetbrains.org.objectweb.asm.Type type)
genThrow
public static void genThrow(@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
@NotNull
java.lang.String exception,
@Nullable
java.lang.String message)
genClosureFields
public static void genClosureFields(CalculatedClosure closure,
ClassBuilder v,
KotlinTypeMapper 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)
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(StackValue receiver,
org.jetbrains.org.objectweb.asm.Type receiverType)
genEqualsForExpressionsOnStack
@NotNull
public static StackValue genEqualsForExpressionsOnStack(@NotNull
com.intellij.psi.tree.IElementType opToken,
@NotNull
StackValue left,
@NotNull
StackValue right)
genAreEqualCall
public static void genAreEqualCall(org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
genIncrement
public static void genIncrement(org.jetbrains.org.objectweb.asm.Type expectedType,
int myDelta,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
numConst
public static void numConst(int value,
org.jetbrains.org.objectweb.asm.Type type,
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
genIncrement
public static void genIncrement(org.jetbrains.org.objectweb.asm.Type expectedType,
org.jetbrains.org.objectweb.asm.Type baseType,
int myDelta,
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)
genNotNullAssertions
@NotNull
public static StackValue genNotNullAssertions(@NotNull
GenerationState state,
@NotNull
StackValue stackValue,
@Nullable
RuntimeAssertionInfo runtimeAssertionInfo)
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)
isInstancePropertyWithStaticBackingField
public static boolean isInstancePropertyWithStaticBackingField(@NotNull
PropertyDescriptor propertyDescriptor)
getVisibilityForBackingField
public static int getVisibilityForBackingField(@NotNull
PropertyDescriptor propertyDescriptor,
boolean isDelegate)
isPropertyWithBackingFieldCopyInOuterClass
public static boolean isPropertyWithBackingFieldCopyInOuterClass(@NotNull
PropertyDescriptor propertyDescriptor)
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.MethodVisitor 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)
dup
public static void dup(@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
@NotNull
org.jetbrains.org.objectweb.asm.Type topOfStack,
@NotNull
org.jetbrains.org.objectweb.asm.Type afterTop)
writeAnnotationData
public static void writeAnnotationData(@NotNull
org.jetbrains.org.objectweb.asm.AnnotationVisitor av,
@NotNull
DescriptorSerializer serializer,
@NotNull
com.google.protobuf.MessageLite message)
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)
getSimpleInternalName
@NotNull
public static java.lang.String getSimpleInternalName(@NotNull
java.lang.String internalName)
putJavaLangClassInstance
public static void putJavaLangClassInstance(@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v,
@NotNull
org.jetbrains.org.objectweb.asm.Type type)
wrapJavaClassIntoKClass
public static void wrapJavaClassIntoKClass(@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
wrapJavaClassesIntoKClasses
public static void wrapJavaClassesIntoKClasses(@NotNull
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter v)
getReceiverIndex
public static int getReceiverIndex(@NotNull
CodegenContext context,
@NotNull
CallableMemberDescriptor descriptor)