From 1d46897ad0353a806b0497c27847f81bfee30e97 Mon Sep 17 00:00:00 2001 From: Nathan Ridge Date: Sat, 16 Jan 2016 21:38:19 -0500 Subject: [PATCH] Bug 485709 - Syntax coloring of qualified enumeration Change-Id: I33c8edc024fbb23c16e9328a15ddec05eabd6124 Signed-off-by: Nathan Ridge --- .../cdt/ui/tests/text/SemanticHighlightingTest.java | 13 +++++++++++++ .../internal/ui/editor/SemanticHighlightings.java | 3 +++ 2 files changed, 16 insertions(+) diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/SemanticHighlightingTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/SemanticHighlightingTest.java index 3eea0fee200..a54d8d3ae1d 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/SemanticHighlightingTest.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/SemanticHighlightingTest.java @@ -462,4 +462,17 @@ public class SemanticHighlightingTest extends TestCase { public void testAliasTemplates_416748() throws Exception { makeAssertions(); } + + // namespace N { //$namespace + // class C { //$class + // enum E1 {}; //$enum + // }; + // C::E1 e1; //$class,enum,globalVariable + // enum E2 {}; //$enum + // } + // N::C::E1 e1; //$namespace,class,enum,globalVariable + // N::E2 e2; //$namespace,enum,globalVariable + public void testQualifiedEnum_XXXXXX() throws Exception { + makeAssertions(); + } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightings.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightings.java index 43131ab1ca9..09797cce369 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightings.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightings.java @@ -998,6 +998,9 @@ public class SemanticHighlightings { public boolean consumes(ISemanticToken token) { IASTNode node= token.getNode(); if (node instanceof IASTName) { + if (node instanceof ICPPASTQualifiedName) { + return false; + } IBinding binding= token.getBinding(); if (binding instanceof IEnumeration) { return true;