< prev index next >

buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/MethodGenerator.java

Print this page




  69 import static jdk.internal.org.objectweb.asm.Opcodes.LCONST_0;
  70 import static jdk.internal.org.objectweb.asm.Opcodes.LRETURN;
  71 import static jdk.internal.org.objectweb.asm.Opcodes.NEW;
  72 import static jdk.internal.org.objectweb.asm.Opcodes.POP;
  73 import static jdk.internal.org.objectweb.asm.Opcodes.PUTFIELD;
  74 import static jdk.internal.org.objectweb.asm.Opcodes.PUTSTATIC;
  75 import static jdk.internal.org.objectweb.asm.Opcodes.RETURN;
  76 import static jdk.internal.org.objectweb.asm.Opcodes.SALOAD;
  77 import static jdk.internal.org.objectweb.asm.Opcodes.SASTORE;
  78 import static jdk.internal.org.objectweb.asm.Opcodes.SIPUSH;
  79 import static jdk.internal.org.objectweb.asm.Opcodes.SWAP;
  80 import static jdk.nashorn.internal.tools.nasgen.StringConstants.INIT;
  81 import static jdk.nashorn.internal.tools.nasgen.StringConstants.SPECIALIZATION_INIT2;
  82 import static jdk.nashorn.internal.tools.nasgen.StringConstants.SPECIALIZATION_INIT3;
  83 import static jdk.nashorn.internal.tools.nasgen.StringConstants.SPECIALIZATION_TYPE;
  84 import static jdk.nashorn.internal.tools.nasgen.StringConstants.TYPE_SPECIALIZATION;
  85 import java.util.List;
  86 import jdk.internal.org.objectweb.asm.Handle;
  87 import jdk.internal.org.objectweb.asm.MethodVisitor;
  88 import jdk.internal.org.objectweb.asm.Type;

  89 
  90 /**
  91  * Base class for all method generating classes.
  92  *
  93  */
  94 public class MethodGenerator extends MethodVisitor {
  95     private final int access;
  96     private final String name;
  97     private final String descriptor;
  98     private final Type returnType;
  99     private final Type[] argumentTypes;
 100 
 101     static final Type EMPTY_LINK_LOGIC_TYPE = Type.getType("Ljdk/nashorn/internal/objects/annotations/SpecializedFunction$LinkLogic$Empty;");
 102 
 103     MethodGenerator(final MethodVisitor mv, final int access, final String name, final String descriptor) {
 104         super(ASM4, mv);
 105         this.access        = access;
 106         this.name          = name;
 107         this.descriptor    = descriptor;
 108         this.returnType    = Type.getReturnType(descriptor);
 109         this.argumentTypes = Type.getArgumentTypes(descriptor);
 110     }
 111 
 112     int getAccess() {
 113         return access;
 114     }
 115 
 116     final String getName() {
 117         return name;
 118     }
 119 
 120     final String getDescriptor() {
 121         return descriptor;




  69 import static jdk.internal.org.objectweb.asm.Opcodes.LCONST_0;
  70 import static jdk.internal.org.objectweb.asm.Opcodes.LRETURN;
  71 import static jdk.internal.org.objectweb.asm.Opcodes.NEW;
  72 import static jdk.internal.org.objectweb.asm.Opcodes.POP;
  73 import static jdk.internal.org.objectweb.asm.Opcodes.PUTFIELD;
  74 import static jdk.internal.org.objectweb.asm.Opcodes.PUTSTATIC;
  75 import static jdk.internal.org.objectweb.asm.Opcodes.RETURN;
  76 import static jdk.internal.org.objectweb.asm.Opcodes.SALOAD;
  77 import static jdk.internal.org.objectweb.asm.Opcodes.SASTORE;
  78 import static jdk.internal.org.objectweb.asm.Opcodes.SIPUSH;
  79 import static jdk.internal.org.objectweb.asm.Opcodes.SWAP;
  80 import static jdk.nashorn.internal.tools.nasgen.StringConstants.INIT;
  81 import static jdk.nashorn.internal.tools.nasgen.StringConstants.SPECIALIZATION_INIT2;
  82 import static jdk.nashorn.internal.tools.nasgen.StringConstants.SPECIALIZATION_INIT3;
  83 import static jdk.nashorn.internal.tools.nasgen.StringConstants.SPECIALIZATION_TYPE;
  84 import static jdk.nashorn.internal.tools.nasgen.StringConstants.TYPE_SPECIALIZATION;
  85 import java.util.List;
  86 import jdk.internal.org.objectweb.asm.Handle;
  87 import jdk.internal.org.objectweb.asm.MethodVisitor;
  88 import jdk.internal.org.objectweb.asm.Type;
  89 import jdk.nashorn.internal.objects.annotations.SpecializedFunction.LinkLogic;
  90 
  91 /**
  92  * Base class for all method generating classes.
  93  *
  94  */
  95 public class MethodGenerator extends MethodVisitor {
  96     private final int access;
  97     private final String name;
  98     private final String descriptor;
  99     private final Type returnType;
 100     private final Type[] argumentTypes;
 101 
 102     static final Type EMPTY_LINK_LOGIC_TYPE = Type.getType(LinkLogic.getEmptyLinkLogicClass());
 103 
 104     MethodGenerator(final MethodVisitor mv, final int access, final String name, final String descriptor) {
 105         super(ASM4, mv);
 106         this.access        = access;
 107         this.name          = name;
 108         this.descriptor    = descriptor;
 109         this.returnType    = Type.getReturnType(descriptor);
 110         this.argumentTypes = Type.getArgumentTypes(descriptor);
 111     }
 112 
 113     int getAccess() {
 114         return access;
 115     }
 116 
 117     final String getName() {
 118         return name;
 119     }
 120 
 121     final String getDescriptor() {
 122         return descriptor;


< prev index next >