Package org.jreversepro.ast.intermediate

Examples of org.jreversepro.ast.intermediate.CompleteLine


      // Non-void method.Push the result onto the stack.
      evalMachine.push(mex);
    } else {
      // Void return. Has to indicate End of line.
      // Push -it as a statement.
      statements.append(new CompleteLine(ins, mex));
    }
   
  }
View Full Code Here


      String fieldType = pool.getFieldType(fieldPtr);

      FieldAccessExpression expr = new InstanceFieldAccessExpression(accessTarget,
          fieldName, fieldType);
      Assignment assign = new Assignment(expr, rhs);
      statements.append(new CompleteLine(ins, assign));
      break;
    }
    }

  }
View Full Code Here

      break;
    }
    case OPCODE_ATHROW: {
      Expression thrownClass = evalMachine.pop();
      ThrowExpression expr = new ThrowExpression(thrownClass);
      statements.append(new CompleteLine(ins, expr));
      break;
    }
    case OPCODE_CHECKCAST: {
      int offset = ins.getArgUnsignedShort();
View Full Code Here

   * (net.sf.jrevpro.reflect.instruction.Instruction)
   */
  @Override
  void evaluate(Instruction ins) {
    Expression expr = evalMachine.pop();
    statements.append(new CompleteLine(ins, expr));
  }
View Full Code Here

    case OPCODE_GETSTATIC:
      evalMachine.push(expr);
      break;
    case OPCODE_PUTSTATIC:
      Expression rhs = evalMachine.pop();
      statements.append(new CompleteLine(ins, new Assignment(expr, rhs)));
      break;
    }
  }
View Full Code Here

      int variableIndexToSymbolTable) {
    int indexToSymbolTable = variableIndexToSymbolTable;
    Expression rhs = evalMachine.pop();
    Variable lhs = new Variable(varTable, rhs.getType(), indexToSymbolTable,
        ins.currentPc);
    statements.append(new CompleteLine(ins, new Assignment(lhs, rhs)));

    // Hint to the symbol table about the type.
    varTable.recordLocalDatatypeReference(variableIndexToSymbolTable, rhs
        .getType(), ins.currentPc);
  }
View Full Code Here

    ArrayMemberReferenceExpression arr = new ArrayMemberReferenceExpression(
        arrayObject, subscript, TypeInferrer.getArrayMemberType(arrayObject
            .getType()));

    statements.append(new CompleteLine(ins, new Assignment(arr, value)));
  }
View Full Code Here

   */
  @Override
  void evaluate(Instruction ins) {
    if (ins.opcode == OPCODE_POP) {
      Expression op1 = evalMachine.pop();
      statements.append(new CompleteLine(ins, op1));
    } else if (ins.opcode == OPCODE_POP2) {
      // To Assess its use properly.
      Expression op1 = evalMachine.pop();
      if (op1.isCategory1()) {
        evalMachine.pop();
View Full Code Here

    if (!methodType.equals(String.valueOf(JVM_TYPE_VOID))) {
      // Non-void method - Push the result back onto the stack
      evalMachine.push(mex);
    } else {
      statements.append(new CompleteLine(ins, mex));
    }

  }
View Full Code Here

    int indexToSymbolTable = getIndexToSymbolTable(ins);
    Expression rhs = evalMachine.pop();
    Variable lhs = new Variable(varTable, rhs.getType(), indexToSymbolTable,
        ins.currentPc);

    statements.append(new CompleteLine(ins, new Assignment(lhs, rhs)));

    // Hint to the symbol table about the type.
    varTable.recordLocalDatatypeReference(indexToSymbolTable, rhs.getType(),
        ins.currentPc);
View Full Code Here

TOP

Related Classes of org.jreversepro.ast.intermediate.CompleteLine

Copyright © 2018 www.massapicom. 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.