Class ExpressionFactory.CallExpression<T>
- java.lang.Object
-
- org.glassfish.pfl.dynamic.codegen.impl.AttributedObjectBase
-
- org.glassfish.pfl.dynamic.codegen.impl.NodeBase
-
- org.glassfish.pfl.dynamic.codegen.impl.ExpressionFactory.ExpressionBase
-
- org.glassfish.pfl.dynamic.codegen.impl.ExpressionFactory.CallExpression<T>
-
- All Implemented Interfaces:
AttributedObject
,ExpressionInternal
,Node
,Statement
,Expression
,CopyInterceptor
- Direct Known Subclasses:
ExpressionFactory.NonStaticCallExpression
,ExpressionFactory.StaticCallExpression
- Enclosing class:
- ExpressionFactory
public abstract static class ExpressionFactory.CallExpression<T> extends ExpressionFactory.ExpressionBase
Representation of any sort of method call other than a constructor invocation. There are two main cases here: static calls, represented byCallExpression<Type>
, and non-static calls, represented byCallExpression<ExpressionInternal>
. This abstract base class has two concrete subclasses, one for static, and one for non-static calls.The call type is determined as follows:
- If isStatic is true, the call is static.
- If isStatic is false, and the target's type is an interface, the call is an interface call.
- If isStatic is false, and the target's type is not an interface, the call is virtual.
-
-
Constructor Summary
Constructors Constructor Description CallExpression(ExpressionFactory ef, java.lang.String ident, Signature signature, java.util.List<Expression> args)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.util.List<Expression>
args()
java.lang.String
ident()
abstract boolean
isStatic()
Signature
signature()
T
target()
void
target(T arg)
Type
type()
-
Methods inherited from class org.glassfish.pfl.dynamic.codegen.impl.ExpressionFactory.ExpressionBase
accept, copy, copy, isAssignable
-
Methods inherited from class org.glassfish.pfl.dynamic.codegen.impl.NodeBase
getAncestor, id, parent, parent, postCopy, preCopy, toString
-
Methods inherited from class org.glassfish.pfl.dynamic.codegen.impl.AttributedObjectBase
attributes, get, set
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.glassfish.pfl.dynamic.codegen.impl.AttributedObject
attributes, get, set
-
Methods inherited from interface org.glassfish.pfl.dynamic.codegen.impl.Node
getAncestor, id, parent, parent
-
-
-
-
Field Detail
-
target
private T target
-
ident
private java.lang.String ident
-
signature
private Signature signature
-
args
private java.util.List<Expression> args
-
-
Constructor Detail
-
CallExpression
CallExpression(ExpressionFactory ef, java.lang.String ident, Signature signature, java.util.List<Expression> args)
-
-
Method Detail
-
isStatic
public abstract boolean isStatic()
-
target
public final T target()
-
target
public final void target(T arg)
-
ident
public final java.lang.String ident()
-
signature
public final Signature signature()
-
args
public final java.util.List<Expression> args()
-
type
public final Type type()
-
-