Package org.eclipse.epsilon.erl.dom
Class ExtensibleNamedRule
java.lang.Object
org.eclipse.epsilon.common.module.AbstractModuleElement
org.eclipse.epsilon.eol.dom.AnnotatableModuleElement
org.eclipse.epsilon.erl.dom.NamedRule
org.eclipse.epsilon.erl.dom.ExtensibleNamedRule
- All Implemented Interfaces:
ModuleElement
- Direct Known Subclasses:
GenerationRule,MatchRule,MergeRule,TransformationRule
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected List<ExtensibleNamedRule>protected Booleanprotected Booleanprotected Booleanprotected Booleanprotected Map<Parameter,Collection<?>> protected Map<Parameter,Collection<?>> protected List<ExtensibleNamedRule>protected List<NameExpression>Fields inherited from class org.eclipse.epsilon.erl.dom.NamedRule
nameExpressionFields inherited from class org.eclipse.epsilon.eol.dom.AnnotatableModuleElement
annotationBlock -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidcalculateSuperRules(List<? extends ExtensibleNamedRule> allRules) protected voidcalculateSuperRules(ExtensibleNamedRule rule, List<? extends ExtensibleNamedRule> allRules, List<ExtensibleNamedRule> collectedRules, boolean recursive) Collection<?>getAllInstances(Parameter parameter, IEolContext context, boolean ofTypeOnly) Collection<?>getAllOfKind(Parameter parameter, IEolContext context) Collection<?>getAllOfType(Parameter parameter, IEolContext context) protected NamedRulegetRuleByName(List<? extends NamedRule> rules, String name) abstract ASTgetSuperRulesAst(AST cst) booleanisAbstract(IEolContext context) booleanisGreedy(IEolContext context) booleanisLazy(IEolContext context) booleanisParallel(IEolContext context) Methods inherited from class org.eclipse.epsilon.erl.dom.NamedRule
equals, getName, getNameAst, getNameExpression, hashCode, toStringMethods inherited from class org.eclipse.epsilon.eol.dom.AnnotatableModuleElement
accept, getAnnotation, getAnnotationBlock, getAnnotations, getAnnotationsValues, getBooleanAnnotationValue, getBooleanAnnotationValue, getBooleanAnnotationValue, getBooleanAnnotationValue, hasAnnotation, setAnnotationBlockMethods inherited from class org.eclipse.epsilon.common.module.AbstractModuleElement
getChildren, getComments, getData, getDebugInfo, getFile, getModule, getParent, getRegion, getUri, setModule, setParent, setRegion, setUri
-
Field Details
-
superRulesIdentifiers
-
superRules
-
allSuperRules
-
isGreedy
-
isAbstract
-
isLazy
-
isParallel
-
ofTypeCache
-
ofKindCache
-
-
Constructor Details
-
ExtensibleNamedRule
public ExtensibleNamedRule()
-
-
Method Details
-
getAllOfKind
public Collection<?> getAllOfKind(Parameter parameter, IEolContext context) throws EolRuntimeException - Throws:
EolRuntimeException
-
getAllOfType
public Collection<?> getAllOfType(Parameter parameter, IEolContext context) throws EolRuntimeException - Throws:
EolRuntimeException
-
getAllInstances
public Collection<?> getAllInstances(Parameter parameter, IEolContext context, boolean ofTypeOnly) throws EolRuntimeException - Throws:
EolRuntimeException
-
isParallel
- Parameters:
context-- Returns:
- Throws:
EolRuntimeException- Since:
- 2.3
-
isGreedy
- Throws:
EolRuntimeException
-
isAbstract
- Throws:
EolRuntimeException
-
isLazy
- Throws:
EolRuntimeException
-
calculateSuperRules
public void calculateSuperRules(List<? extends ExtensibleNamedRule> allRules) throws ErlRuleNotFoundException, ErlCircularRuleInheritanceException -
calculateSuperRules
protected void calculateSuperRules(ExtensibleNamedRule rule, List<? extends ExtensibleNamedRule> allRules, List<ExtensibleNamedRule> collectedRules, boolean recursive) throws ErlRuleNotFoundException, ErlCircularRuleInheritanceException -
getRuleByName
-
build
- Specified by:
buildin interfaceModuleElement- Overrides:
buildin classNamedRule
-
getSuperRulesAst
-
getAllSuperRules
-
getSuperRules
-