PathExpressionHead pathExpressionHead = pathExpressionConstraint.getHead(); ValueReference valueReference = pathExpressionHead.getDst(); resultList.addAll(getUnnamedVariablesFromValueReference(valueReference, true));
PathExpressionHead pathExpressionHead = pathExpressionConstraint.getHead(); Map<PathExpressionTail, EStructuralFeature> tailFeatureMap = emfTypeProvider .getAllFeaturesFromPathExpressionTail(pathExpressionHead.getTail());
/** * Contexts: * Constraint returns PathExpressionConstraint * PathExpressionConstraint returns PathExpressionConstraint * * Constraint: * head=PathExpressionHead */ protected void sequence_PathExpressionConstraint(ISerializationContext context, PathExpressionConstraint semanticObject) { if (errorAcceptor != null) { if (transientValues.isValueTransient(semanticObject, PatternLanguagePackage.Literals.PATH_EXPRESSION_CONSTRAINT__HEAD) == ValueTransient.YES) errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, PatternLanguagePackage.Literals.PATH_EXPRESSION_CONSTRAINT__HEAD)); } SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); feeder.accept(grammarAccess.getPathExpressionConstraintAccess().getHeadPathExpressionHeadParserRuleCall_1_0(), semanticObject.getHead()); feeder.finish(); }
private void gatherPathExpression(PathExpressionConstraint pathExpression, PatternModelAcceptor<?> acceptor) throws SpecificationBuilderException { PathExpressionHead head = pathExpression.getHead(); VariableReference src = head.getSrc(); ValueReference dst = head.getDst();
final PathExpressionHead pathExpressionHead = ((PathExpressionConstraint) constraint).getHead();
/** * This validator checks if the literal or computational values match the path expression's type. * * @param pathExpressionConstraint */ @Check public void checkForWrongLiteralAndComputationValuesInPathExpressionConstraints( PathExpressionConstraint pathExpressionConstraint) { // Normal attribute-reference constraint PathExpressionHead pathExpressionHead = pathExpressionConstraint.getHead(); ValueReference valueReference = pathExpressionHead.getDst(); if (valueReference instanceof LiteralValueReference || valueReference instanceof ComputationValue) { EClassifier inputClassifier = emfTypeProvider .getClassifierForLiteralComputationEnumValueReference(valueReference); EClassifier typeClassifier = emfTypeProvider.getClassifierForType(emfTypeProvider .getTypeFromPathExpressionTail(pathExpressionHead.getTail())); if (!isCompatibleClassifiers(typeClassifier, inputClassifier)) { String name = typeClassifier == null ? "<unknown>" : typeClassifier.getInstanceClassName(); error("The type inferred from the path expression (" + name + ") is different from the input literal/computational value (" + inputClassifier.getInstanceClassName() + ").", pathExpressionConstraint, null, EMFIssueCodes.LITERAL_OR_COMPUTATION_TYPE_MISMATCH_IN_PATH_EXPRESSION); } } }
PathExpressionHead pathExpressionHead = pathExpressionConstraint.getHead(); ValueReference valueReference = pathExpressionHead.getDst(); Variable pathExpressionHeadSourceVariable = null; PathExpressionHead pathExpressionHead = pathExpressionConstraint.getHead(); Variable pathExpressionHeadSourceVariable = null; if (pathExpressionHead.getSrc() != null) {