Package | Description |
---|---|
org.jboss.byteman.rule | |
org.jboss.byteman.rule.binding | |
org.jboss.byteman.rule.compiler | |
org.jboss.byteman.rule.expression | |
org.jboss.byteman.rule.type |
Modifier and Type | Method | Description |
---|---|---|
Type |
Rule.getReturnType() |
|
Type |
Action.typeCheck(Type expected) |
|
Type |
Condition.typeCheck(Type expected) |
|
Type |
Event.typeCheck(Type expected) |
|
abstract Type |
RuleElement.typeCheck(Type expected) |
Modifier and Type | Method | Description |
---|---|---|
protected Object |
RuleElement.rebox(Type fromType,
Type toType,
Object value) |
|
boolean |
Rule.requiresAccess(Type type) |
|
Type |
Action.typeCheck(Type expected) |
|
Type |
Condition.typeCheck(Type expected) |
|
Type |
Event.typeCheck(Type expected) |
|
abstract Type |
RuleElement.typeCheck(Type expected) |
Modifier and Type | Method | Description |
---|---|---|
Type |
Binding.getType() |
|
Type |
Binding.typeCheck(Type expected) |
Modifier and Type | Method | Description |
---|---|---|
void |
Binding.setType(Type type) |
|
Type |
Binding.typeCheck(Type expected) |
Constructor | Description |
---|---|
Binding(Rule rule,
String name,
Type type) |
|
Binding(Rule rule,
String name,
Type type,
Expression value) |
Modifier and Type | Method | Description |
---|---|---|
void |
CompileContext.compileBooleanConversion(Type fromType,
Type toType) |
|
void |
CompileContext.compileBox(Type toType) |
box a value belonging to a primitive type
|
void |
CompileContext.compileCheckCast(Type toType) |
|
void |
CompileContext.compileNumericConversion(Type fromType,
Type toType) |
|
void |
CompileContext.compileObjectConversion(Type fromType,
Type toType) |
|
void |
CompileContext.compilePrimitiveConversion(Type fromType,
Type toType) |
compile code to convert a numeric or character primitive to a numeric or character primitive
|
void |
CompileContext.compileStringConversion(Type fromType,
Type toType) |
|
void |
CompileContext.compileTypeConversion(Type fromType,
Type toType) |
|
void |
CompileContext.compileUnbox(Type fromType,
Type toType) |
compile code to convert a value of a boxed type to a primitive type, possibly not the immediately
related primitive type
|
Modifier and Type | Field | Description |
---|---|---|
protected Type |
Expression.type |
Modifier and Type | Method | Description |
---|---|---|
Type |
Expression.getType() |
|
Type |
ArithmeticExpression.typeCheck(Type expected) |
|
Type |
ArrayExpression.typeCheck(Type expected) |
|
Type |
ArrayInitExpression.typeCheck(Type expected) |
|
Type |
AssignExpression.typeCheck(Type expected) |
|
Type |
BitExpression.typeCheck(Type expected) |
|
Type |
BooleanLiteral.typeCheck(Type expected) |
|
Type |
ClassLiteralExpression.typeCheck(Type expected) |
|
Type |
ComparisonExpression.typeCheck(Type expected) |
|
Type |
ConditionalEvalExpression.typeCheck(Type expected) |
|
Type |
DollarExpression.typeCheck(Type expected) |
|
abstract Type |
Expression.typeCheck(Type expected) |
ensure that all type references in the expression and its component expressions
can be resolved, that the type of the expression is well-defined and that it is
compatible with the type expected in the context in which it occurs.
|
Type |
FieldExpression.typeCheck(Type expected) |
|
Type |
LogicalExpression.typeCheck(Type expected) |
|
Type |
MethodExpression.typeCheck(Type expected) |
|
Type |
MinusExpression.typeCheck(Type expected) |
|
Type |
NewExpression.typeCheck(Type expected) |
ensure that all type references in the expression and its component expressions
can be resolved, that the type of the expression is well-defined and that it is
compatible with the type expected in the context in which it occurs.
|
Type |
NotExpression.typeCheck(Type expected) |
|
Type |
NullLiteral.typeCheck(Type expected) |
|
Type |
NumericLiteral.typeCheck(Type expected) |
|
Type |
PlusExpression.typeCheck(Type expected) |
|
Type |
ReturnExpression.typeCheck(Type expected) |
ensure that all type references in the expression and its component expressions
can be resolved, that the type of the expression is well-defined and that it is
compatible with the type expected in the context in which it occurs.
|
Type |
ShiftExpression.typeCheck(Type expected) |
|
Type |
StaticExpression.typeCheck(Type expected) |
|
Type |
StringLiteral.typeCheck(Type expected) |
|
Type |
StringPlusExpression.typeCheck(Type expected) |
|
Type |
ThrowExpression.typeCheck(Type expected) |
ensure that all type references in the expression and its component expressions
can be resolved, that the type of the expression is well-defined and that it is
compatible with the type expected in the context in which it occurs.
|
Type |
TwiddleExpression.typeCheck(Type expected) |
|
Type |
Variable.typeCheck(Type expected) |
|
Type |
ArrayExpression.typeCheckAssign(Type expected) |
|
abstract Type |
AssignableExpression.typeCheckAssign(Type expected) |
typecheck the expression as an lvalue of an assignment operation
|
Type |
DollarExpression.typeCheckAssign(Type expected) |
|
Type |
FieldExpression.typeCheckAssign(Type expected) |
|
Type |
StaticExpression.typeCheckAssign(Type expected) |
|
Type |
Variable.typeCheckAssign(Type expected) |
Modifier and Type | Method | Description |
---|---|---|
Method |
MethodExpression.bestMatchCandidate(List<Method> candidates,
Type expected) |
return the method whose signature is the best fit for the call argument types.
|
static ArrayInitExpression |
ExpressionHelper.createArrayInitExpression(Rule rule,
Bindings bindings,
ParseNode exprTree,
Type type) |
|
static AssignableExpression |
ExpressionHelper.createAssignableExpression(Rule rule,
Bindings bindings,
ParseNode exprTree,
Type type) |
|
static Expression |
ExpressionHelper.createBinaryExpression(Rule rule,
Bindings bindings,
ParseNode exprTree,
Type type) |
|
static Expression |
ExpressionHelper.createCallExpression(Rule rule,
Bindings bindings,
ParseNode selectorTree,
ParseNode recipientTree,
ParseNode argTree,
Type type) |
|
static Expression |
ExpressionHelper.createClassLiteralExpression(Rule rule,
Bindings bindings,
ParseNode pathTree,
Type type) |
|
static Expression |
ExpressionHelper.createExpression(Rule rule,
Bindings bindings,
ParseNode exprTree,
Type type) |
|
static List<Expression> |
ExpressionHelper.createExpressionList(Rule rule,
Bindings bindings,
ParseNode exprTree,
Type type) |
|
static AssignableExpression |
ExpressionHelper.createFieldExpression(Rule rule,
Bindings bindings,
ParseNode fieldTree,
ParseNode targetTree,
Type type) |
|
static Expression |
ExpressionHelper.createTernaryExpression(Rule rule,
Bindings bindings,
ParseNode exprTree,
Type type) |
|
static Expression |
ExpressionHelper.createUnaryExpression(Rule rule,
Bindings bindings,
ParseNode exprTree,
Type type) |
|
Type |
ArithmeticExpression.typeCheck(Type expected) |
|
Type |
ArrayExpression.typeCheck(Type expected) |
|
Type |
ArrayInitExpression.typeCheck(Type expected) |
|
Type |
AssignExpression.typeCheck(Type expected) |
|
Type |
BitExpression.typeCheck(Type expected) |
|
Type |
BooleanLiteral.typeCheck(Type expected) |
|
Type |
ClassLiteralExpression.typeCheck(Type expected) |
|
Type |
ComparisonExpression.typeCheck(Type expected) |
|
Type |
ConditionalEvalExpression.typeCheck(Type expected) |
|
Type |
DollarExpression.typeCheck(Type expected) |
|
abstract Type |
Expression.typeCheck(Type expected) |
ensure that all type references in the expression and its component expressions
can be resolved, that the type of the expression is well-defined and that it is
compatible with the type expected in the context in which it occurs.
|
Type |
FieldExpression.typeCheck(Type expected) |
|
Type |
LogicalExpression.typeCheck(Type expected) |
|
Type |
MethodExpression.typeCheck(Type expected) |
|
Type |
MinusExpression.typeCheck(Type expected) |
|
Type |
NewExpression.typeCheck(Type expected) |
ensure that all type references in the expression and its component expressions
can be resolved, that the type of the expression is well-defined and that it is
compatible with the type expected in the context in which it occurs.
|
Type |
NotExpression.typeCheck(Type expected) |
|
Type |
NullLiteral.typeCheck(Type expected) |
|
Type |
NumericLiteral.typeCheck(Type expected) |
|
Type |
PlusExpression.typeCheck(Type expected) |
|
Type |
ReturnExpression.typeCheck(Type expected) |
ensure that all type references in the expression and its component expressions
can be resolved, that the type of the expression is well-defined and that it is
compatible with the type expected in the context in which it occurs.
|
Type |
ShiftExpression.typeCheck(Type expected) |
|
Type |
StaticExpression.typeCheck(Type expected) |
|
Type |
StringLiteral.typeCheck(Type expected) |
|
Type |
StringPlusExpression.typeCheck(Type expected) |
|
Type |
ThrowExpression.typeCheck(Type expected) |
ensure that all type references in the expression and its component expressions
can be resolved, that the type of the expression is well-defined and that it is
compatible with the type expected in the context in which it occurs.
|
Type |
TwiddleExpression.typeCheck(Type expected) |
|
Type |
Variable.typeCheck(Type expected) |
|
Type |
ArrayExpression.typeCheckAssign(Type expected) |
|
abstract Type |
AssignableExpression.typeCheckAssign(Type expected) |
typecheck the expression as an lvalue of an assignment operation
|
Type |
DollarExpression.typeCheckAssign(Type expected) |
|
Type |
FieldExpression.typeCheckAssign(Type expected) |
|
Type |
StaticExpression.typeCheckAssign(Type expected) |
|
Type |
Variable.typeCheckAssign(Type expected) |
Constructor | Description |
---|---|
ArrayExpression(Rule rule,
Type type,
ParseNode token,
Expression arrayRef,
List<Expression> idxList) |
|
ArrayInitExpression(Rule rule,
Type type,
ParseNode token,
List<Expression> elements) |
|
AssignableExpression(Rule rule,
Type type,
ParseNode token) |
Create a new expression.
|
BinaryOperExpression(Rule rule,
int oper,
Type type,
ParseNode token,
Expression operand1,
Expression operand2) |
|
ClassLiteralExpression(Rule rule,
Type type,
ParseNode pathTree,
String[] pathList) |
|
ConditionalEvalExpression(Rule rule,
Type type,
ParseNode token,
Expression cond,
Expression if_expr,
Expression else_expr) |
|
DollarExpression(Rule rule,
Type type,
ParseNode token,
int index) |
constructor for param bindings or special bindings
|
DollarExpression(Rule rule,
Type type,
ParseNode token,
String name) |
constructor for local var bindings
|
Expression(Rule rule,
Type type,
ParseNode token) |
Create a new expression.
|
FieldExpression(Rule rule,
Type type,
ParseNode fieldTree,
String fieldName,
Expression owner,
String[] pathList) |
|
MethodExpression(Rule rule,
Type type,
ParseNode token,
Expression recipient,
List<Expression> arguments,
String[] pathList) |
|
NumericLiteral(Rule rule,
Type type,
ParseNode token) |
|
StaticExpression(Rule rule,
Type type,
ParseNode token,
String fieldName,
String ownerTypeName) |
|
TernaryOperExpression(Rule rule,
int oper,
Type type,
ParseNode token,
Expression operand1,
Expression operand2,
Expression operand3) |
|
UnaryOperExpression(Rule rule,
int oper,
Type type,
ParseNode token,
Expression operand) |
|
Variable(Rule rule,
Type type,
ParseNode token) |
|
Variable(Rule rule,
Type type,
ParseNode token,
String name) |
Modifier and Type | Field | Description |
---|---|---|
static Type |
Type.B |
|
static Type |
Type.BOOLEAN |
|
static Type |
Type.BYTE |
|
static Type |
Type.C |
|
static Type |
Type.CHARACTER |
|
static Type |
Type.D |
|
static Type |
Type.DOUBLE |
|
static Type |
Type.F |
|
static Type |
Type.FLOAT |
|
static Type |
Type.I |
|
static Type |
Type.INTEGER |
|
static Type |
Type.J |
|
static Type |
Type.LONG |
|
static Type |
Type.N |
|
static Type |
Type.NUMBER |
|
static Type |
Type.OBJECT |
|
static Type |
Type.S |
|
static Type |
Type.SHORT |
|
static Type |
Type.STRING |
|
static Type |
Type.UNDEFINED |
|
static Type |
Type.VOID |
|
static Type |
Type.Z |
Modifier and Type | Field | Description |
---|---|---|
protected HashMap<String,Type> |
TypeGroup.typeTable |
Modifier and Type | Method | Description |
---|---|---|
Type |
Type.arrayType() |
create an array type from this base type
|
Type |
Type.arrayType(Class clazz) |
create an array type from this base type
|
static Type |
Type.boxType(Class clazz) |
return the primitive type whose boxed equivalent is associated with a given class
|
static Type |
Type.boxType(Type type) |
return the primitive type for a boxed type or vice versa
|
static Type |
Type.builtinType(Class clazz) |
return the builtin type associated with a given class
|
Type |
TypeGroup.create(String name) |
create a type with a given name or return an existing type if the supplied
name can be matched.
|
Type |
TypeGroup.create(String name,
Class clazz) |
create a type with a given name and class or return an existing type if the supplied
name and class can be matched.
|
Type |
TypeGroup.createArray(Type baseType) |
|
static Type |
Type.dereference(Type target) |
dereference an object type to the fully qualified named type to which it is aliased where
such an alias has been found to exist or return the supplied type if no alias exists or the
type is a non-objecttype or was originally specified using a fully qualified type name.
|
Type |
TypeGroup.ensureType(Class clazz) |
|
Type |
Type.getBaseType() |
retrieve the base type for an array type or null if this is not an array type
|
Type |
TypeGroup.lookup(String name) |
lookup a type by name dereferencing it to its fully qualified type if that exists
|
Type |
TypeGroup.match(String[] path) |
|
static Type |
Type.promote(Type type1,
Type type2) |
compute the type to which a binary arithmetic operator should promote its operands
before combination based on the two operand types which is also the type to be
used for the result of the operation
|
Modifier and Type | Method | Description |
---|---|---|
List<Type> |
TypeGroup.getExceptionTypes() |
Modifier and Type | Method | Description |
---|---|---|
boolean |
Type.aliasTo(Type target) |
attempt to establish an alias from an package unqualified named object type to a package
qualified named object type whose unqualified name equals this type's name
|
static Type |
Type.boxType(Type type) |
return the primitive type for a boxed type or vice versa
|
Type |
TypeGroup.createArray(Type baseType) |
|
static Type |
Type.dereference(Type target) |
dereference an object type to the fully qualified named type to which it is aliased where
such an alias has been found to exist or return the supplied type if no alias exists or the
type is a non-objecttype or was originally specified using a fully qualified type name.
|
boolean |
Type.isAssignableFrom(Type type) |
check whether this type can be assigned with values of the supplied type including
the case where numeric conversion from known or unknown numeric types but excluding
any other cases where this type is undefined
n.b.
|
static Type |
Type.promote(Type type1,
Type type2) |
compute the type to which a binary arithmetic operator should promote its operands
before combination based on the two operand types which is also the type to be
used for the result of the operation
|
Constructor | Description |
---|---|
Type(String typeName,
Class clazz,
int flags,
int nBytes,
Type baseType) |
Copyright © 2018. All rights reserved.