Package org.eclipse.m2m.atl.emftvm.impl
Class RuleImpl.RuleModeState
java.lang.Object
org.eclipse.m2m.atl.emftvm.impl.RuleImpl.RuleModeState
- Direct Known Subclasses:
RuleImpl.AutomaticRecursiveState
,RuleImpl.AutomaticSingleState
,RuleImpl.ManualState
- Enclosing class:
- RuleImpl
Base class for code that depends on the rule's
Rule.getMode()
.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract boolean
matchFor
(StackFrame frame, Object[] values) Matches this rule againstvalues
, and records a match inExecEnv.getMatches()
in case of a match.abstract boolean
Matches this rule againstvalues
, and records a match inExecEnv.getMatches()
in case of a match.matchManual
(StackFrame frame, Object[] values) Matches#getRule()
manually, if applicable.boolean[]
matchRecursive
(StackFrame frame) Matches#getRule()
for the automatic recursive stage, if applicable.boolean
matchSingle
(StackFrame frame) Matches#getRule()
for the automatic single stage, if applicable.
-
Constructor Details
-
RuleModeState
protected RuleModeState()
-
-
Method Details
-
matchSingle
Matches#getRule()
for the automatic single stage, if applicable.- Parameters:
frame
- the stack frame in which to execute the matcher- Returns:
true
iff the rule has any matches
-
matchRecursive
Matches#getRule()
for the automatic recursive stage, if applicable.- Parameters:
frame
- the stack frame in which to execute the matcher- Returns:
true
iff the rule has any matches
-
matchManual
Matches#getRule()
manually, if applicable.- Parameters:
frame
- the stack frame in which to execute the matchervalues
- the values to match against- Returns:
- the rule application result, or
null
if the rule did not match - Throws:
VMException
- if this is not aRuleMode.MANUAL
rule
-
matchFor
Matches this rule againstvalues
, and records a match inExecEnv.getMatches()
in case of a match. In case of a unique rule, this method will not match if the rule has already matched againstvalues
before.- Parameters:
frame
- the stack frame contextvalues
- the source values to match against- Returns:
true
iff this rule matches againstvalues
-
matchFor
Matches this rule againstvalues
, and records a match inExecEnv.getMatches()
in case of a match. In case of a unique rule, this method will not match if the rule has already matched againstvalues
before.- Parameters:
frame
- the stack frame contextvaluesMap
- the map of all values, including super-rule elementsvalues
- the source values to match against- Returns:
true
iff this rule matches againstvalues
-