Package org.eclipse.epsilon.eml.dom
Class MergeRule
-
- All Implemented Interfaces:
ModuleElement
public class MergeRule extends ExtensibleNamedRule
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
auto
protected StatementBlock
bodyBlock
protected ExecutableBlock<Boolean>
guardBlock
protected Parameter
leftParameter
protected Parameter
rightParameter
protected List<Parameter>
targetParameters
-
Fields inherited from class org.eclipse.epsilon.erl.dom.ExtensibleNamedRule
allSuperRules, isAbstract, isGreedy, isLazy, isParallel, ofKindCache, ofTypeCache, superRules, superRulesIdentifiers
-
Fields inherited from class org.eclipse.epsilon.erl.dom.NamedRule
nameExpression
-
Fields inherited from class org.eclipse.epsilon.eol.dom.AnnotatableModuleElement
annotationBlock
-
-
Constructor Summary
Constructors Constructor Description MergeRule()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
appliesTo(Match match, IEmlContext context)
void
build(AST cst, IModule module)
void
executeSuperRulesAndBody(Match match, Collection<Object> targets, IEmlContext context)
AST
getSuperRulesAst(AST cst)
boolean
hasMerged(Match match)
boolean
isPrimary(IEmlContext context)
Collection<?>
merge(Match match, Collection<Object> targets, IEmlContext context)
Collection<?>
merge(Match match, IEmlContext context)
String
toString()
-
Methods inherited from class org.eclipse.epsilon.erl.dom.ExtensibleNamedRule
calculateSuperRules, calculateSuperRules, getAllInstances, getAllOfKind, getAllOfType, getAllSuperRules, getRuleByName, getSuperRules, isAbstract, isGreedy, isLazy, isParallel
-
Methods inherited from class org.eclipse.epsilon.erl.dom.NamedRule
equals, getName, getNameAst, getNameExpression, hashCode
-
Methods inherited from class org.eclipse.epsilon.eol.dom.AnnotatableModuleElement
accept, getAnnotation, getAnnotationBlock, getAnnotations, getAnnotationsValues, getBooleanAnnotationValue, getBooleanAnnotationValue, getBooleanAnnotationValue, getBooleanAnnotationValue, hasAnnotation, setAnnotationBlock
-
Methods inherited from class org.eclipse.epsilon.common.module.AbstractModuleElement
getChildren, getComments, getData, getDebugInfo, getFile, getModule, getParent, getRegion, getUri, setModule, setParent, setRegion, setUri
-
-
-
-
Field Detail
-
guardBlock
protected ExecutableBlock<Boolean> guardBlock
-
bodyBlock
protected StatementBlock bodyBlock
-
leftParameter
protected Parameter leftParameter
-
rightParameter
protected Parameter rightParameter
-
auto
protected boolean auto
-
-
Method Detail
-
build
public void build(AST cst, IModule module)
- Specified by:
build
in interfaceModuleElement
- Overrides:
build
in classExtensibleNamedRule
-
isPrimary
public boolean isPrimary(IEmlContext context) throws EolRuntimeException
- Throws:
EolRuntimeException
-
appliesTo
public boolean appliesTo(Match match, IEmlContext context) throws EolRuntimeException
- Throws:
EolRuntimeException
-
merge
public Collection<?> merge(Match match, Collection<Object> targets, IEmlContext context) throws EolRuntimeException
- Throws:
EolRuntimeException
-
hasMerged
public boolean hasMerged(Match match)
-
merge
public Collection<?> merge(Match match, IEmlContext context) throws EolRuntimeException
- Throws:
EolRuntimeException
-
executeSuperRulesAndBody
public void executeSuperRulesAndBody(Match match, Collection<Object> targets, IEmlContext context) throws EolRuntimeException
- Throws:
EolRuntimeException
-
getSuperRulesAst
public AST getSuperRulesAst(AST cst)
- Specified by:
getSuperRulesAst
in classExtensibleNamedRule
-
-