Top Description Inners Fields Constructors Methods
org.glassfish.pfl.dynamic.codegen.impl

public final Class ExpressionFactory

extends Object
Class Inheritance
Imports
java.util.ArrayList, .Arrays, .HashSet, .IdentityHashMap, .List, .Set, org.glassfish.pfl.dynamic.codegen.spi.ClassInfo, .Expression, .FieldInfo, .Signature, .Type, .Variable, org.glassfish.pfl.dynamic.copyobject.spi.Copy, .CopyType

Used to create all expressions. BlockStatement is used as the factory for creating instances of ExpressionFactory. All statements created by an ExpressionFactory have the BlockStatement that created this ExpressionFactory as their parent. An ExpressionFactory should be used only to create Expression instances in statements inside the creating BlockStatement. Each subtype of Expression is defined as a static inner class in ExpressionFactory.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
public static class
public static enum
ExpressionFactory.BinaryOperator

Representation of binary operators.

public static class
public static enum
public abstract static class
ExpressionFactory.CallExpression<T>

Representation of any sort of method call other than a constructor invocation.

public static class
public static class
ExpressionFactory.ConstantExpression

Class that represents a constant value of any primitive type, a String, or a Class.

public abstract static class
public abstract static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
ExpressionFactory.ThisExpression

Class used to represent the current object ("this" in java).

public static class
public static enum
ExpressionFactory.UnaryOperator

Operators that apply to a single expression.

public static class
ExpressionFactory.UnaryOperatorExpression

Representation of the application of a UnaryOperator to an Expression.

public static class
public static class
ExpressionFactory.VoidExpression

Class that represents a void expression.

Field Summary

Modifier and TypeField and Description
private final Node
private final IdentityHashMap<Expression, Boolean>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public ExpressionInternal
_const(boolean c)

public ExpressionInternal
_const(char c)

public ExpressionInternal
_const(byte c)

public ExpressionInternal
_const(short c)

public ExpressionInternal
_const(int c)

public ExpressionInternal
_const(long c)

public ExpressionInternal
_const(float c)

public ExpressionInternal
_const(double c)

public ExpressionInternal
public ExpressionInternal
public ExpressionInternal
public ExpressionInternal
public ExpressionInternal
public Expression
public Expression
public Expression
public Expression
call(Expression target, String ident, Signature signature, List<Expression> exprs)

Construct a representation of a non-static method invocation.

public Expression
call(Expression target, String ident, List<Expression> exprs)

Shorthand form to construct invocation that looks up Signature based on the types of the expressions in exprs.

public Expression
cast(Type type, Expression expr)

pack-priv static List<Expression>
public final Node
public Expression
fieldAccess(Expression target, String fieldName)

public Expression
fieldAccess(Type target, String fieldName)

public Expression
ifExpression(Expression condition, Expression truePart, Expression falsePart)

public Expression
instof(Expression expr, Type type)

public Expression
newArr(Type type, Expression size)

public Expression
public Expression
newObj(Type type, Signature signature, List<Expression> args)

public Expression
newObj(Type type, List<Expression> exprs)

public Expression
staticCall(Type target, String ident, Signature signature, List<Expression> exprs)

Construct a representation of a static method invocation.

public Expression
staticCall(Type target, String ident, List<Expression> exprs)

Shorthand form to construct invocation that looks up Signature based on the types of the expressions in exprs.

public Expression
superCall(String ident, Signature signature, List<Expression> exprs)

public Expression
public Expression
superObj(Signature signature, List<Expression> exprs)

Call to superclass constructor.

public Expression
superObj(List<Expression> exprs)

Call to superclass constructor.

public Expression
thisObj(Signature signature, List<Expression> exprs)

Call to another constructor.

public Expression
thisObj(List<Expression> exprs)

Call to another constructor.

public Expression
public final IdentityHashMap<Expression, Boolean>
public Variable
variable(Type type, String ident)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait