use of org.eclipse.xtext.xbase.XTryCatchFinallyExpression in project xtext-eclipse by eclipse.
the class XbaseQuickfixProvider method fixUnreachableCatchBlock.
@Fix(IssueCodes.UNREACHABLE_CATCH_BLOCK)
public void fixUnreachableCatchBlock(final Issue issue, IssueResolutionAcceptor acceptor) {
acceptor.accept(issue, "Remove catch block", "Remove catch block", null, new ISemanticModification() {
@Override
public void apply(EObject element, IModificationContext context) throws Exception {
remove(element, XCatchClause.class, context);
}
});
acceptor.accept(issue, "Move catch block up", "Move catch block up", null, new ISemanticModification() {
@Override
public void apply(EObject element, IModificationContext context) throws Exception {
XCatchClause catchClause = EcoreUtil2.getContainerOfType(element, XCatchClause.class);
if (catchClause == null) {
return;
}
ICompositeNode node = NodeModelUtils.findActualNodeFor(catchClause);
if (node == null) {
return;
}
XTryCatchFinallyExpression tryCatchFinallyExpression = EcoreUtil2.getContainerOfType(catchClause, XTryCatchFinallyExpression.class);
if (tryCatchFinallyExpression == null) {
return;
}
ITypeReferenceOwner owner = new StandardTypeReferenceOwner(services, tryCatchFinallyExpression);
LightweightTypeReference actualTypeReference = owner.toLightweightTypeReference(catchClause.getDeclaredParam().getParameterType());
for (XCatchClause previousCatchClause : tryCatchFinallyExpression.getCatchClauses()) {
if (previousCatchClause == catchClause) {
return;
}
LightweightTypeReference previousTypeReference = owner.toLightweightTypeReference(previousCatchClause.getDeclaredParam().getParameterType());
if (typesOrderUtil.isHandled(actualTypeReference, previousTypeReference)) {
ICompositeNode previousNode = NodeModelUtils.findActualNodeFor(previousCatchClause);
if (previousNode == null) {
return;
}
moveUp(node, previousNode, context);
return;
}
}
}
});
}
use of org.eclipse.xtext.xbase.XTryCatchFinallyExpression in project xtext-xtend by eclipse.
the class ParserTest method testExtensionOnCatchClause_01.
@Test
public void testExtensionOnCatchClause_01() throws Exception {
XtendClass clazz = clazz("class Foo { def void m() { try {} catch(extension NullPointerException e) {} } }");
assertEquals(1, clazz.getMembers().size());
XtendFunction m = (XtendFunction) clazz.getMembers().get(0);
XBlockExpression body = (XBlockExpression) m.getExpression();
assertEquals(1, body.getExpressions().size());
XTryCatchFinallyExpression tryCatch = (XTryCatchFinallyExpression) body.getExpressions().get(0);
XCatchClause singleCatchClause = tryCatch.getCatchClauses().get(0);
XtendFormalParameter parameter = (XtendFormalParameter) singleCatchClause.getDeclaredParam();
assertTrue(parameter.isExtension());
}
use of org.eclipse.xtext.xbase.XTryCatchFinallyExpression in project xtext-xtend by eclipse.
the class ParserTest method testMultiCatch_02.
@Test
public void testMultiCatch_02() throws Exception {
XtendClass clazz = clazz("class Foo { def void m() { try {} catch(extension NullPointerException | IllegalArgumentException | IllegalStateException e) {} } }");
assertEquals(1, clazz.getMembers().size());
XtendFunction m = (XtendFunction) clazz.getMembers().get(0);
XBlockExpression body = (XBlockExpression) m.getExpression();
assertEquals(1, body.getExpressions().size());
XTryCatchFinallyExpression tryCatch = (XTryCatchFinallyExpression) body.getExpressions().get(0);
XCatchClause singleCatchClause = tryCatch.getCatchClauses().get(0);
XtendFormalParameter parameter = (XtendFormalParameter) singleCatchClause.getDeclaredParam();
assertTrue(parameter.isExtension());
JvmSynonymTypeReference parameterType = (JvmSynonymTypeReference) parameter.getParameterType();
assertEquals(3, parameterType.getReferences().size());
}
use of org.eclipse.xtext.xbase.XTryCatchFinallyExpression in project xtext-xtend by eclipse.
the class LinkingErrorTest method testResourceNotVisibleInCatch.
@Test
public void testResourceNotVisibleInCatch() throws Exception {
XtendFunction function = function("def tryCatch() {\n" + " try(val a = []) {} catch(Exception e) a" + " }");
XTryCatchFinallyExpression tryCatch = (XTryCatchFinallyExpression) ((XBlockExpression) function.getExpression()).getExpressions().get(0);
XFeatureCall call = (XFeatureCall) tryCatch.getCatchClauses().get(0).getExpression();
JvmIdentifiableElement feature = call.getFeature();
assertTrue(feature.eIsProxy());
}
use of org.eclipse.xtext.xbase.XTryCatchFinallyExpression in project xtext-xtend by eclipse.
the class AbstractXtendSemanticSequencer method sequence.
@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
EPackage epackage = semanticObject.eClass().getEPackage();
ParserRule rule = context.getParserRule();
Action action = context.getAssignedAction();
Set<Parameter> parameters = context.getEnabledBooleanParameters();
if (epackage == TypesPackage.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case TypesPackage.JVM_GENERIC_ARRAY_TYPE_REFERENCE:
if (rule == grammarAccess.getMultiTypeReferenceRule() || action == grammarAccess.getMultiTypeReferenceAccess().getJvmSynonymTypeReferenceReferencesAction_1_0() || rule == grammarAccess.getJvmTypeReferenceRule() || action == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0() || rule == grammarAccess.getJvmArgumentTypeReferenceRule()) {
sequence_JvmTypeReference(context, (JvmGenericArrayTypeReference) semanticObject);
return;
} else if (rule == grammarAccess.getTypeReferenceWithTypeArgsRule()) {
sequence_TypeReferenceWithTypeArgs(context, (JvmGenericArrayTypeReference) semanticObject);
return;
} else if (action == grammarAccess.getTypeReferenceWithTypeArgsAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0()) {
sequence_TypeReferenceWithTypeArgs_JvmGenericArrayTypeReference_0_1_0_0(context, (JvmGenericArrayTypeReference) semanticObject);
return;
} else if (action == grammarAccess.getTypeReferenceWithTypeArgsAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_1_1_0_0()) {
sequence_TypeReferenceWithTypeArgs_JvmGenericArrayTypeReference_1_1_0_0(context, (JvmGenericArrayTypeReference) semanticObject);
return;
} else
break;
case TypesPackage.JVM_INNER_TYPE_REFERENCE:
if (rule == grammarAccess.getJvmSuperTypeReferenceRule() || rule == grammarAccess.getMultiTypeReferenceRule() || action == grammarAccess.getMultiTypeReferenceAccess().getJvmSynonymTypeReferenceReferencesAction_1_0() || rule == grammarAccess.getJvmTypeReferenceRule() || action == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0() || rule == grammarAccess.getJvmParameterizedTypeReferenceRule() || action == grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0() || rule == grammarAccess.getJvmArgumentTypeReferenceRule()) {
sequence_JvmParameterizedTypeReference(context, (JvmInnerTypeReference) semanticObject);
return;
} else if (rule == grammarAccess.getTypeReferenceWithTypeArgsRule() || action == grammarAccess.getTypeReferenceWithTypeArgsAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0() || rule == grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule() || action == grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()) {
sequence_ParameterizedTypeReferenceWithTypeArgs(context, (JvmInnerTypeReference) semanticObject);
return;
} else
break;
case TypesPackage.JVM_LOWER_BOUND:
if (rule == grammarAccess.getJvmLowerBoundAndedRule()) {
sequence_JvmLowerBoundAnded(context, (JvmLowerBound) semanticObject);
return;
} else if (rule == grammarAccess.getJvmLowerBoundRule()) {
sequence_JvmLowerBound(context, (JvmLowerBound) semanticObject);
return;
} else
break;
case TypesPackage.JVM_PARAMETERIZED_TYPE_REFERENCE:
if (action == grammarAccess.getJvmParameterizedTypeReferenceAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()) {
sequence_JvmParameterizedTypeReference_JvmInnerTypeReference_1_4_0_0_0(context, (JvmParameterizedTypeReference) semanticObject);
return;
} else if (rule == grammarAccess.getJvmSuperTypeReferenceRule() || rule == grammarAccess.getMultiTypeReferenceRule() || action == grammarAccess.getMultiTypeReferenceAccess().getJvmSynonymTypeReferenceReferencesAction_1_0() || rule == grammarAccess.getJvmTypeReferenceRule() || action == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0() || rule == grammarAccess.getJvmParameterizedTypeReferenceRule() || rule == grammarAccess.getJvmArgumentTypeReferenceRule()) {
sequence_JvmParameterizedTypeReference(context, (JvmParameterizedTypeReference) semanticObject);
return;
} else if (rule == grammarAccess.getTypeReferenceWithTypeArgsRule() || action == grammarAccess.getTypeReferenceWithTypeArgsAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0() || rule == grammarAccess.getParameterizedTypeReferenceWithTypeArgsRule() || action == grammarAccess.getParameterizedTypeReferenceWithTypeArgsAccess().getJvmInnerTypeReferenceOuterAction_1_4_0_0_0()) {
sequence_ParameterizedTypeReferenceWithTypeArgs(context, (JvmParameterizedTypeReference) semanticObject);
return;
} else if (rule == grammarAccess.getTypeReferenceNoTypeArgsRule() || action == grammarAccess.getTypeReferenceWithTypeArgsAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_1_1_0_0()) {
sequence_TypeReferenceNoTypeArgs(context, (JvmParameterizedTypeReference) semanticObject);
return;
} else
break;
case TypesPackage.JVM_SYNONYM_TYPE_REFERENCE:
sequence_MultiTypeReference(context, (JvmSynonymTypeReference) semanticObject);
return;
case TypesPackage.JVM_TYPE_PARAMETER:
sequence_JvmTypeParameter(context, (JvmTypeParameter) semanticObject);
return;
case TypesPackage.JVM_UPPER_BOUND:
if (rule == grammarAccess.getJvmUpperBoundAndedRule()) {
sequence_JvmUpperBoundAnded(context, (JvmUpperBound) semanticObject);
return;
} else if (rule == grammarAccess.getJvmUpperBoundRule()) {
sequence_JvmUpperBound(context, (JvmUpperBound) semanticObject);
return;
} else
break;
case TypesPackage.JVM_WILDCARD_TYPE_REFERENCE:
sequence_JvmWildcardTypeReference(context, (JvmWildcardTypeReference) semanticObject);
return;
}
else if (epackage == XAnnotationsPackage.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case XAnnotationsPackage.XANNOTATION:
sequence_XAnnotation(context, (XAnnotation) semanticObject);
return;
case XAnnotationsPackage.XANNOTATION_ELEMENT_VALUE_PAIR:
sequence_XAnnotationElementValuePair(context, (XAnnotationElementValuePair) semanticObject);
return;
}
else if (epackage == XbasePackage.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case XbasePackage.XASSIGNMENT:
sequence_XAssignment_XMemberFeatureCall(context, (XAssignment) semanticObject);
return;
case XbasePackage.XBASIC_FOR_LOOP_EXPRESSION:
sequence_XBasicForLoopExpression(context, (XBasicForLoopExpression) semanticObject);
return;
case XbasePackage.XBINARY_OPERATION:
sequence_XAdditiveExpression_XAndExpression_XAssignment_XEqualityExpression_XMultiplicativeExpression_XOrExpression_XOtherOperatorExpression_XRelationalExpression(context, (XBinaryOperation) semanticObject);
return;
case XbasePackage.XBLOCK_EXPRESSION:
if (rule == grammarAccess.getXAssignmentRule() || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() || rule == grammarAccess.getXConditionalExpressionRule() || action == grammarAccess.getXConditionalExpressionAccess().getXIfExpressionIfAction_1_0_0_0() || rule == grammarAccess.getXExpressionOrSimpleConstructorCallRule() || rule == grammarAccess.getRichStringPartRule() || rule == grammarAccess.getXAnnotationElementValueOrCommaListRule() || action == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() || rule == grammarAccess.getXAnnotationElementValueRule() || rule == grammarAccess.getXAnnotationOrExpressionRule() || rule == grammarAccess.getXExpressionRule() || rule == grammarAccess.getXOrExpressionRule() || action == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXAndExpressionRule() || action == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXEqualityExpressionRule() || action == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXRelationalExpressionRule() || action == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() || action == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() || rule == grammarAccess.getXOtherOperatorExpressionRule() || action == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXAdditiveExpressionRule() || action == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXMultiplicativeExpressionRule() || action == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXUnaryOperationRule() || rule == grammarAccess.getXCastedExpressionRule() || action == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() || rule == grammarAccess.getXPostfixOperationRule() || action == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() || rule == grammarAccess.getXMemberFeatureCallRule() || action == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() || action == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() || rule == grammarAccess.getXPrimaryExpressionRule() || rule == grammarAccess.getXParenthesizedExpressionRule() || rule == grammarAccess.getXBlockExpressionRule() || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) {
sequence_XBlockExpression(context, (XBlockExpression) semanticObject);
return;
} else if (rule == grammarAccess.getXExpressionInClosureRule()) {
sequence_XExpressionInClosure(context, (XBlockExpression) semanticObject);
return;
} else
break;
case XbasePackage.XBOOLEAN_LITERAL:
sequence_XBooleanLiteral(context, (XBooleanLiteral) semanticObject);
return;
case XbasePackage.XCASE_PART:
sequence_XCasePart(context, (XCasePart) semanticObject);
return;
case XbasePackage.XCASTED_EXPRESSION:
sequence_XCastedExpression(context, (XCastedExpression) semanticObject);
return;
case XbasePackage.XCATCH_CLAUSE:
sequence_XCatchClause(context, (XCatchClause) semanticObject);
return;
case XbasePackage.XCLOSURE:
if (rule == grammarAccess.getXAssignmentRule() || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() || rule == grammarAccess.getXConditionalExpressionRule() || action == grammarAccess.getXConditionalExpressionAccess().getXIfExpressionIfAction_1_0_0_0() || rule == grammarAccess.getXExpressionOrSimpleConstructorCallRule() || rule == grammarAccess.getRichStringPartRule() || rule == grammarAccess.getXAnnotationElementValueOrCommaListRule() || action == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() || rule == grammarAccess.getXAnnotationElementValueRule() || rule == grammarAccess.getXAnnotationOrExpressionRule() || rule == grammarAccess.getXExpressionRule() || rule == grammarAccess.getXOrExpressionRule() || action == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXAndExpressionRule() || action == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXEqualityExpressionRule() || action == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXRelationalExpressionRule() || action == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() || action == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() || rule == grammarAccess.getXOtherOperatorExpressionRule() || action == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXAdditiveExpressionRule() || action == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXMultiplicativeExpressionRule() || action == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXUnaryOperationRule() || rule == grammarAccess.getXCastedExpressionRule() || action == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() || rule == grammarAccess.getXPostfixOperationRule() || action == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() || rule == grammarAccess.getXMemberFeatureCallRule() || action == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() || action == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() || rule == grammarAccess.getXPrimaryExpressionRule() || rule == grammarAccess.getXLiteralRule() || rule == grammarAccess.getXClosureRule() || rule == grammarAccess.getXParenthesizedExpressionRule() || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) {
sequence_XClosure(context, (XClosure) semanticObject);
return;
} else if (rule == grammarAccess.getXShortClosureRule()) {
sequence_XShortClosure(context, (XClosure) semanticObject);
return;
} else
break;
case XbasePackage.XCONSTRUCTOR_CALL:
sequence_XbaseConstructorCall(context, (XConstructorCall) semanticObject);
return;
case XbasePackage.XDO_WHILE_EXPRESSION:
sequence_XDoWhileExpression(context, (XDoWhileExpression) semanticObject);
return;
case XbasePackage.XFEATURE_CALL:
sequence_XFeatureCall(context, (XFeatureCall) semanticObject);
return;
case XbasePackage.XFOR_LOOP_EXPRESSION:
sequence_XForLoopExpression(context, (XForLoopExpression) semanticObject);
return;
case XbasePackage.XIF_EXPRESSION:
if (rule == grammarAccess.getXAssignmentRule() || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() || rule == grammarAccess.getXConditionalExpressionRule() || action == grammarAccess.getXConditionalExpressionAccess().getXIfExpressionIfAction_1_0_0_0() || rule == grammarAccess.getXExpressionOrSimpleConstructorCallRule() || rule == grammarAccess.getRichStringPartRule() || rule == grammarAccess.getXAnnotationElementValueOrCommaListRule() || action == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() || rule == grammarAccess.getXAnnotationElementValueRule() || rule == grammarAccess.getXAnnotationOrExpressionRule() || rule == grammarAccess.getXExpressionRule() || rule == grammarAccess.getXOrExpressionRule() || action == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXAndExpressionRule() || action == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXEqualityExpressionRule() || action == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXRelationalExpressionRule() || action == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() || action == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() || rule == grammarAccess.getXOtherOperatorExpressionRule() || action == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXAdditiveExpressionRule() || action == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXMultiplicativeExpressionRule() || action == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXUnaryOperationRule() || rule == grammarAccess.getXCastedExpressionRule() || action == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() || rule == grammarAccess.getXPostfixOperationRule() || action == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() || rule == grammarAccess.getXMemberFeatureCallRule() || action == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() || action == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() || rule == grammarAccess.getXPrimaryExpressionRule() || rule == grammarAccess.getXParenthesizedExpressionRule() || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) {
sequence_XConditionalExpression_XIfExpression(context, (XIfExpression) semanticObject);
return;
} else if (rule == grammarAccess.getXIfExpressionRule()) {
sequence_XIfExpression(context, (XIfExpression) semanticObject);
return;
} else
break;
case XbasePackage.XINSTANCE_OF_EXPRESSION:
sequence_XRelationalExpression(context, (XInstanceOfExpression) semanticObject);
return;
case XbasePackage.XLIST_LITERAL:
if (rule == grammarAccess.getXAnnotationElementValueOrCommaListRule()) {
sequence_XAnnotationElementValueOrCommaList_XListLiteral(context, (XListLiteral) semanticObject);
return;
} else if (rule == grammarAccess.getXAnnotationElementValueRule()) {
sequence_XAnnotationElementValue_XListLiteral(context, (XListLiteral) semanticObject);
return;
} else if (rule == grammarAccess.getXAssignmentRule() || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() || rule == grammarAccess.getXConditionalExpressionRule() || action == grammarAccess.getXConditionalExpressionAccess().getXIfExpressionIfAction_1_0_0_0() || rule == grammarAccess.getXExpressionOrSimpleConstructorCallRule() || rule == grammarAccess.getRichStringPartRule() || action == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() || rule == grammarAccess.getXAnnotationOrExpressionRule() || rule == grammarAccess.getXExpressionRule() || rule == grammarAccess.getXOrExpressionRule() || action == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXAndExpressionRule() || action == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXEqualityExpressionRule() || action == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXRelationalExpressionRule() || action == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() || action == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() || rule == grammarAccess.getXOtherOperatorExpressionRule() || action == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXAdditiveExpressionRule() || action == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXMultiplicativeExpressionRule() || action == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXUnaryOperationRule() || rule == grammarAccess.getXCastedExpressionRule() || action == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() || rule == grammarAccess.getXPostfixOperationRule() || action == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() || rule == grammarAccess.getXMemberFeatureCallRule() || action == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() || action == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() || rule == grammarAccess.getXPrimaryExpressionRule() || rule == grammarAccess.getXLiteralRule() || rule == grammarAccess.getXCollectionLiteralRule() || rule == grammarAccess.getXListLiteralRule() || rule == grammarAccess.getXParenthesizedExpressionRule() || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) {
sequence_XListLiteral(context, (XListLiteral) semanticObject);
return;
} else
break;
case XbasePackage.XMEMBER_FEATURE_CALL:
sequence_XMemberFeatureCall(context, (XMemberFeatureCall) semanticObject);
return;
case XbasePackage.XNULL_LITERAL:
sequence_XNullLiteral(context, (XNullLiteral) semanticObject);
return;
case XbasePackage.XNUMBER_LITERAL:
sequence_XNumberLiteral(context, (XNumberLiteral) semanticObject);
return;
case XbasePackage.XPOSTFIX_OPERATION:
sequence_XPostfixOperation(context, (XPostfixOperation) semanticObject);
return;
case XbasePackage.XRETURN_EXPRESSION:
sequence_XReturnExpression(context, (XReturnExpression) semanticObject);
return;
case XbasePackage.XSET_LITERAL:
sequence_XSetLiteral(context, (XSetLiteral) semanticObject);
return;
case XbasePackage.XSTRING_LITERAL:
sequence_SimpleStringLiteral(context, (XStringLiteral) semanticObject);
return;
case XbasePackage.XSWITCH_EXPRESSION:
sequence_XSwitchExpression(context, (XSwitchExpression) semanticObject);
return;
case XbasePackage.XSYNCHRONIZED_EXPRESSION:
sequence_XSynchronizedExpression(context, (XSynchronizedExpression) semanticObject);
return;
case XbasePackage.XTHROW_EXPRESSION:
sequence_XThrowExpression(context, (XThrowExpression) semanticObject);
return;
case XbasePackage.XTRY_CATCH_FINALLY_EXPRESSION:
sequence_XTryCatchFinallyExpression(context, (XTryCatchFinallyExpression) semanticObject);
return;
case XbasePackage.XTYPE_LITERAL:
sequence_XTypeLiteral(context, (XTypeLiteral) semanticObject);
return;
case XbasePackage.XUNARY_OPERATION:
sequence_XUnaryOperation(context, (XUnaryOperation) semanticObject);
return;
case XbasePackage.XWHILE_EXPRESSION:
sequence_XWhileExpression(context, (XWhileExpression) semanticObject);
return;
}
else if (epackage == XtendPackage.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case XtendPackage.ANONYMOUS_CLASS:
sequence_XConstructorCall(context, (AnonymousClass) semanticObject);
return;
case XtendPackage.CREATE_EXTENSION_INFO:
sequence_CreateExtensionInfo(context, (CreateExtensionInfo) semanticObject);
return;
case XtendPackage.RICH_STRING:
if (rule == grammarAccess.getInternalRichStringRule()) {
sequence_InternalRichString(context, (RichString) semanticObject);
return;
} else if (rule == grammarAccess.getXAssignmentRule() || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() || rule == grammarAccess.getXConditionalExpressionRule() || action == grammarAccess.getXConditionalExpressionAccess().getXIfExpressionIfAction_1_0_0_0() || rule == grammarAccess.getXStringLiteralRule() || rule == grammarAccess.getXExpressionOrSimpleConstructorCallRule() || rule == grammarAccess.getRichStringRule() || rule == grammarAccess.getRichStringPartRule() || rule == grammarAccess.getXAnnotationElementValueOrCommaListRule() || action == grammarAccess.getXAnnotationElementValueOrCommaListAccess().getXListLiteralElementsAction_1_1_0() || rule == grammarAccess.getXAnnotationElementValueRule() || rule == grammarAccess.getXAnnotationOrExpressionRule() || rule == grammarAccess.getXExpressionRule() || rule == grammarAccess.getXOrExpressionRule() || action == grammarAccess.getXOrExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXAndExpressionRule() || action == grammarAccess.getXAndExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXEqualityExpressionRule() || action == grammarAccess.getXEqualityExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXRelationalExpressionRule() || action == grammarAccess.getXRelationalExpressionAccess().getXInstanceOfExpressionExpressionAction_1_0_0_0_0() || action == grammarAccess.getXRelationalExpressionAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() || rule == grammarAccess.getXOtherOperatorExpressionRule() || action == grammarAccess.getXOtherOperatorExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXAdditiveExpressionRule() || action == grammarAccess.getXAdditiveExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXMultiplicativeExpressionRule() || action == grammarAccess.getXMultiplicativeExpressionAccess().getXBinaryOperationLeftOperandAction_1_0_0_0() || rule == grammarAccess.getXUnaryOperationRule() || rule == grammarAccess.getXCastedExpressionRule() || action == grammarAccess.getXCastedExpressionAccess().getXCastedExpressionTargetAction_1_0_0_0() || rule == grammarAccess.getXPostfixOperationRule() || action == grammarAccess.getXPostfixOperationAccess().getXPostfixOperationOperandAction_1_0_0() || rule == grammarAccess.getXMemberFeatureCallRule() || action == grammarAccess.getXMemberFeatureCallAccess().getXAssignmentAssignableAction_1_0_0_0_0() || action == grammarAccess.getXMemberFeatureCallAccess().getXMemberFeatureCallMemberCallTargetAction_1_1_0_0_0() || rule == grammarAccess.getXPrimaryExpressionRule() || rule == grammarAccess.getXLiteralRule() || rule == grammarAccess.getXParenthesizedExpressionRule() || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) {
sequence_RichString(context, (RichString) semanticObject);
return;
} else
break;
case XtendPackage.RICH_STRING_ELSE_IF:
sequence_RichStringElseIf(context, (RichStringElseIf) semanticObject);
return;
case XtendPackage.RICH_STRING_FOR_LOOP:
sequence_RichStringForLoop(context, (RichStringForLoop) semanticObject);
return;
case XtendPackage.RICH_STRING_IF:
sequence_RichStringIf(context, (RichStringIf) semanticObject);
return;
case XtendPackage.RICH_STRING_LITERAL:
if (rule == grammarAccess.getRichStringLiteralEndRule()) {
sequence_RichStringLiteralEnd(context, (RichStringLiteral) semanticObject);
return;
} else if (rule == grammarAccess.getRichStringLiteralInbetweenRule()) {
sequence_RichStringLiteralInbetween(context, (RichStringLiteral) semanticObject);
return;
} else if (rule == grammarAccess.getRichStringLiteralStartRule()) {
sequence_RichStringLiteralStart(context, (RichStringLiteral) semanticObject);
return;
} else if (rule == grammarAccess.getRichStringLiteralRule()) {
sequence_RichStringLiteral(context, (RichStringLiteral) semanticObject);
return;
} else
break;
case XtendPackage.XTEND_ANNOTATION_TYPE:
if (rule == grammarAccess.getAnnotationFieldRule()) {
sequence_AnnotationField(context, (XtendAnnotationType) semanticObject);
return;
} else if (rule == grammarAccess.getMemberRule()) {
sequence_Member(context, (XtendAnnotationType) semanticObject);
return;
} else if (rule == grammarAccess.getTypeRule()) {
sequence_Type(context, (XtendAnnotationType) semanticObject);
return;
} else
break;
case XtendPackage.XTEND_CLASS:
if (rule == grammarAccess.getAnnotationFieldRule()) {
sequence_AnnotationField(context, (XtendClass) semanticObject);
return;
} else if (rule == grammarAccess.getMemberRule()) {
sequence_Member(context, (XtendClass) semanticObject);
return;
} else if (rule == grammarAccess.getTypeRule()) {
sequence_Type(context, (XtendClass) semanticObject);
return;
} else
break;
case XtendPackage.XTEND_CONSTRUCTOR:
sequence_Member(context, (XtendConstructor) semanticObject);
return;
case XtendPackage.XTEND_ENUM:
if (rule == grammarAccess.getAnnotationFieldRule()) {
sequence_AnnotationField(context, (XtendEnum) semanticObject);
return;
} else if (rule == grammarAccess.getMemberRule()) {
sequence_Member(context, (XtendEnum) semanticObject);
return;
} else if (rule == grammarAccess.getTypeRule()) {
sequence_Type(context, (XtendEnum) semanticObject);
return;
} else
break;
case XtendPackage.XTEND_ENUM_LITERAL:
sequence_XtendEnumLiteral(context, (XtendEnumLiteral) semanticObject);
return;
case XtendPackage.XTEND_FIELD:
if (rule == grammarAccess.getAnnotationFieldRule()) {
sequence_AnnotationField(context, (XtendField) semanticObject);
return;
} else if (rule == grammarAccess.getMemberRule()) {
sequence_Member(context, (XtendField) semanticObject);
return;
} else
break;
case XtendPackage.XTEND_FILE:
sequence_File(context, (XtendFile) semanticObject);
return;
case XtendPackage.XTEND_FORMAL_PARAMETER:
if (rule == grammarAccess.getFullJvmFormalParameterRule()) {
sequence_FullJvmFormalParameter(context, (XtendFormalParameter) semanticObject);
return;
} else if (rule == grammarAccess.getJvmFormalParameterRule()) {
sequence_JvmFormalParameter(context, (XtendFormalParameter) semanticObject);
return;
} else
break;
case XtendPackage.XTEND_FUNCTION:
sequence_Member(context, (XtendFunction) semanticObject);
return;
case XtendPackage.XTEND_INTERFACE:
if (rule == grammarAccess.getAnnotationFieldRule()) {
sequence_AnnotationField(context, (XtendInterface) semanticObject);
return;
} else if (rule == grammarAccess.getMemberRule()) {
sequence_Member(context, (XtendInterface) semanticObject);
return;
} else if (rule == grammarAccess.getTypeRule()) {
sequence_Type(context, (XtendInterface) semanticObject);
return;
} else
break;
case XtendPackage.XTEND_MEMBER:
if (action == grammarAccess.getAnnotationFieldAccess().getXtendFieldAnnotationInfoAction_2_0_0_0_0() || action == grammarAccess.getAnnotationFieldAccess().getXtendFieldAnnotationInfoAction_2_0_0_1_0() || action == grammarAccess.getAnnotationFieldAccess().getXtendClassAnnotationInfoAction_2_1_0() || action == grammarAccess.getAnnotationFieldAccess().getXtendInterfaceAnnotationInfoAction_2_2_0() || action == grammarAccess.getAnnotationFieldAccess().getXtendEnumAnnotationInfoAction_2_3_0() || action == grammarAccess.getAnnotationFieldAccess().getXtendAnnotationTypeAnnotationInfoAction_2_4_0()) {
sequence_AnnotationField_XtendAnnotationType_2_4_0_XtendClass_2_1_0_XtendEnum_2_3_0_XtendField_2_0_0_0_0_XtendField_2_0_0_1_0_XtendInterface_2_2_0(context, (XtendMember) semanticObject);
return;
} else if (action == grammarAccess.getMemberAccess().getXtendFieldAnnotationInfoAction_2_0_0() || action == grammarAccess.getMemberAccess().getXtendFunctionAnnotationInfoAction_2_1_0() || action == grammarAccess.getMemberAccess().getXtendConstructorAnnotationInfoAction_2_2_0() || action == grammarAccess.getMemberAccess().getXtendClassAnnotationInfoAction_2_3_0() || action == grammarAccess.getMemberAccess().getXtendInterfaceAnnotationInfoAction_2_4_0() || action == grammarAccess.getMemberAccess().getXtendEnumAnnotationInfoAction_2_5_0() || action == grammarAccess.getMemberAccess().getXtendAnnotationTypeAnnotationInfoAction_2_6_0()) {
sequence_Member_XtendAnnotationType_2_6_0_XtendClass_2_3_0_XtendConstructor_2_2_0_XtendEnum_2_5_0_XtendField_2_0_0_XtendFunction_2_1_0_XtendInterface_2_4_0(context, (XtendMember) semanticObject);
return;
} else
break;
case XtendPackage.XTEND_PARAMETER:
sequence_Parameter(context, (XtendParameter) semanticObject);
return;
case XtendPackage.XTEND_TYPE_DECLARATION:
sequence_Type_XtendAnnotationType_2_3_0_XtendClass_2_0_0_XtendEnum_2_2_0_XtendInterface_2_1_0(context, (XtendTypeDeclaration) semanticObject);
return;
case XtendPackage.XTEND_VARIABLE_DECLARATION:
if (rule == grammarAccess.getInitializedVariableDeclarationRule()) {
sequence_InitializedVariableDeclaration_VariableModifier(context, (XtendVariableDeclaration) semanticObject);
return;
} else if (rule == grammarAccess.getXVariableDeclarationRule() || rule == grammarAccess.getRichStringPartRule() || rule == grammarAccess.getXExpressionOrVarDeclarationRule()) {
sequence_VariableModifier_XVariableDeclaration(context, (XtendVariableDeclaration) semanticObject);
return;
} else
break;
}
else if (epackage == XtypePackage.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case XtypePackage.XFUNCTION_TYPE_REF:
if (rule == grammarAccess.getJvmSuperTypeReferenceRule() || rule == grammarAccess.getXFunctionSuperTypeRefRule()) {
sequence_XFunctionSuperTypeRef(context, (XFunctionTypeRef) semanticObject);
return;
} else if (rule == grammarAccess.getTypeReferenceWithTypeArgsRule() || rule == grammarAccess.getMultiTypeReferenceRule() || action == grammarAccess.getMultiTypeReferenceAccess().getJvmSynonymTypeReferenceReferencesAction_1_0() || rule == grammarAccess.getJvmTypeReferenceRule() || rule == grammarAccess.getXFunctionTypeRefRule() || rule == grammarAccess.getJvmArgumentTypeReferenceRule()) {
sequence_XFunctionTypeRef(context, (XFunctionTypeRef) semanticObject);
return;
} else
break;
case XtypePackage.XIMPORT_DECLARATION:
sequence_XImportDeclaration(context, (XImportDeclaration) semanticObject);
return;
case XtypePackage.XIMPORT_SECTION:
sequence_XImportSection(context, (XImportSection) semanticObject);
return;
}
if (errorAcceptor != null)
errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
Aggregations