public class PatternLanguageValidator extends org.eclipse.xtext.validation.AbstractDeclarativeValidator implements IIssueCallback
Validators implemented:
org.eclipse.xtext.validation.AbstractDeclarativeValidator.MethodWrapper, org.eclipse.xtext.validation.AbstractDeclarativeValidator.State, org.eclipse.xtext.validation.AbstractDeclarativeValidator.StateAccess
org.eclipse.emf.ecore.EValidator.Descriptor, org.eclipse.emf.ecore.EValidator.PatternMatcher, org.eclipse.emf.ecore.EValidator.Registry, org.eclipse.emf.ecore.EValidator.SubstitutionLabelProvider, org.eclipse.emf.ecore.EValidator.ValidationDelegate
CURRENT_LANGUAGE_NAME, ISSUE_SEVERITIES
Constructor and Description |
---|
PatternLanguageValidator() |
Modifier and Type | Method and Description |
---|---|
void |
checkAggregatorCallTypes(AggregatedValue expression)
Check for mistyped aggregator expressions
|
void |
checkAggregatorExpression(AggregatedValue expression)
Checks if an aggregator expression has the correct number (0 or 1) aggregate variables.
|
void |
checkAnnotation(Annotation annotation) |
void |
checkApplicabilityOfTransitiveClosureInPatternCall(CallableRelation call) |
void |
checkCompareConstraints(CompareConstraint constraint) |
void |
checkEmbeddedAggregatorLength(AggregatedValue value) |
void |
checkForImpureJavaCallsInCheckConstraints(CheckConstraint checkConstraint) |
void |
checkForImpureJavaCallsInEvalExpressions(FunctionEvaluationValue eval) |
void |
checkNegativeCallParameters(PatternCompositionConstraint constraint) |
void |
checkPackageDeclaration(PatternModel model) |
void |
checkPatternBody(PatternBody body) |
void |
checkPatternCallParameters(PatternCall call) |
void |
checkPatternParameters(Pattern pattern) |
void |
checkPatterns(PatternModel model) |
void |
checkPrivatePatternCall(PatternCall call) |
void |
checkRecursivePatternCall(PatternCall call) |
void |
checkReturnTypeOfCheckConstraints(CheckConstraint checkConstraint) |
void |
checkValueReference(VariableReference value)
Checks if an aggregate
VariableReference is used only in the right context, that is, in an
AggregatedValue with an aggregator requiring aggregator parameters. |
void |
checkVariableNames(PatternBody body) |
void |
enableQueryGroupGeneration(boolean queryGroupGenerationEnabled) |
void |
error(java.lang.String message,
org.eclipse.emf.ecore.EObject source,
org.eclipse.emf.ecore.EStructuralFeature feature,
java.lang.String code,
java.lang.String... issueData) |
protected java.util.List<org.eclipse.emf.ecore.EPackage> |
getEPackages() |
protected java.lang.String |
getFormattedArgumentsList(java.util.List<ValueReference> arguments) |
void |
register(org.eclipse.xtext.validation.EValidatorRegistrar reg) |
void |
warning(java.lang.String message,
org.eclipse.emf.ecore.EObject source,
org.eclipse.emf.ecore.EStructuralFeature feature,
java.lang.String code,
java.lang.String... issueData) |
acceptError, acceptError, acceptInfo, acceptInfo, acceptWarning, acceptWarning, addIssue, addIssue, addIssue, addIssue, addIssue, addIssueToState, checkDone, checkIsFromCurrentlyCheckedResource, createDiagnostic, createDiagnostic, createMethodWrapper, error, error, error, error, error, error, error, getChain, getCheckMode, getContext, getCurrentMethod, getCurrentObject, getIssueSeverities, getMessageAcceptor, guard, info, info, info, info, info, info, info, info, internalValidate, isIgnored, newInstance, setInjector, setMessageAcceptor, toDiagnosticSeverity, warning, warning, warning, warning, warning, warning, warning
public static final java.lang.String DUPLICATE_VARIABLE_MESSAGE
public static final java.lang.String DUPLICATE_PATTERN_DEFINITION_MESSAGE
public static final java.lang.String CONFLICTING_SPECIFICATION_NAME_MESSAGE
public static final java.lang.String UNKNOWN_ANNOTATION_ATTRIBUTE
public static final java.lang.String MISSING_ANNOTATION_ATTRIBUTE
public static final java.lang.String ANNOTATION_PARAMETER_TYPE_ERROR
public static final java.lang.String TRANSITIVE_CLOSURE_ARITY_IN_PATTERNCALL
public static final java.lang.String TRANSITIVE_CLOSURE_ONLY_IN_POSITIVE_COMPOSITION
public static final java.lang.String RECURSIVE_PATTERN_CALL
public static final java.lang.String RECURSIVE_PATTERN_CALL_TRANSITIVE
public static final java.lang.String RECURSIVE_PATTERN_CALL_NEGATIVE
public static final java.lang.String INVALID_AGGREGATE_MESSAGE
public static final java.lang.String UNEXPECTED_AGGREGATE_MESSAGE
public static final java.lang.String EXACTLY_ONE_AGGREGATE_MESSAGE
public static final java.lang.String MISSING_AGGREGATE_MESSAGE
public static final java.lang.String VARIABLE_NAME_DUBIUS_REUSE_MESSAGE_SINGLEUSE
public static final java.lang.String VARIABLE_NAME_DUBIUS_REUSE_MESSAGE_AGGREGATE
@Inject public void enableQueryGroupGeneration(boolean queryGroupGenerationEnabled)
public void register(org.eclipse.xtext.validation.EValidatorRegistrar reg)
register
in class org.eclipse.xtext.validation.AbstractInjectableValidator
protected java.util.List<org.eclipse.emf.ecore.EPackage> getEPackages()
getEPackages
in class org.eclipse.xtext.validation.AbstractInjectableValidator
public void checkValueReference(VariableReference value)
VariableReference
is used only in the right context, that is, in an
AggregatedValue
with an aggregator requiring aggregator parameters.value
- the VariableReference
instancepublic void checkAggregatorExpression(AggregatedValue expression)
expression
- the aggregator expressionpublic void checkAggregatorCallTypes(AggregatedValue expression)
public void checkEmbeddedAggregatorLength(AggregatedValue value)
public void checkPatternParameters(Pattern pattern)
public void checkPrivatePatternCall(PatternCall call)
public void checkPatternCallParameters(PatternCall call)
public void checkApplicabilityOfTransitiveClosureInPatternCall(CallableRelation call)
public void checkPatterns(PatternModel model)
public void checkPatternBody(PatternBody body)
public void checkAnnotation(Annotation annotation)
public void checkCompareConstraints(CompareConstraint constraint)
public void checkRecursivePatternCall(PatternCall call)
protected java.lang.String getFormattedArgumentsList(java.util.List<ValueReference> arguments)
public void checkPackageDeclaration(PatternModel model)
public void checkReturnTypeOfCheckConstraints(CheckConstraint checkConstraint)
public void checkVariableNames(PatternBody body)
public void checkForImpureJavaCallsInCheckConstraints(CheckConstraint checkConstraint)
public void checkForImpureJavaCallsInEvalExpressions(FunctionEvaluationValue eval)
public void checkNegativeCallParameters(PatternCompositionConstraint constraint)
public void warning(java.lang.String message, org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.String code, java.lang.String... issueData)
warning
in interface IIssueCallback
warning
in class org.eclipse.xtext.validation.AbstractDeclarativeValidator
public void error(java.lang.String message, org.eclipse.emf.ecore.EObject source, org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.String code, java.lang.String... issueData)
error
in interface IIssueCallback
error
in class org.eclipse.xtext.validation.AbstractDeclarativeValidator