public class OPcall extends OP
Modifier and Type | Field and Description |
---|---|
protected static int[] |
arrayStoreCodes |
protected static byte[] |
arrayTypeCodes |
java.lang.reflect.Member |
m
Holds method to be executed
|
int |
nplv
local variable number (in case m=null), number of formal
parameters of the method to call otherwise.
|
chi, resID, resType, specialTypes, unwrapType
Constructor and Description |
---|
OPcall(int lvarn,
java.lang.Class<?> type)
Prepares access to the local variable (formal parameter) of method.
|
OPcall(java.lang.reflect.Member m,
int np,
java.util.Stack<OP> paramOPs,
boolean aEval)
Prepares a new method/field call/get operation to be added to the code.
|
Modifier and Type | Method and Description |
---|---|
void |
compile(ClassFile cf)
Called to generate the code implementing this OP.
|
java.lang.Object |
eval()
Attempts to evaluate this function.
|
isWidening, isWidening, narrow, typeID, typeIDObject, widen
public java.lang.reflect.Member m
public int nplv
protected static final byte[] arrayTypeCodes
protected static final int[] arrayStoreCodes
public OPcall(java.lang.reflect.Member m, int np, java.util.Stack<OP> paramOPs, boolean aEval) throws CompilationException
m
- method/field to call/get.np
- number of actual formal parameters (not considering "this")paramOPs
- stack holding the operandsaEval
- indicates if the method call should be attempted
at the compile timeCompilationException
public OPcall(int lvarn, java.lang.Class<?> type)
lvarn
- local variable number.type
- local variable type.Copyright © 1998-2016 Konstantin L. Metlov All Rights Reserved.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the JEL manual.