public class XbaseHighlightingCalculator extends DefaultSemanticHighlightingCalculator
A base implementation of the semantic highlighting calculation.
Highlights references to Primitives
, e.g. void, int, boolean
and the identifier
this
.
Constructor and Description |
---|
XbaseHighlightingCalculator() |
Modifier and Type | Method and Description |
---|---|
protected void |
computeFeatureCallHighlighting(XAbstractFeatureCall featureCall,
IHighlightedPositionAcceptor acceptor) |
protected void |
computeReferencedJvmTypeHighlighting(IHighlightedPositionAcceptor acceptor,
org.eclipse.emf.ecore.EObject referencer) |
protected void |
doProvideHighlightingFor(XtextResource resource,
IHighlightedPositionAcceptor acceptor)
Actual implementation of the semantic highlighting calculation.
|
protected TerminalRule |
getIDRule() |
protected void |
highlightAnnotation(XAnnotation annotation,
IHighlightedPositionAcceptor acceptor) |
protected void |
highlightAnnotation(XAnnotation annotation,
IHighlightedPositionAcceptor acceptor,
java.lang.String highlightingConfiguration) |
protected void |
highlightDeprecation(IHighlightedPositionAcceptor acceptor,
org.eclipse.emf.ecore.EObject referencer,
org.eclipse.emf.ecore.EReference reference,
org.eclipse.emf.ecore.EObject resolvedReferencedObject) |
protected boolean |
highlightElement(org.eclipse.emf.ecore.EObject object,
IHighlightedPositionAcceptor acceptor) |
protected void |
highlightFeatureCall(XAbstractFeatureCall featureCall,
IHighlightedPositionAcceptor acceptor,
java.lang.String id) |
protected void |
highlightNode(INode node,
java.lang.String id,
IHighlightedPositionAcceptor acceptor)
|
protected void |
highlightNumberLiterals(XNumberLiteral literal,
IHighlightedPositionAcceptor acceptor) |
protected void |
highlightObjectAtFeature(IHighlightedPositionAcceptor acceptor,
org.eclipse.emf.ecore.EObject object,
org.eclipse.emf.ecore.EStructuralFeature feature,
java.lang.String id)
|
protected void |
highlightReferenceJvmType(IHighlightedPositionAcceptor acceptor,
org.eclipse.emf.ecore.EObject referencer,
org.eclipse.emf.ecore.EReference reference,
org.eclipse.emf.ecore.EObject resolvedReferencedObject) |
protected void |
highlightReferenceJvmType(IHighlightedPositionAcceptor acceptor,
org.eclipse.emf.ecore.EObject referencer,
org.eclipse.emf.ecore.EReference reference,
org.eclipse.emf.ecore.EObject resolvedReferencedObject,
java.lang.String highlightingConfiguration) |
protected void |
highlightSpecialIdentifiers(IHighlightedPositionAcceptor acceptor,
ICompositeNode root) |
protected void |
highlightSpecialIdentifiers(ILeafNode leafNode,
IHighlightedPositionAcceptor acceptor,
TerminalRule idRule) |
protected java.util.Map<java.lang.String,java.lang.String> |
initializeHighlightedIdentifiers()
Returns a mapping from identifier (e.g.
|
void |
provideHighlightingFor(XtextResource resource,
IHighlightedPositionAcceptor acceptor) |
highlightElementRecursively, highlightFeature, highlightNode, highlightTasks, searchAndHighlightElements
public void provideHighlightingFor(XtextResource resource, IHighlightedPositionAcceptor acceptor)
provideHighlightingFor
in interface ISemanticHighlightingCalculator
provideHighlightingFor
in class DefaultSemanticHighlightingCalculator
resource
- the resource that will be highlighted. May be null
in some rare cases.acceptor
- used to announce the mapping from text-range to the style's id. The acceptor will never be null
.protected void doProvideHighlightingFor(XtextResource resource, IHighlightedPositionAcceptor acceptor)
DefaultSemanticHighlightingCalculator
Actual implementation of the semantic highlighting calculation. It is ensured, that the given resource is not
null
and refers to an initialized parse result.
By default this will visit the elements in the resource recursively and call
DefaultSemanticHighlightingCalculator.highlightElement(EObject, IHighlightedPositionAcceptor)
for each of them. As the last step, tasks will
be highlighted.
Clients can override this method if the default recursive approach does not fit their use case
doProvideHighlightingFor
in class DefaultSemanticHighlightingCalculator
resource
- a valid to-be-processed resource. Is never null
.acceptor
- the acceptor. Is never null
.protected boolean highlightElement(org.eclipse.emf.ecore.EObject object, IHighlightedPositionAcceptor acceptor)
highlightElement
in class DefaultSemanticHighlightingCalculator
protected void computeReferencedJvmTypeHighlighting(IHighlightedPositionAcceptor acceptor, org.eclipse.emf.ecore.EObject referencer)
protected void highlightReferenceJvmType(IHighlightedPositionAcceptor acceptor, org.eclipse.emf.ecore.EObject referencer, org.eclipse.emf.ecore.EReference reference, org.eclipse.emf.ecore.EObject resolvedReferencedObject)
protected void highlightReferenceJvmType(IHighlightedPositionAcceptor acceptor, org.eclipse.emf.ecore.EObject referencer, org.eclipse.emf.ecore.EReference reference, org.eclipse.emf.ecore.EObject resolvedReferencedObject, java.lang.String highlightingConfiguration)
protected void highlightDeprecation(IHighlightedPositionAcceptor acceptor, org.eclipse.emf.ecore.EObject referencer, org.eclipse.emf.ecore.EReference reference, org.eclipse.emf.ecore.EObject resolvedReferencedObject)
protected void computeFeatureCallHighlighting(XAbstractFeatureCall featureCall, IHighlightedPositionAcceptor acceptor)
protected void highlightFeatureCall(XAbstractFeatureCall featureCall, IHighlightedPositionAcceptor acceptor, java.lang.String id)
protected void highlightAnnotation(XAnnotation annotation, IHighlightedPositionAcceptor acceptor)
protected void highlightAnnotation(XAnnotation annotation, IHighlightedPositionAcceptor acceptor, java.lang.String highlightingConfiguration)
protected void highlightNumberLiterals(XNumberLiteral literal, IHighlightedPositionAcceptor acceptor)
protected void highlightSpecialIdentifiers(IHighlightedPositionAcceptor acceptor, ICompositeNode root)
protected TerminalRule getIDRule()
protected void highlightSpecialIdentifiers(ILeafNode leafNode, IHighlightedPositionAcceptor acceptor, TerminalRule idRule)
protected java.util.Map<java.lang.String,java.lang.String> initializeHighlightedIdentifiers()
null
.@Deprecated protected void highlightObjectAtFeature(IHighlightedPositionAcceptor acceptor, org.eclipse.emf.ecore.EObject object, org.eclipse.emf.ecore.EStructuralFeature feature, java.lang.String id)
DefaultSemanticHighlightingCalculator.highlightFeature(IHighlightedPositionAcceptor, EObject, EStructuralFeature, String...)
EStructuralFeature
@Deprecated protected void highlightNode(INode node, java.lang.String id, IHighlightedPositionAcceptor acceptor)
DefaultSemanticHighlightingCalculator.highlightNode(IHighlightedPositionAcceptor, INode, String...)
node
with the style that is associated with id
.