use of org.eclipse.xtext.xtype.XImportDeclaration in project xtext-extras by eclipse.
the class XbaseHighlightingCalculator method highlightReferenceJvmType.
/**
* @deprecated override {@link #highlightReferenceJvmType(IHighlightedPositionAcceptor, EObject, EReference, EObject)}
* or {@link #highlightFeature(IHighlightedPositionAcceptor, EObject, org.eclipse.emf.ecore.EStructuralFeature, String...)}
* in order to customize the coloring of references of {@link JvmType JvmTypes}.
*/
@Deprecated
protected void highlightReferenceJvmType(IHighlightedPositionAcceptor acceptor, EObject referencer, EReference reference, EObject resolvedReferencedObject, String highlightingConfiguration) {
highlightDeprecation(acceptor, referencer, reference, resolvedReferencedObject);
final Object referencersContainingFeature = referencer.eContainingFeature();
if (resolvedReferencedObject instanceof JvmTypeParameter) {
// may happen in cast expressions
highlightFeature(acceptor, referencer, reference, TYPE_VARIABLE);
} else if (referencer instanceof JvmParameterizedTypeReference && (referencersContainingFeature == TypesPackage.Literals.JVM_PARAMETERIZED_TYPE_REFERENCE__ARGUMENTS || referencersContainingFeature == TypesPackage.Literals.JVM_TYPE_CONSTRAINT__TYPE_REFERENCE || referencersContainingFeature == XbasePackage.Literals.XABSTRACT_FEATURE_CALL__TYPE_ARGUMENTS || referencersContainingFeature == XbasePackage.Literals.XCONSTRUCTOR_CALL__TYPE_ARGUMENTS)) {
if (resolvedReferencedObject instanceof JvmEnumerationType) {
highlightFeature(acceptor, referencer, TypesPackage.Literals.JVM_PARAMETERIZED_TYPE_REFERENCE__TYPE, ENUM);
} else if (resolvedReferencedObject instanceof JvmGenericType) {
highlightFeature(acceptor, referencer, TypesPackage.Literals.JVM_PARAMETERIZED_TYPE_REFERENCE__TYPE, getStyle((JvmGenericType) resolvedReferencedObject));
} else if (resolvedReferencedObject instanceof JvmAnnotationType) {
highlightFeature(acceptor, referencer, TypesPackage.Literals.JVM_PARAMETERIZED_TYPE_REFERENCE__TYPE, highlightingConfiguration);
}
highlightFeature(acceptor, referencer, TypesPackage.Literals.JVM_PARAMETERIZED_TYPE_REFERENCE__TYPE, TYPE_ARGUMENT);
} else if (resolvedReferencedObject instanceof JvmDeclaredType) {
if (referencer instanceof XImportDeclaration) {
// don't highlight import statements
return;
} else if (resolvedReferencedObject instanceof JvmEnumerationType) {
highlightFeature(acceptor, referencer, reference, ENUM);
} else if (resolvedReferencedObject instanceof JvmGenericType) {
highlightFeature(acceptor, referencer, reference, getStyle((JvmGenericType) resolvedReferencedObject));
} else if (resolvedReferencedObject instanceof JvmAnnotationType) {
highlightFeature(acceptor, referencer, reference, highlightingConfiguration);
}
}
}
use of org.eclipse.xtext.xtype.XImportDeclaration in project xtext-extras by eclipse.
the class AbstractXbaseSemanticSequencer 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_FORMAL_PARAMETER:
if (rule == grammarAccess.getFullJvmFormalParameterRule()) {
sequence_FullJvmFormalParameter(context, (JvmFormalParameter) semanticObject);
return;
} else if (rule == grammarAccess.getJvmFormalParameterRule()) {
sequence_JvmFormalParameter(context, (JvmFormalParameter) semanticObject);
return;
} else
break;
case TypesPackage.JVM_GENERIC_ARRAY_TYPE_REFERENCE:
sequence_JvmTypeReference(context, (JvmGenericArrayTypeReference) semanticObject);
return;
case TypesPackage.JVM_INNER_TYPE_REFERENCE:
sequence_JvmParameterizedTypeReference(context, (JvmInnerTypeReference) semanticObject);
return;
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.getJvmTypeReferenceRule() || action == grammarAccess.getJvmTypeReferenceAccess().getJvmGenericArrayTypeReferenceComponentTypeAction_0_1_0_0() || rule == grammarAccess.getJvmParameterizedTypeReferenceRule() || rule == grammarAccess.getJvmArgumentTypeReferenceRule()) {
sequence_JvmParameterizedTypeReference(context, (JvmParameterizedTypeReference) semanticObject);
return;
} else
break;
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 == 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.getXExpressionRule() || rule == grammarAccess.getXAssignmentRule() || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() || 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.getXExpressionRule() || rule == grammarAccess.getXAssignmentRule() || action == grammarAccess.getXAssignmentAccess().getXBinaryOperationLeftOperandAction_1_1_0_0_0() || 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_XConstructorCall(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:
sequence_XIfExpression(context, (XIfExpression) semanticObject);
return;
case XbasePackage.XINSTANCE_OF_EXPRESSION:
sequence_XRelationalExpression(context, (XInstanceOfExpression) semanticObject);
return;
case XbasePackage.XLIST_LITERAL:
sequence_XListLiteral(context, (XListLiteral) semanticObject);
return;
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_XStringLiteral(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.XVARIABLE_DECLARATION:
sequence_XVariableDeclaration(context, (XVariableDeclaration) semanticObject);
return;
case XbasePackage.XWHILE_EXPRESSION:
sequence_XWhileExpression(context, (XWhileExpression) semanticObject);
return;
}
else if (epackage == XtypePackage.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case XtypePackage.XFUNCTION_TYPE_REF:
sequence_XFunctionTypeRef(context, (XFunctionTypeRef) semanticObject);
return;
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));
}
use of org.eclipse.xtext.xtype.XImportDeclaration in project xtext-extras by eclipse.
the class RewritableImportSection method rewrite.
public List<ReplaceRegion> rewrite() {
removeObsoleteStaticImports();
final List<ReplaceRegion> replaceRegions = newArrayList();
if (isSort) {
List<XImportDeclaration> allImportDeclarations = newArrayList();
allImportDeclarations.addAll(originalImportDeclarations);
allImportDeclarations.addAll(addedImportDeclarations);
allImportDeclarations.removeAll(removedImportDeclarations);
String newImportSection = serializeImports(allImportDeclarations);
importRegion = regionUtil.addLeadingWhitespace(importRegion, resource);
importRegion = regionUtil.addTrailingWhitespace(importRegion, resource);
return singletonList(new ReplaceRegion(importRegion, newImportSection));
} else {
for (XImportDeclaration removedImportDeclaration : removedImportDeclarations) {
ICompositeNode node = NodeModelUtils.findActualNodeFor(removedImportDeclaration);
if (node != null) {
ITextRegion textRegion = node.getTextRegion();
textRegion = regionUtil.addTrailingSingleWhitespace(textRegion, lineSeparator, resource);
replaceRegions.add(new ReplaceRegion(textRegion, ""));
}
}
addSectionToAppend(new IAcceptor<ReplaceRegion>() {
@Override
public void accept(ReplaceRegion t) {
replaceRegions.add(t);
}
});
}
return replaceRegions;
}
use of org.eclipse.xtext.xtype.XImportDeclaration in project xtext-extras by eclipse.
the class RewritableImportSection method createImport.
protected XImportDeclaration createImport(String importedNamespace, final String member) {
XImportDeclaration importDeclaration = XtypeFactory.eINSTANCE.createXImportDeclaration();
importDeclaration.setImportedNamespace(importedNamespace);
if (member != null) {
importDeclaration.setMemberName(member);
}
return importDeclaration;
}
use of org.eclipse.xtext.xtype.XImportDeclaration in project xtext-extras by eclipse.
the class RewritableImportSection method addStaticExtensionImport.
public boolean addStaticExtensionImport(JvmDeclaredType type, String memberName) {
if (hasStaticImport(staticExtensionImports, type, memberName)) {
return false;
}
Maps2.putIntoSetMap(type, memberName, staticExtensionImports);
XImportDeclaration importDeclaration = XtypeFactory.eINSTANCE.createXImportDeclaration();
importDeclaration.setImportedType(type);
importDeclaration.setStatic(true);
importDeclaration.setExtension(true);
if (memberName == null) {
importDeclaration.setWildcard(true);
} else {
importDeclaration.setMemberName(memberName);
}
addedImportDeclarations.add(importDeclaration);
return true;
}
Aggregations