diff options
author | Mike Kucera | 2008-12-04 15:13:40 +0000 |
---|---|---|
committer | Mike Kucera | 2008-12-04 15:13:40 +0000 |
commit | 9c1746c42ab2393fc7def9868ee24d3eb1cfdb59 (patch) | |
tree | 208cbc4d89fcb25933b7eaa37bf039ef3f409fd2 /upc | |
parent | d10ad69f49b67149050288da698b21172a19640b (diff) | |
download | org.eclipse.cdt-9c1746c42ab2393fc7def9868ee24d3eb1cfdb59.tar.gz org.eclipse.cdt-9c1746c42ab2393fc7def9868ee24d3eb1cfdb59.tar.xz org.eclipse.cdt-9c1746c42ab2393fc7def9868ee24d3eb1cfdb59.zip |
bug 256125 - Introduce factories for AST nodes. Freeze the AST returned by the parser.
Diffstat (limited to 'upc')
7 files changed, 26 insertions, 14 deletions
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCASTNodeFactory.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCASTNodeFactory.java index 5b7f3c54c15..ee0a3f3039c 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCASTNodeFactory.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/parser/upc/UPCASTNodeFactory.java @@ -21,10 +21,15 @@ import org.eclipse.cdt.core.dom.ast.c.ICASTElaboratedTypeSpecifier; import org.eclipse.cdt.core.dom.ast.c.ICASTEnumerationSpecifier; import org.eclipse.cdt.core.dom.ast.c.ICASTSimpleDeclSpecifier; import org.eclipse.cdt.core.dom.ast.c.ICASTTypedefNameSpecifier; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99ASTNodeFactory; +import org.eclipse.cdt.core.dom.upc.ast.IUPCASTCompositeTypeSpecifier; +import org.eclipse.cdt.core.dom.upc.ast.IUPCASTElaboratedTypeSpecifier; +import org.eclipse.cdt.core.dom.upc.ast.IUPCASTEnumerationSpecifier; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTForallStatement; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; +import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSimpleDeclSpecifier; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; +import org.eclipse.cdt.core.dom.upc.ast.IUPCASTTypedefNameSpecifier; +import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTCompositeTypeSpecifier; import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTElaboratedTypeSpecifier; import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTEnumerationSpecifier; @@ -45,7 +50,8 @@ import org.eclipse.cdt.internal.core.dom.parser.upc.ast.UPCASTUnarySizeofExpress * declaration specifiers. These UPC specific nodes add support * for 'strict', 'relaxed' and 'shared'. */ -public class UPCASTNodeFactory extends C99ASTNodeFactory { +@SuppressWarnings("restriction") +public class UPCASTNodeFactory extends CNodeFactory { public static final UPCASTNodeFactory DEFAULT_INSTANCE = new UPCASTNodeFactory(); @@ -101,28 +107,28 @@ public class UPCASTNodeFactory extends C99ASTNodeFactory { * Override to return UPC version of decl specifier. */ @Override - public ICASTSimpleDeclSpecifier newCSimpleDeclSpecifier() { + public IUPCASTSimpleDeclSpecifier newSimpleDeclSpecifier() { return new UPCASTSimpleDeclSpecifier(); } @Override - public ICASTCompositeTypeSpecifier newCCompositeTypeSpecifier(int key, IASTName name) { + public IUPCASTCompositeTypeSpecifier newCompositeTypeSpecifier(int key, IASTName name) { return new UPCASTCompositeTypeSpecifier(key, name); } @Override - public ICASTElaboratedTypeSpecifier newElaboratedTypeSpecifier(int kind, IASTName name) { + public IUPCASTElaboratedTypeSpecifier newElaboratedTypeSpecifier(int kind, IASTName name) { return new UPCASTElaboratedTypeSpecifier(kind, name); } @Override - public ICASTEnumerationSpecifier newEnumerationSpecifier(IASTName name) { + public IUPCASTEnumerationSpecifier newEnumerationSpecifier(IASTName name) { return new UPCASTEnumerationSpecifier(name); } @Override - public ICASTTypedefNameSpecifier newCTypedefNameSpecifier() { - return new UPCASTTypedefNameSpecifier(); + public IUPCASTTypedefNameSpecifier newTypedefNameSpecifier(IASTName name) { + return new UPCASTTypedefNameSpecifier(name); } } diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java index 90fd09b0470..01ce11c287f 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/core/dom/upc/UPCLanguage.java @@ -16,7 +16,6 @@ import org.eclipse.cdt.core.dom.lrparser.BaseExtensibleLanguage; import org.eclipse.cdt.core.dom.lrparser.IDOMTokenMap; import org.eclipse.cdt.core.dom.lrparser.IParser; import org.eclipse.cdt.core.dom.lrparser.ScannerExtensionConfiguration; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99ASTNodeFactory; import org.eclipse.cdt.core.dom.parser.IScannerExtensionConfiguration; import org.eclipse.cdt.core.dom.parser.upc.DOMToUPCTokenMap; import org.eclipse.cdt.core.dom.parser.upc.UPCKeyword; @@ -25,6 +24,7 @@ import org.eclipse.cdt.core.model.IContributedModelBuilder; import org.eclipse.cdt.core.model.ITranslationUnit; import org.eclipse.cdt.core.parser.IScanner; import org.eclipse.cdt.core.parser.ParserLanguage; +import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; import org.eclipse.cdt.internal.core.dom.parser.c.CASTTranslationUnit; import org.eclipse.cdt.internal.core.dom.parser.upc.UPCParser; @@ -92,7 +92,7 @@ public class UPCLanguage extends BaseExtensibleLanguage { */ @Override protected IASTTranslationUnit createASTTranslationUnit(IIndex index, IScanner preprocessor) { - IASTTranslationUnit tu = C99ASTNodeFactory.DEFAULT_INSTANCE.newTranslationUnit(); + IASTTranslationUnit tu = CNodeFactory.getDefault().newTranslationUnit(); tu.setIndex(index); if(tu instanceof CASTTranslationUnit) { ((CASTTranslationUnit)tu).setLocationResolver(preprocessor.getLocationResolver()); diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java index 414f4b808ca..974d33b2455 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java @@ -24,7 +24,6 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99ASTNodeFactory; import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory; @@ -33,6 +32,7 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; +import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; public class UPCExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser { diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java index db15600741c..2246467b429 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java @@ -24,7 +24,6 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99ASTNodeFactory; import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory; @@ -33,6 +32,7 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; +import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; public class UPCNoCastExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser { diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java index c3ec37202a3..7e0ebad6e12 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java @@ -24,7 +24,6 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99ASTNodeFactory; import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory; @@ -33,6 +32,7 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; +import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; public class UPCParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser { diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java index 9440f5a5b62..c986a62f790 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java @@ -24,7 +24,6 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; -import org.eclipse.cdt.core.dom.lrparser.action.c99.C99ASTNodeFactory; import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory; @@ -33,6 +32,7 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; +import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; public class UPCSizeofExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser { diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypedefNameSpecifier.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypedefNameSpecifier.java index d50615945f6..b244e14176f 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypedefNameSpecifier.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/ast/UPCASTTypedefNameSpecifier.java @@ -28,6 +28,12 @@ public class UPCASTTypedefNameSpecifier extends CASTTypedefNameSpecifier public UPCASTTypedefNameSpecifier() { } + + + + public UPCASTTypedefNameSpecifier(IASTName name) { + super(name); + } public UPCASTTypedefNameSpecifier(IASTName name, IASTExpression blockSizeExpression) { super(name); |