Package org.apache.derby.iapi.services.compiler

Examples of org.apache.derby.iapi.services.compiler.MethodBuilder.pushThis()


  MethodBuilder startResetMethod() {
    MethodBuilder mb = cb.newMethodBuilder(Modifier.PUBLIC,
      "void", "reset");

    mb.addThrownException(ClassName.StandardException);
    mb.pushThis();
    mb.callMethod(VMOpcode.INVOKESPECIAL, ClassName.BaseActivation, "reset", "void", 0);


    return mb;
  }
View Full Code Here


    // declare field
    LocalField field = acb.newFieldDeclaration(Modifier.PRIVATE, type);

    /* Generate the call to the new method */
    mb.pushThis();
    mb.callMethod(VMOpcode.INVOKEVIRTUAL, (String) null, mbsq.getName(), type, 0);

    // generate: field = value (value is on stack)
    mb.setField(field);

View Full Code Here

  {
    if (targetTableDescriptor != null && targetTableDescriptor.getTableType() == TableDescriptor.GLOBAL_TEMPORARY_TABLE_TYPE &&
      targetTableDescriptor.isOnRollbackDeleteRows() == true)
    {
            MethodBuilder mb = acb.getExecuteMethod();
      mb.pushThis();
      mb.callMethod(VMOpcode.INVOKEINTERFACE, ClassName.Activation,
                  "getLanguageConnectionContext", ClassName.LanguageConnectionContext, 0);
      mb.push(targetTableDescriptor.getName());
      mb.callMethod(VMOpcode.INVOKEINTERFACE, null, "markTempTableAsModifiedInUnitOfWork",
            "void", 1);
View Full Code Here

    // generates:
    //   java.lang.Object userExprFun( ) { }
    MethodBuilder userExprFun = ecb.newUserExprFun();

        /* Push the the current row onto the stack. */
        userExprFun.pushThis();
        userExprFun.push( rsNumber );
        userExprFun.callMethod(VMOpcode.INVOKEVIRTUAL, ClassName.BaseActivation, "getCurrentRow", ClassName.Row, 1);

    // Loop through the result columns, computing generated columns
        // as we go.
View Full Code Here

      **
      ** pvs is a ParameterValueSet that lives in the superclass of
      ** the activation being generated.
      */

      constructor.pushThis(); // for the put field down below

      /* Generate the call to getContext */
      //?X constructor.pushThis();
      //?Xconstructor.callMethod(VMOpcode.INVOKEINTERFACE, ClassName.Activation, "getLanguageConnectionContext",
      //?X          ClassName.LanguageConnectionContext, 0);
View Full Code Here

      ** Add a call to the execute() method to check
      ** for missing parameters
      */
      MethodBuilder  executeMethod = acb.getExecuteMethod();

      executeMethod.pushThis();
      executeMethod.callMethod(VMOpcode.INVOKEVIRTUAL, ClassName.BaseActivation, "throwIfMissingParms", "void", 0);
    }
  }

  /**
 
View Full Code Here

    // add a check at activation reset time to see if the cursor has
    // changed underneath us. Doing it in the constructor allows the
    // compilation to happen
    MethodBuilder rmb = acb.startResetMethod();

    rmb.pushThis();
    rmb.push(cursorName);
    rmb.push(preStmt.getObjectName());
    rmb.callMethod(VMOpcode.INVOKEVIRTUAL, ClassName.BaseActivation, "checkPositionedStatement",
            "void", 2);
View Full Code Here

  MethodBuilder startResetMethod() {
    MethodBuilder mb = cb.newMethodBuilder(Modifier.PUBLIC,
      "void", "reset");

    mb.addThrownException(ClassName.StandardException);
    mb.pushThis();
    mb.callMethod(VMOpcode.INVOKESPECIAL, ClassName.BaseActivation, "reset", "void", 0);


    return mb;
  }
View Full Code Here

    // declare field
    LocalField field = acb.newFieldDeclaration(Modifier.PRIVATE, type);

    /* Generate the call to the new method */
    mb.pushThis();
    mb.callMethod(VMOpcode.INVOKEVIRTUAL, (String) null, mbsq.getName(), type, 0);

    // generate: field = value (value is on stack)
    mb.setField(field);

View Full Code Here

     * generates:
     *    return TypeFactory.getSQLRef(this.ROWLOCATIONSCANRESULTSET.getRowLocation());
     * and adds it to exprFun
     */

    mb.pushThis();
    mb.getField((String)null, acb.getRowLocationScanResultSetName(), ClassName.CursorResultSet);
    mb.callMethod(VMOpcode.INVOKEINTERFACE, (String) null, "getRowLocation", ClassName.RowLocation, 0);


    acb.generateDataValue(mb, getTypeCompiler(),
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.