Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java')
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java
index 3960e7bf699..26bde9bf361 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java
@@ -24,9 +24,9 @@ import org.eclipse.cdt.core.parser.ast.IASTFactory;
import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification;
import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
import org.eclipse.cdt.core.parser.ast.IASTScope;
+import org.eclipse.cdt.core.parser.ast.IASTUsingDeclaration;
import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
import org.eclipse.cdt.internal.core.model.Util;
-import org.eclipse.cdt.internal.core.parser.ast.full.IASTFScope;
/**
* This is our first implementation of the IParser interface, serving as a parser for
@@ -312,10 +312,11 @@ c, quickParse);
consume( Token.t_typename );
}
+ TokenDuple name = null;
if( LT(1) == Token.tIDENTIFIER || LT(1) == Token.tCOLONCOLON )
{
// optional :: and nested classes handled in name
- name();
+ name = name();
try{ callback.usingDeclarationMapping( usingDeclaration, typeName ); } catch( Exception e ) {}
}
else
@@ -327,7 +328,11 @@ c, quickParse);
if( LT(1) == Token.tSEMI )
{
consume( Token.tSEMI );
+
try{ callback.usingDeclarationEnd( usingDeclaration );} catch( Exception e ) {}
+
+ IASTUsingDeclaration declaration = astFactory.createUsingDeclaration( scope, typeName, name );
+ requestor.acceptUsingDeclaration(declaration);
}
else
{

Back to the top