Package clojure.asm.commons

Examples of clojure.asm.commons.GeneratorAdapter.dup()


      clinitgen.push(constantsID);
      clinitgen.invokeVirtual(DYNAMIC_CLASSLOADER_TYPE, getConstantsMethod);

      for(int i = 0; i < constants.count(); i++)
        {
        clinitgen.dup();
        clinitgen.push(i);
        clinitgen.arrayLoad(OBJECT_TYPE);
        clinitgen.checkCast(constantType(i));
        clinitgen.putStatic(fntype, constantName(i), constantType(i));
        }
View Full Code Here


      clinitgen.push(constantsID);
      clinitgen.invokeVirtual(DYNAMIC_CLASSLOADER_TYPE, getConstantsMethod);

      for(int i = 0; i < constants.count(); i++)
        {
        clinitgen.dup();
        clinitgen.push(i);
        clinitgen.arrayLoad(OBJECT_TYPE);
        clinitgen.checkCast(constantType(i));
        clinitgen.putStatic(fntype, constantName(i), constantType(i));
        }
View Full Code Here

                        null,
                        null,
                        cv);
      gen.visitCode();
      gen.newInstance(objtype);
      gen.dup();
      gen.loadArg(0);

      for(ISeq s = RT.keys(closes); s != null; s = s.next(), ++a)
        {
        LocalBinding lb = (LocalBinding) s.first();
View Full Code Here

                        null,
                        null,
                        cv);
      gen.visitCode();
      gen.newInstance(objtype);
      gen.dup();
      gen.loadArg(0);

      for(ISeq s = RT.keys(closes); s != null; s = s.next(), ++a)
        {
        LocalBinding lb = (LocalBinding) s.first();
View Full Code Here

                        null,
                        null,
                        cv);
      gen.visitCode();
      gen.newInstance(objtype);
      gen.dup();
      gen.loadArg(0);

      for(ISeq s = RT.keys(closes); s != null; s = s.next(), ++a)
        {
        LocalBinding lb = (LocalBinding) s.first();
View Full Code Here

                        null,
                        null,
                        cv);
      gen.visitCode();
      gen.newInstance(objtype);
      gen.dup();
      gen.loadArg(0);

      for(ISeq s = RT.keys(closes); s != null; s = s.next(), ++a)
        {
        LocalBinding lb = (LocalBinding) s.first();
View Full Code Here

      Label endLabel = clinitgen.newLabel();
      Var var = (Var) varCallsites.nth(i);
      clinitgen.push(var.ns.name.toString());
      clinitgen.push(var.sym.toString());
      clinitgen.invokeStatic(RT_TYPE, Method.getMethod("clojure.lang.Var var(String,String)"));
      clinitgen.dup();
      clinitgen.invokeVirtual(VAR_TYPE,Method.getMethod("boolean hasRoot()"));
      clinitgen.ifZCmp(GeneratorAdapter.EQ,skipLabel);

      clinitgen.invokeVirtual(VAR_TYPE,Method.getMethod("Object getRoot()"));
            clinitgen.dup();
View Full Code Here

      clinitgen.dup();
      clinitgen.invokeVirtual(VAR_TYPE,Method.getMethod("boolean hasRoot()"));
      clinitgen.ifZCmp(GeneratorAdapter.EQ,skipLabel);

      clinitgen.invokeVirtual(VAR_TYPE,Method.getMethod("Object getRoot()"));
            clinitgen.dup();
            clinitgen.instanceOf(AFUNCTION_TYPE);
            clinitgen.ifZCmp(GeneratorAdapter.EQ,skipLabel);
      clinitgen.checkCast(IFN_TYPE);
      clinitgen.putStatic(objtype, varCallsiteName(i), IFN_TYPE);
      clinitgen.goTo(endLabel);
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.