diff options
author | Mike Kucera | 2008-03-24 18:51:29 +0000 |
---|---|---|
committer | Mike Kucera | 2008-03-24 18:51:29 +0000 |
commit | 2e3fbf6c23755e395ff5ba843f9e1b35279ab32e (patch) | |
tree | 905f6d2fc24c1c8999fabba210c7c4045849e3db /lrparser | |
parent | 8d37ffe0608d00f84191d229b9d4030e641f347f (diff) | |
download | org.eclipse.cdt-2e3fbf6c23755e395ff5ba843f9e1b35279ab32e.tar.gz org.eclipse.cdt-2e3fbf6c23755e395ff5ba843f9e1b35279ab32e.tar.xz org.eclipse.cdt-2e3fbf6c23755e395ff5ba843f9e1b35279ab32e.zip |
decl spec node was missing info
Diffstat (limited to 'lrparser')
4 files changed, 25 insertions, 28 deletions
diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java index c683472099b..9c256a42df0 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/c99/C99BuildASTParserAction.java @@ -133,19 +133,16 @@ public class C99BuildASTParserAction extends BuildASTParserAction { @Override protected IParser getExpressionStatementParser() { - DebugUtil.printMethodTrace(); return new C99ExpressionStatementParser(parser.getOrderedTerminalSymbols()); } @Override protected IParser getNoCastExpressionParser() { - DebugUtil.printMethodTrace(); return new C99NoCastExpressionParser(parser.getOrderedTerminalSymbols()); } @Override protected IParser getSizeofExpressionParser() { - DebugUtil.printMethodTrace(); return new C99SizeofExpressionParser(parser.getOrderedTerminalSymbols()); } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPASTNodeFactory.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPASTNodeFactory.java index 93331543d22..8299843e6c9 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPASTNodeFactory.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPASTNodeFactory.java @@ -379,7 +379,7 @@ public class CPPASTNodeFactory implements ICPPASTNodeFactory { } public IASTSimpleDeclaration newSimpleDeclaration(IASTDeclSpecifier declSpecifier) { - return new ISOCPPASTSimpleDeclaration(declSpecifier); + return new CPPASTSimpleDeclaration(declSpecifier); } public IASTInitializerExpression newInitializerExpression(IASTExpression expression) { @@ -403,8 +403,7 @@ public class CPPASTNodeFactory implements ICPPASTNodeFactory { return new CPPASTFunctionDeclarator(name); } - public ICPPASTSimpleTypeConstructorExpression newCPPSimpleTypeConstructorExpression( - int type, IASTExpression expression) { + public ICPPASTSimpleTypeConstructorExpression newCPPSimpleTypeConstructorExpression(int type, IASTExpression expression) { return new CPPASTSimpleTypeConstructorExpression(type, expression); } @@ -516,8 +515,7 @@ public class CPPASTNodeFactory implements ICPPASTNodeFactory { return new CPPASTFunctionDeclarator(name); } - public IASTParameterDeclaration newParameterDeclaration( - IASTDeclSpecifier declSpec, IASTDeclarator declarator) { + public IASTParameterDeclaration newParameterDeclaration(IASTDeclSpecifier declSpec, IASTDeclarator declarator) { return new CPPASTParameterDeclaration(declSpec, declarator); } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java index d5035c25694..3f70f92677a 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/CPPBuildASTParserAction.java @@ -55,6 +55,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConstructorChainInitializer; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConstructorInitializer; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConversionName; +import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTDeclSpecifier; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTDeleteExpression; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTElaboratedTypeSpecifier; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTExplicitTemplateInstantiation; @@ -965,29 +966,37 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { //TODO int kind = asC99Kind(token) int kind = token.getKind(); switch(kind){ - case TK_typedef: node.setStorageClass(IASTDeclSpecifier.sc_typedef); return; - case TK_extern: node.setStorageClass(IASTDeclSpecifier.sc_extern); return; - case TK_static: node.setStorageClass(IASTDeclSpecifier.sc_static); return; - case TK_auto: node.setStorageClass(IASTDeclSpecifier.sc_auto); return; - case TK_register: node.setStorageClass(IASTDeclSpecifier.sc_register); return; + case TK_typedef: node.setStorageClass(IASTDeclSpecifier.sc_typedef); return; + case TK_extern: node.setStorageClass(IASTDeclSpecifier.sc_extern); return; + case TK_static: node.setStorageClass(IASTDeclSpecifier.sc_static); return; + case TK_auto: node.setStorageClass(IASTDeclSpecifier.sc_auto); return; + case TK_register: node.setStorageClass(IASTDeclSpecifier.sc_register); return; + case TK_mutable: node.setStorageClass(ICPPASTDeclSpecifier.sc_mutable); return; + case TK_inline: node.setInline(true); return; case TK_const: node.setConst(true); return; case TK_volatile: node.setVolatile(true); return; } - // TODO: this isn't finished if(node instanceof ICPPASTSimpleDeclSpecifier) { ICPPASTSimpleDeclSpecifier n = (ICPPASTSimpleDeclSpecifier) node; switch(kind) { - case TK_void: n.setType(IASTSimpleDeclSpecifier.t_void); break; - case TK_char: n.setType(IASTSimpleDeclSpecifier.t_char); break; - case TK_int: n.setType(IASTSimpleDeclSpecifier.t_int); break; - case TK_float: n.setType(IASTSimpleDeclSpecifier.t_float); break; - case TK_double: n.setType(IASTSimpleDeclSpecifier.t_double); break; + case TK_void: n.setType(IASTSimpleDeclSpecifier.t_void); break; + case TK_char: n.setType(IASTSimpleDeclSpecifier.t_char); break; + case TK_int: n.setType(IASTSimpleDeclSpecifier.t_int); break; + case TK_float: n.setType(IASTSimpleDeclSpecifier.t_float); break; + case TK_double: n.setType(IASTSimpleDeclSpecifier.t_double); break; + case TK_bool: n.setType(ICPPASTSimpleDeclSpecifier.t_bool); break; + case TK_wchar_t: n.setType(ICPPASTSimpleDeclSpecifier.t_wchar_t); break; + case TK_signed: n.setSigned(true); break; case TK_unsigned: n.setUnsigned(true); break; case TK_long: n.setLong(true); break; case TK_short: n.setShort(true); break; + case TK_friend: n.setFriend(true); break; + case TK_virtual: n.setVirtual(true); break; + case TK_volatile: n.setVolatile(true); break; + case TK_explicit: n.setExplicit(true); break; } } } @@ -1146,7 +1155,7 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { public void consumeInitDeclaratorComplete() { - DebugUtil.printMethodTrace(); + if(TRACE_ACTIONS) DebugUtil.printMethodTrace(); IASTDeclarator declarator = (IASTDeclarator) astStack.peek(); if(!(declarator instanceof IASTFunctionDeclarator)) @@ -1158,20 +1167,12 @@ public class CPPBuildASTParserAction extends BuildASTParserAction { if(alternateDeclarator == null || alternateDeclarator instanceof IASTProblemDeclaration) return; - astStack.pop(); IASTNode ambiguityNode = new CPPASTAmbiguousDeclarator(declarator, (IASTDeclarator)alternateDeclarator); - - System.out.println("AMBIGUOUS DECLARATOR!"); -// ASTPrinter.print(declarator); -// System.out.println(); -// ASTPrinter.print(alternateDeclarator); -// System.out.println(); setOffsetAndLength(ambiguityNode); astStack.push(ambiguityNode); - if(TRACE_AST_STACK) System.out.println(astStack); } diff --git a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ISOCPPASTSimpleDeclaration.java b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ISOCPPASTSimpleDeclaration.java index 5d9427dbe6f..cb7cffe8c12 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ISOCPPASTSimpleDeclaration.java +++ b/lrparser/org.eclipse.cdt.core.lrparser/src/org/eclipse/cdt/core/dom/lrparser/action/cpp/ISOCPPASTSimpleDeclaration.java @@ -11,6 +11,7 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTSimpleDeclaration; * @author Mike Kucera * */ +@Deprecated public class ISOCPPASTSimpleDeclaration extends CPPASTSimpleDeclaration implements IASTAmbiguityParent { public ISOCPPASTSimpleDeclaration() { |