Package | Description |
---|---|
org.jboss.byteman.rule | |
org.jboss.byteman.rule.binding | |
org.jboss.byteman.rule.exception | |
org.jboss.byteman.rule.expression | |
org.jboss.byteman.rule.type |
Modifier and Type | Method and Description |
---|---|
static Condition |
Condition.create(Rule rule,
ParseNode conditionTree) |
static Event |
Event.create(Rule rule,
ParseNode eventTree) |
static Action |
Action.create(Rule rule,
ParseNode actionTree) |
static Rule |
Rule.create(RuleScript ruleScript,
ClassLoader loader,
HelperManager helperManager) |
static Condition |
Condition.create(Rule rule,
String text) |
static Event |
Event.create(Rule rule,
String text) |
static Action |
Action.create(Rule rule,
String text) |
Binding |
Event.createBinding(ParseNode varTree) |
void |
Rule.setAction(String actionSpec) |
void |
Rule.setCondition(String conditionSpec) |
void |
Rule.setEvent(String eventSpec) |
void |
Rule.typeCheck()
type check this rule
|
Type |
Condition.typeCheck(Type expected) |
Type |
Event.typeCheck(Type expected) |
Type |
Action.typeCheck(Type expected) |
abstract Type |
RuleElement.typeCheck(Type expected) |
Constructor and Description |
---|
Action(Rule rule,
ParseNode actionTree) |
Condition(Rule rule,
ParseNode conditionTree) |
Event(Rule rule,
ParseNode eventTree) |
Modifier and Type | Method and Description |
---|---|
Type |
Binding.typeCheck(Type expected) |
Modifier and Type | Class and Description |
---|---|
class |
TypeWarningException
A sepcialization of TypeException which can be thrown during type checking to indicate that
a rule has failed to type check for a legitimate reason.
|
Modifier and Type | Method and Description |
---|---|
void |
BinaryOperExpression.bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list and infer/validate the type of this expression or its subexpressions
where possible
|
void |
ReturnExpression.bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list and infer/validate the type of this expression or its subexpressions
where possible
|
void |
DollarExpression.bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list and infer/validate the type of this expression or its subexpressions
where possible
|
void |
ThrowExpression.bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list and infer/validate the type of this expression or its subexpressions
where possible
|
void |
MethodExpression.bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list and infer/validate the type of this expression or its subexpressions
where possible
|
void |
AssignExpression.bind() |
void |
TernaryOperExpression.bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list and infer/validate the type of this expression or its subexpressions
where possible
|
void |
FieldExpression.bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list and infer/validate the type of this expression or its subexpressions
where possible
|
void |
NewExpression.bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list
|
void |
Variable.bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list and infer/validate the type of this expression or its subexpressions
where possible
|
void |
NumericLiteral.bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list and infer/validate the type of this expression or its subexpressions
where possible
|
void |
ArrayExpression.bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list and infer/validate the type of this expression or its subexpressions
where possible
|
void |
UnaryOperExpression.bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list and infer/validate the type of this expression or its subexpressions
where possible
|
void |
ClassLiteralExpression.bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list and infer/validate the type of this expression or its subexpressions
where possible
|
abstract void |
Expression.bind()
verify that variables mentioned in this expression are actually available in the rule
bindings list
|
void |
StaticExpression.bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list and infer/validate the type of this expression or its subexpressions
where possible
|
void |
DollarExpression.bind(boolean isUpdateable) |
void |
DollarExpression.bindAssign()
verify that variables mentioned in this expression are actually available in the supplied
bindings list.
|
abstract void |
AssignableExpression.bindAssign()
bind as an assignable expression.
|
void |
FieldExpression.bindAssign()
treat this as a normal bind because an update to a field reference does not update any bindings
|
void |
Variable.bindAssign()
verify that variables mentioned in this expression are actually available in the supplied
bindings list.
|
void |
ArrayExpression.bindAssign() |
void |
StaticExpression.bindAssign()
treat this as a normal bind because an update to a field reference does not update any bindings
|
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) |
static Expression |
ExpressionHelper.createExpression(Rule rule,
Bindings bindings,
ParseNode exprTree,
Type type) |
static List<Expression> |
ExpressionHelper.createExpressionList(Rule rule,
Bindings bindings,
ParseNode exprTree) |
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.createNewExpression(Rule rule,
Bindings bindings,
ParseNode typeNameTree,
ParseNode argTree,
ParseNode arrayDimsTree) |
static List<Expression> |
ExpressionHelper.createNewExpressionIndexList(Rule rule,
Bindings bindings,
ParseNode exprTree) |
Class<?>[] |
ThrowExpression.createParamTypes(String descriptor,
ClassLoader loader) |
static Expression |
ExpressionHelper.createTernaryExpression(Rule rule,
Bindings bindings,
ParseNode exprTree,
Type type) |
static Expression |
ExpressionHelper.createThrowExpression(Rule rule,
Bindings bindings,
ParseNode typeNameTree,
ParseNode argTree) |
static Expression |
ExpressionHelper.createUnaryExpression(Rule rule,
Bindings bindings,
ParseNode exprTree,
Type type) |
Type |
TwiddleExpression.typeCheck(Type expected) |
Type |
NullLiteral.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 |
BooleanLiteral.typeCheck(Type expected) |
Type |
LogicalExpression.typeCheck(Type expected) |
Type |
DollarExpression.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 |
StringPlusExpression.typeCheck(Type expected) |
Type |
NotExpression.typeCheck(Type expected) |
Type |
MethodExpression.typeCheck(Type expected) |
Type |
MinusExpression.typeCheck(Type expected) |
Type |
AssignExpression.typeCheck(Type expected) |
Type |
FieldExpression.typeCheck(Type expected) |
Type |
ArithmeticExpression.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 |
ConditionalEvalExpression.typeCheck(Type expected) |
Type |
Variable.typeCheck(Type expected) |
Type |
NumericLiteral.typeCheck(Type expected) |
Type |
ArrayExpression.typeCheck(Type expected) |
Type |
StringLiteral.typeCheck(Type expected) |
Type |
ClassLiteralExpression.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 |
ShiftExpression.typeCheck(Type expected) |
Type |
BitExpression.typeCheck(Type expected) |
Type |
StaticExpression.typeCheck(Type expected) |
Type |
ComparisonExpression.typeCheck(Type expected) |
void |
Variable.typeCheckAny() |
void |
StaticExpression.typeCheckAny() |
Type |
DollarExpression.typeCheckAssign(Type expected) |
abstract Type |
AssignableExpression.typeCheckAssign(Type expected)
typecheck the expression as an lvalue of an assignment operation
|
Type |
FieldExpression.typeCheckAssign(Type expected) |
Type |
Variable.typeCheckAssign(Type expected) |
Type |
ArrayExpression.typeCheckAssign(Type expected) |
Type |
StaticExpression.typeCheckAssign(Type expected) |
Constructor and Description |
---|
ArithmeticExpression(Rule rule,
int oper,
ParseNode token,
Expression left,
Expression right) |
BitExpression(Rule rule,
int oper,
ParseNode token,
Expression left,
Expression right) |
ShiftExpression(Rule rule,
int oper,
ParseNode token,
Expression left,
Expression right) |
Modifier and Type | Method and Description |
---|---|
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
|
Copyright © 2015. All rights reserved.