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
Modifier and TypeFieldDescriptionprotected List<ExtensibleNamedRule>
protected Boolean
protected Boolean
protected Boolean
protected Boolean
protected Map<Parameter,
Collection<?>> protected Map<Parameter,
Collection<?>> protected List<ExtensibleNamedRule>
protected List<NameExpression>
Fields inherited from class org.eclipse.epsilon.erl.dom.NamedRule
nameExpression
Fields inherited from class org.eclipse.epsilon.eol.dom.AnnotatableModuleElement
annotationBlock
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
calculateSuperRules
(List<? extends ExtensibleNamedRule> allRules) protected void
calculateSuperRules
(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 NamedRule
getRuleByName
(List<? extends NamedRule> rules, String name) abstract AST
getSuperRulesAst
(AST cst) boolean
isAbstract
(IEolContext context) boolean
isGreedy
(IEolContext context) boolean
isLazy
(IEolContext context) boolean
isParallel
(IEolContext context) Methods inherited from class org.eclipse.epsilon.erl.dom.NamedRule
equals, getName, getNameAst, getNameExpression, hashCode, toString
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 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:
build
in interfaceModuleElement
- Overrides:
build
in classNamedRule
-
getSuperRulesAst
-
getAllSuperRules
-
getSuperRules
-