org.jetbrains.kotlin.codegen.inline
Class MaxStackFrameSizeAndLocalsCalculator

java.lang.Object
  extended by org.jetbrains.org.objectweb.asm.MethodVisitor
      extended by org.jetbrains.kotlin.codegen.inline.MaxLocalsCalculator
          extended by org.jetbrains.kotlin.codegen.inline.MaxStackFrameSizeAndLocalsCalculator

public class MaxStackFrameSizeAndLocalsCalculator
extends MaxLocalsCalculator

This class is based on `org.objectweb.asm.MethodWriter`

Author:
Eric Bruneton, Eugene Kuleshov, Denis Zharkov

Field Summary
 
Fields inherited from class org.jetbrains.org.objectweb.asm.MethodVisitor
api, mv
 
Constructor Summary
MaxStackFrameSizeAndLocalsCalculator(int api, int access, java.lang.String descriptor, org.jetbrains.org.objectweb.asm.MethodVisitor mv)
           
 
Method Summary
 void visitFieldInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc)
           
 void visitFrame(int type, int nLocal, java.lang.Object[] local, int nStack, java.lang.Object[] stack)
           
 void visitInsn(int opcode)
           
 void visitIntInsn(int opcode, int operand)
           
 void visitInvokeDynamicInsn(java.lang.String name, java.lang.String desc, org.jetbrains.org.objectweb.asm.Handle bsm, java.lang.Object... bsmArgs)
           
 void visitJumpInsn(int opcode, org.jetbrains.org.objectweb.asm.Label label)
           
 void visitLabel(org.jetbrains.org.objectweb.asm.Label label)
           
 void visitLdcInsn(java.lang.Object cst)
           
 void visitLookupSwitchInsn(org.jetbrains.org.objectweb.asm.Label dflt, int[] keys, org.jetbrains.org.objectweb.asm.Label[] labels)
           
 void visitMaxs(int maxStack, int maxLocals)
           
 void visitMethodInsn(int opcode, java.lang.String owner, java.lang.String name, java.lang.String desc, boolean itf)
           
 void visitMultiANewArrayInsn(java.lang.String desc, int dims)
           
 void visitTableSwitchInsn(int min, int max, org.jetbrains.org.objectweb.asm.Label dflt, org.jetbrains.org.objectweb.asm.Label... labels)
           
 void visitTryCatchBlock(org.jetbrains.org.objectweb.asm.Label start, org.jetbrains.org.objectweb.asm.Label end, org.jetbrains.org.objectweb.asm.Label handler, java.lang.String type)
           
 void visitTypeInsn(int opcode, java.lang.String type)
           
 void visitVarInsn(int opcode, int var)
           
 
Methods inherited from class org.jetbrains.kotlin.codegen.inline.MaxLocalsCalculator
getMaxLocals, visitIincInsn, visitLocalVariable
 
Methods inherited from class org.jetbrains.org.objectweb.asm.MethodVisitor
visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitInsnAnnotation, visitLineNumber, visitLocalVariableAnnotation, visitMethodInsn, visitParameter, visitParameterAnnotation, visitTryCatchAnnotation, visitTypeAnnotation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MaxStackFrameSizeAndLocalsCalculator

public MaxStackFrameSizeAndLocalsCalculator(int api,
                                            int access,
                                            java.lang.String descriptor,
                                            org.jetbrains.org.objectweb.asm.MethodVisitor mv)
Method Detail

visitFrame

public void visitFrame(int type,
                       int nLocal,
                       java.lang.Object[] local,
                       int nStack,
                       java.lang.Object[] stack)
Overrides:
visitFrame in class org.jetbrains.org.objectweb.asm.MethodVisitor

visitInsn

public void visitInsn(int opcode)
Overrides:
visitInsn in class org.jetbrains.org.objectweb.asm.MethodVisitor

visitIntInsn

public void visitIntInsn(int opcode,
                         int operand)
Overrides:
visitIntInsn in class org.jetbrains.org.objectweb.asm.MethodVisitor

visitVarInsn

public void visitVarInsn(int opcode,
                         int var)
Overrides:
visitVarInsn in class MaxLocalsCalculator

visitTypeInsn

public void visitTypeInsn(int opcode,
                          @NotNull
                          java.lang.String type)
Overrides:
visitTypeInsn in class org.jetbrains.org.objectweb.asm.MethodVisitor

visitFieldInsn

public void visitFieldInsn(int opcode,
                           @NotNull
                           java.lang.String owner,
                           @NotNull
                           java.lang.String name,
                           @NotNull
                           java.lang.String desc)
Overrides:
visitFieldInsn in class org.jetbrains.org.objectweb.asm.MethodVisitor

visitMethodInsn

public void visitMethodInsn(int opcode,
                            java.lang.String owner,
                            java.lang.String name,
                            java.lang.String desc,
                            boolean itf)
Overrides:
visitMethodInsn in class org.jetbrains.org.objectweb.asm.MethodVisitor

visitInvokeDynamicInsn

public void visitInvokeDynamicInsn(@NotNull
                                   java.lang.String name,
                                   @NotNull
                                   java.lang.String desc,
                                   @NotNull
                                   org.jetbrains.org.objectweb.asm.Handle bsm,
                                   @NotNull
                                   java.lang.Object... bsmArgs)
Overrides:
visitInvokeDynamicInsn in class org.jetbrains.org.objectweb.asm.MethodVisitor

visitJumpInsn

public void visitJumpInsn(int opcode,
                          @NotNull
                          org.jetbrains.org.objectweb.asm.Label label)
Overrides:
visitJumpInsn in class org.jetbrains.org.objectweb.asm.MethodVisitor

visitLabel

public void visitLabel(@NotNull
                       org.jetbrains.org.objectweb.asm.Label label)
Overrides:
visitLabel in class org.jetbrains.org.objectweb.asm.MethodVisitor

visitLdcInsn

public void visitLdcInsn(@NotNull
                         java.lang.Object cst)
Overrides:
visitLdcInsn in class org.jetbrains.org.objectweb.asm.MethodVisitor

visitTableSwitchInsn

public void visitTableSwitchInsn(int min,
                                 int max,
                                 @NotNull
                                 org.jetbrains.org.objectweb.asm.Label dflt,
                                 @NotNull
                                 org.jetbrains.org.objectweb.asm.Label... labels)
Overrides:
visitTableSwitchInsn in class org.jetbrains.org.objectweb.asm.MethodVisitor

visitLookupSwitchInsn

public void visitLookupSwitchInsn(@NotNull
                                  org.jetbrains.org.objectweb.asm.Label dflt,
                                  @NotNull
                                  int[] keys,
                                  @NotNull
                                  org.jetbrains.org.objectweb.asm.Label[] labels)
Overrides:
visitLookupSwitchInsn in class org.jetbrains.org.objectweb.asm.MethodVisitor

visitMultiANewArrayInsn

public void visitMultiANewArrayInsn(@NotNull
                                    java.lang.String desc,
                                    int dims)
Overrides:
visitMultiANewArrayInsn in class org.jetbrains.org.objectweb.asm.MethodVisitor

visitMaxs

public void visitMaxs(int maxStack,
                      int maxLocals)
Overrides:
visitMaxs in class MaxLocalsCalculator

visitTryCatchBlock

public void visitTryCatchBlock(@NotNull
                               org.jetbrains.org.objectweb.asm.Label start,
                               @NotNull
                               org.jetbrains.org.objectweb.asm.Label end,
                               @NotNull
                               org.jetbrains.org.objectweb.asm.Label handler,
                               java.lang.String type)
Overrides:
visitTryCatchBlock in class org.jetbrains.org.objectweb.asm.MethodVisitor