mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Removed uses of a deprecated class.
This commit is contained in:
parent
0f9084562e
commit
0442096272
13 changed files with 124 additions and 237 deletions
|
@ -26,7 +26,6 @@ import org.eclipse.cdt.core.dom.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration;
|
import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTStatement;
|
import org.eclipse.cdt.core.dom.ast.IASTStatement;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
|
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor;
|
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter;
|
||||||
import org.eclipse.cdt.core.dom.ast.gnu.IGNUASTCompoundStatementExpression;
|
import org.eclipse.cdt.core.dom.ast.gnu.IGNUASTCompoundStatementExpression;
|
||||||
|
@ -34,7 +33,6 @@ import org.eclipse.cdt.internal.core.dom.rewrite.ASTLiteralNode;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* Visits all nodes, prints leading comments and handles macro expansions. The
|
* Visits all nodes, prints leading comments and handles macro expansions. The
|
||||||
* source code generation is delegated to severals <code>NodeWriters</code>.
|
* source code generation is delegated to severals <code>NodeWriters</code>.
|
||||||
*
|
*
|
||||||
|
@ -42,9 +40,8 @@ import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
||||||
* @see MacroExpansionHandler
|
* @see MacroExpansionHandler
|
||||||
*
|
*
|
||||||
* @author Emanuel Graf IFS
|
* @author Emanuel Graf IFS
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class ASTWriterVisitor extends CPPASTVisitor {
|
public class ASTWriterVisitor extends ASTVisitor {
|
||||||
|
|
||||||
protected Scribe scribe = new Scribe();
|
protected Scribe scribe = new Scribe();
|
||||||
protected NodeCommentMap commentMap;
|
protected NodeCommentMap commentMap;
|
||||||
|
@ -57,42 +54,27 @@ public class ASTWriterVisitor extends CPPASTVisitor {
|
||||||
protected NameWriter nameWriter;
|
protected NameWriter nameWriter;
|
||||||
protected TemplateParameterWriter tempParameterWriter;
|
protected TemplateParameterWriter tempParameterWriter;
|
||||||
protected MacroExpansionHandler macroHandler;
|
protected MacroExpansionHandler macroHandler;
|
||||||
|
|
||||||
{
|
{
|
||||||
shouldVisitExpressions = true;
|
shouldVisitExpressions = true;
|
||||||
|
|
||||||
shouldVisitStatements = true;
|
shouldVisitStatements = true;
|
||||||
|
|
||||||
shouldVisitNames = true;
|
shouldVisitNames = true;
|
||||||
|
|
||||||
shouldVisitDeclarations = true;
|
shouldVisitDeclarations = true;
|
||||||
|
|
||||||
shouldVisitDeclSpecifiers = true;
|
shouldVisitDeclSpecifiers = true;
|
||||||
|
|
||||||
shouldVisitDeclarators = true;
|
shouldVisitDeclarators = true;
|
||||||
|
|
||||||
shouldVisitArrayModifiers= true;
|
shouldVisitArrayModifiers= true;
|
||||||
|
|
||||||
shouldVisitInitializers = true;
|
shouldVisitInitializers = true;
|
||||||
|
|
||||||
shouldVisitBaseSpecifiers = true;
|
shouldVisitBaseSpecifiers = true;
|
||||||
|
|
||||||
shouldVisitNamespaces = true;
|
shouldVisitNamespaces = true;
|
||||||
|
|
||||||
shouldVisitTemplateParameters = true;
|
shouldVisitTemplateParameters = true;
|
||||||
|
|
||||||
shouldVisitParameterDeclarations = true;
|
shouldVisitParameterDeclarations = true;
|
||||||
|
|
||||||
shouldVisitTranslationUnit = true;
|
shouldVisitTranslationUnit = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public ASTWriterVisitor(NodeCommentMap commentMap) {
|
public ASTWriterVisitor(NodeCommentMap commentMap) {
|
||||||
this("", commentMap); //$NON-NLS-1$
|
this("", commentMap); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public ASTWriterVisitor(String givenIndentation, NodeCommentMap commentMap) {
|
public ASTWriterVisitor(String givenIndentation, NodeCommentMap commentMap) {
|
||||||
super();
|
super();
|
||||||
scribe.setGivenIndentation(givenIndentation);
|
scribe.setGivenIndentation(givenIndentation);
|
||||||
|
@ -148,8 +130,6 @@ public class ASTWriterVisitor extends CPPASTVisitor {
|
||||||
return ASTVisitor.PROCESS_SKIP;
|
return ASTVisitor.PROCESS_SKIP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int visit(IASTDeclSpecifier declSpec) {
|
public int visit(IASTDeclSpecifier declSpec) {
|
||||||
writeLeadingComments(declSpec);
|
writeLeadingComments(declSpec);
|
||||||
|
@ -157,8 +137,6 @@ public class ASTWriterVisitor extends CPPASTVisitor {
|
||||||
return ASTVisitor.PROCESS_SKIP;
|
return ASTVisitor.PROCESS_SKIP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int visit(IASTExpression expression) {
|
public int visit(IASTExpression expression) {
|
||||||
writeLeadingComments(expression);
|
writeLeadingComments(expression);
|
||||||
|
@ -173,8 +151,6 @@ public class ASTWriterVisitor extends CPPASTVisitor {
|
||||||
return ASTVisitor.PROCESS_SKIP;
|
return ASTVisitor.PROCESS_SKIP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int visit(IASTStatement statement) {
|
public int visit(IASTStatement statement) {
|
||||||
writeLeadingComments(statement);
|
writeLeadingComments(statement);
|
||||||
|
@ -187,7 +163,6 @@ public class ASTWriterVisitor extends CPPASTVisitor {
|
||||||
return statementWriter.writeStatement(statement, true);
|
return statementWriter.writeStatement(statement, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int visit(IASTDeclaration declaration) {
|
public int visit(IASTDeclaration declaration) {
|
||||||
writeLeadingComments(declaration);
|
writeLeadingComments(declaration);
|
||||||
|
@ -197,8 +172,6 @@ public class ASTWriterVisitor extends CPPASTVisitor {
|
||||||
return ASTVisitor.PROCESS_SKIP;
|
return ASTVisitor.PROCESS_SKIP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int visit(IASTDeclarator declarator) {
|
public int visit(IASTDeclarator declarator) {
|
||||||
writeLeadingComments(declarator);
|
writeLeadingComments(declarator);
|
||||||
|
@ -216,7 +189,6 @@ public class ASTWriterVisitor extends CPPASTVisitor {
|
||||||
return ASTVisitor.PROCESS_SKIP;
|
return ASTVisitor.PROCESS_SKIP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int visit(IASTInitializer initializer) {
|
public int visit(IASTInitializer initializer) {
|
||||||
writeLeadingComments(initializer);
|
writeLeadingComments(initializer);
|
||||||
|
@ -226,8 +198,6 @@ public class ASTWriterVisitor extends CPPASTVisitor {
|
||||||
return ASTVisitor.PROCESS_SKIP;
|
return ASTVisitor.PROCESS_SKIP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int visit(IASTParameterDeclaration parameterDeclaration) {
|
public int visit(IASTParameterDeclaration parameterDeclaration) {
|
||||||
writeLeadingComments(parameterDeclaration);
|
writeLeadingComments(parameterDeclaration);
|
||||||
|
@ -243,13 +213,10 @@ public class ASTWriterVisitor extends CPPASTVisitor {
|
||||||
return ASTVisitor.PROCESS_SKIP;
|
return ASTVisitor.PROCESS_SKIP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected IASTName getParameterName(IASTDeclarator declarator) {
|
protected IASTName getParameterName(IASTDeclarator declarator) {
|
||||||
return declarator.getName();
|
return declarator.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected IASTDeclarator getParameterDeclarator(
|
protected IASTDeclarator getParameterDeclarator(
|
||||||
IASTParameterDeclaration parameterDeclaration) {
|
IASTParameterDeclaration parameterDeclaration) {
|
||||||
return parameterDeclaration.getDeclarator();
|
return parameterDeclaration.getDeclarator();
|
||||||
|
@ -273,10 +240,8 @@ public class ASTWriterVisitor extends CPPASTVisitor {
|
||||||
return ASTVisitor.PROCESS_SKIP;
|
return ASTVisitor.PROCESS_SKIP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void cleanCache() {
|
public void cleanCache() {
|
||||||
scribe.cleanCache();
|
scribe.cleanCache();
|
||||||
macroHandler.reset();
|
macroHandler.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.internal.core.dom.rewrite.astwriter;
|
package org.eclipse.cdt.internal.core.dom.rewrite.astwriter;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier;
|
import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier;
|
import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
|
||||||
|
@ -26,7 +27,6 @@ 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.ICASTEnumerationSpecifier;
|
||||||
import org.eclipse.cdt.core.dom.ast.c.ICASTSimpleDeclSpecifier;
|
import org.eclipse.cdt.core.dom.ast.c.ICASTSimpleDeclSpecifier;
|
||||||
import org.eclipse.cdt.core.dom.ast.c.ICASTTypedefNameSpecifier;
|
import org.eclipse.cdt.core.dom.ast.c.ICASTTypedefNameSpecifier;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor;
|
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTDeclSpecifier;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTDeclSpecifier;
|
||||||
|
@ -36,16 +36,13 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleDeclSpecifier;
|
||||||
import org.eclipse.cdt.core.parser.Keywords;
|
import org.eclipse.cdt.core.parser.Keywords;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* Generates source code of declaration specifier nodes. The actual string operations are delegated
|
* Generates source code of declaration specifier nodes. The actual string operations are delegated
|
||||||
* to the <code>Scribe</code> class.
|
* to the <code>Scribe</code> class.
|
||||||
*
|
*
|
||||||
* @see Scribe
|
* @see Scribe
|
||||||
* @see IASTDeclSpecifier
|
* @see IASTDeclSpecifier
|
||||||
* @author Emanuel Graf IFS
|
* @author Emanuel Graf IFS
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class DeclSpecWriter extends NodeWriter {
|
public class DeclSpecWriter extends NodeWriter {
|
||||||
private static final String MUTABLE = "mutable "; //$NON-NLS-1$
|
private static final String MUTABLE = "mutable "; //$NON-NLS-1$
|
||||||
|
@ -65,9 +62,8 @@ public class DeclSpecWriter extends NodeWriter {
|
||||||
private static final String ENUM = "enum "; //$NON-NLS-1$
|
private static final String ENUM = "enum "; //$NON-NLS-1$
|
||||||
private static final String _BOOL = "_Bool"; //$NON-NLS-1$
|
private static final String _BOOL = "_Bool"; //$NON-NLS-1$
|
||||||
|
|
||||||
public DeclSpecWriter(Scribe scribe, CPPASTVisitor visitor, NodeCommentMap commentMap) {
|
public DeclSpecWriter(Scribe scribe, ASTVisitor visitor, NodeCommentMap commentMap) {
|
||||||
super(scribe, visitor, commentMap);
|
super(scribe, visitor, commentMap);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void writeDelcSpec(IASTDeclSpecifier declSpec) {
|
protected void writeDelcSpec(IASTDeclSpecifier declSpec) {
|
||||||
|
@ -88,9 +84,7 @@ public class DeclSpecWriter extends NodeWriter {
|
||||||
return getASTSimpleDecSpecifier(simpDeclSpec.getType(), false);
|
return getASTSimpleDecSpecifier(simpDeclSpec.getType(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private String getASTSimpleDecSpecifier(int type, boolean isCpp) {
|
private String getASTSimpleDecSpecifier(int type, boolean isCpp) {
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case IASTSimpleDeclSpecifier.t_unspecified:
|
case IASTSimpleDeclSpecifier.t_unspecified:
|
||||||
return ""; //$NON-NLS-1$
|
return ""; //$NON-NLS-1$
|
||||||
|
@ -168,15 +162,11 @@ public class DeclSpecWriter extends NodeWriter {
|
||||||
namedSpc.getName().accept(visitor);
|
namedSpc.getName().accept(visitor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void writeElaboratedTypeSec(IASTElaboratedTypeSpecifier elabType) {
|
private void writeElaboratedTypeSec(IASTElaboratedTypeSpecifier elabType) {
|
||||||
scribe.print(getElabTypeString(elabType.getKind()));
|
scribe.print(getElabTypeString(elabType.getKind()));
|
||||||
elabType.getName().accept(visitor);
|
elabType.getName().accept(visitor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String getElabTypeString(int kind) {
|
private String getElabTypeString(int kind) {
|
||||||
switch(kind) {
|
switch(kind) {
|
||||||
case IASTElaboratedTypeSpecifier.k_enum:
|
case IASTElaboratedTypeSpecifier.k_enum:
|
||||||
|
@ -194,8 +184,6 @@ public class DeclSpecWriter extends NodeWriter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void writeCPPDeclSpec(ICPPASTDeclSpecifier cppDelcSpec) {
|
private void writeCPPDeclSpec(ICPPASTDeclSpecifier cppDelcSpec) {
|
||||||
if (cppDelcSpec.isVirtual()) {
|
if (cppDelcSpec.isVirtual()) {
|
||||||
scribe.print(VIRTUAL);
|
scribe.print(VIRTUAL);
|
||||||
|
@ -223,8 +211,6 @@ public class DeclSpecWriter extends NodeWriter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void writeEnumSpec(IASTEnumerationSpecifier enumSpec) {
|
private void writeEnumSpec(IASTEnumerationSpecifier enumSpec) {
|
||||||
scribe.print(ENUM);
|
scribe.print(ENUM);
|
||||||
enumSpec.getName().accept(visitor);
|
enumSpec.getName().accept(visitor);
|
||||||
|
@ -241,8 +227,6 @@ public class DeclSpecWriter extends NodeWriter {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void writeEnumerator(IASTEnumerator enumerator) {
|
private void writeEnumerator(IASTEnumerator enumerator) {
|
||||||
enumerator.getName().accept(visitor);
|
enumerator.getName().accept(visitor);
|
||||||
|
|
||||||
|
@ -253,8 +237,6 @@ public class DeclSpecWriter extends NodeWriter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void writeCompositeTypeSpecifier(IASTCompositeTypeSpecifier compDeclSpec) {
|
private void writeCompositeTypeSpecifier(IASTCompositeTypeSpecifier compDeclSpec) {
|
||||||
boolean hasTrailingComments = hasTrailingComments(compDeclSpec.getName());
|
boolean hasTrailingComments = hasTrailingComments(compDeclSpec.getName());
|
||||||
scribe.printStringSpace(getCPPCompositeTypeString(compDeclSpec.getKey()));
|
scribe.printStringSpace(getCPPCompositeTypeString(compDeclSpec.getKey()));
|
||||||
|
@ -317,8 +299,6 @@ public class DeclSpecWriter extends NodeWriter {
|
||||||
specifier.getName().accept(visitor);
|
specifier.getName().accept(visitor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String getCPPCompositeTypeString(int key) {
|
private String getCPPCompositeTypeString(int key) {
|
||||||
if (key <= IASTCompositeTypeSpecifier.k_last) {
|
if (key <= IASTCompositeTypeSpecifier.k_last) {
|
||||||
return getCompositeTypeString(key);
|
return getCompositeTypeString(key);
|
||||||
|
@ -332,8 +312,6 @@ public class DeclSpecWriter extends NodeWriter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String getCompositeTypeString(int key) {
|
private String getCompositeTypeString(int key) {
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case IASTCompositeTypeSpecifier.k_struct:
|
case IASTCompositeTypeSpecifier.k_struct:
|
||||||
|
@ -346,8 +324,6 @@ public class DeclSpecWriter extends NodeWriter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void writeDeclSpec(IASTDeclSpecifier declSpec) {
|
private void writeDeclSpec(IASTDeclSpecifier declSpec) {
|
||||||
if (declSpec.isInline()) {
|
if (declSpec.isInline()) {
|
||||||
scribe.print(INLINE);
|
scribe.print(INLINE);
|
||||||
|
@ -375,8 +351,6 @@ public class DeclSpecWriter extends NodeWriter {
|
||||||
if (declSpec.isVolatile()) {
|
if (declSpec.isVolatile()) {
|
||||||
scribe.printStringSpace(VOLATILE);
|
scribe.printStringSpace(VOLATILE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void writeCPPSimpleDeclSpec(ICPPASTSimpleDeclSpecifier simpDeclSpec) {
|
private void writeCPPSimpleDeclSpec(ICPPASTSimpleDeclSpecifier simpDeclSpec) {
|
||||||
|
@ -414,11 +388,8 @@ public class DeclSpecWriter extends NodeWriter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void writeCSimpleDeclSpec(ICASTSimpleDeclSpecifier simpDeclSpec) {
|
private void writeCSimpleDeclSpec(ICASTSimpleDeclSpecifier simpDeclSpec) {
|
||||||
printQualifiers(simpDeclSpec);
|
printQualifiers(simpDeclSpec);
|
||||||
scribe.print(getCSimpleDecSpecifier(simpDeclSpec));
|
scribe.print(getCSimpleDecSpecifier(simpDeclSpec));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.internal.core.dom.rewrite.astwriter;
|
package org.eclipse.cdt.internal.core.dom.rewrite.astwriter;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTArraySubscriptExpression;
|
import org.eclipse.cdt.core.dom.ast.IASTArraySubscriptExpression;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression;
|
import org.eclipse.cdt.core.dom.ast.IASTBinaryExpression;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTCastExpression;
|
import org.eclipse.cdt.core.dom.ast.IASTCastExpression;
|
||||||
|
@ -28,7 +29,6 @@ import org.eclipse.cdt.core.dom.ast.IASTProblemExpression;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTTypeId;
|
import org.eclipse.cdt.core.dom.ast.IASTTypeId;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression;
|
import org.eclipse.cdt.core.dom.ast.IASTTypeIdExpression;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression;
|
import org.eclipse.cdt.core.dom.ast.IASTUnaryExpression;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor;
|
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTBinaryExpression;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTBinaryExpression;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCapture;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCapture;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCastExpression;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCastExpression;
|
||||||
|
@ -39,11 +39,9 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNewExpression;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeConstructorExpression;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeConstructorExpression;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTypeIdExpression;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTypeIdExpression;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUnaryExpression;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUnaryExpression;
|
||||||
import org.eclipse.cdt.core.dom.ast.gnu.IGNUASTTypeIdExpression;
|
|
||||||
import org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTBinaryExpression;
|
import org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPASTBinaryExpression;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Generates source code of expression nodes. The actual string operations are delegated
|
* Generates source code of expression nodes. The actual string operations are delegated
|
||||||
|
@ -52,10 +50,8 @@ import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
||||||
* @see Scribe
|
* @see Scribe
|
||||||
* @see IASTExpression
|
* @see IASTExpression
|
||||||
* @author Emanuel Graf IFS
|
* @author Emanuel Graf IFS
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class ExpressionWriter extends NodeWriter{
|
public class ExpressionWriter extends NodeWriter{
|
||||||
|
|
||||||
private static final String VECTORED_DELETE_OP = "[] "; //$NON-NLS-1$
|
private static final String VECTORED_DELETE_OP = "[] "; //$NON-NLS-1$
|
||||||
private static final String DELETE = "delete "; //$NON-NLS-1$
|
private static final String DELETE = "delete "; //$NON-NLS-1$
|
||||||
private static final String STATIC_CAST_OP = "static_cast<"; //$NON-NLS-1$
|
private static final String STATIC_CAST_OP = "static_cast<"; //$NON-NLS-1$
|
||||||
|
@ -119,7 +115,7 @@ public class ExpressionWriter extends NodeWriter{
|
||||||
private static final String THIS = "this"; //$NON-NLS-1$
|
private static final String THIS = "this"; //$NON-NLS-1$
|
||||||
private final MacroExpansionHandler macroHandler;
|
private final MacroExpansionHandler macroHandler;
|
||||||
|
|
||||||
public ExpressionWriter(Scribe scribe, CPPASTVisitor visitor, MacroExpansionHandler macroHandler, NodeCommentMap commentMap) {
|
public ExpressionWriter(Scribe scribe, ASTVisitor visitor, MacroExpansionHandler macroHandler, NodeCommentMap commentMap) {
|
||||||
super(scribe, visitor, commentMap);
|
super(scribe, visitor, commentMap);
|
||||||
this.macroHandler = macroHandler;
|
this.macroHandler = macroHandler;
|
||||||
}
|
}
|
||||||
|
@ -161,7 +157,6 @@ public class ExpressionWriter extends NodeWriter{
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getBinaryExpressionOperator(int operator){
|
private String getBinaryExpressionOperator(int operator){
|
||||||
|
|
||||||
switch(operator){
|
switch(operator){
|
||||||
case IASTBinaryExpression.op_multiply:
|
case IASTBinaryExpression.op_multiply:
|
||||||
return MULTIPLY_OP;
|
return MULTIPLY_OP;
|
||||||
|
@ -235,7 +230,6 @@ public class ExpressionWriter extends NodeWriter{
|
||||||
System.err.println("Unknown unaryExpressionType: " + operator); //$NON-NLS-1$
|
System.err.println("Unknown unaryExpressionType: " + operator); //$NON-NLS-1$
|
||||||
throw new IllegalArgumentException("Unknown unaryExpressionType: " + operator); //$NON-NLS-1$
|
throw new IllegalArgumentException("Unknown unaryExpressionType: " + operator); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isPrefixExpression(IASTUnaryExpression unExp) {
|
private boolean isPrefixExpression(IASTUnaryExpression unExp) {
|
||||||
|
@ -434,7 +428,6 @@ public class ExpressionWriter extends NodeWriter{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fieldRef.getFieldName().accept(visitor);
|
fieldRef.getFieldName().accept(visitor);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void writeFunctionCallExpression(IASTFunctionCallExpression funcCallExp) {
|
private void writeFunctionCallExpression(IASTFunctionCallExpression funcCallExp) {
|
||||||
|
@ -487,7 +480,6 @@ public class ExpressionWriter extends NodeWriter{
|
||||||
}
|
}
|
||||||
|
|
||||||
private void writeExpressionList(IASTExpressionList expList) {
|
private void writeExpressionList(IASTExpressionList expList) {
|
||||||
|
|
||||||
IASTExpression[] expressions = expList.getExpressions();
|
IASTExpression[] expressions = expList.getExpressions();
|
||||||
writeExpressions(expList, expressions);
|
writeExpressions(expList, expressions);
|
||||||
}
|
}
|
||||||
|
@ -509,9 +501,9 @@ public class ExpressionWriter extends NodeWriter{
|
||||||
return SIZEOF_OP + "("; //$NON-NLS-1$
|
return SIZEOF_OP + "("; //$NON-NLS-1$
|
||||||
case ICPPASTTypeIdExpression.op_typeid:
|
case ICPPASTTypeIdExpression.op_typeid:
|
||||||
return TYPEID_OP;
|
return TYPEID_OP;
|
||||||
case IGNUASTTypeIdExpression.op_alignof:
|
case IASTTypeIdExpression.op_alignof:
|
||||||
return ALIGNOF_OP + "("; //$NON-NLS-1$
|
return ALIGNOF_OP + "("; //$NON-NLS-1$
|
||||||
case IGNUASTTypeIdExpression.op_typeof:
|
case IASTTypeIdExpression.op_typeof:
|
||||||
return TYPEOF_OP;
|
return TYPEOF_OP;
|
||||||
}
|
}
|
||||||
throw new IllegalArgumentException("Unknown TypeId Type"); //$NON-NLS-1$
|
throw new IllegalArgumentException("Unknown TypeId Type"); //$NON-NLS-1$
|
||||||
|
@ -571,6 +563,5 @@ public class ExpressionWriter extends NodeWriter{
|
||||||
capture.getIdentifier().accept(visitor);
|
capture.getIdentifier().accept(visitor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.internal.core.dom.rewrite.astwriter;
|
package org.eclipse.cdt.internal.core.dom.rewrite.astwriter;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTEqualsInitializer;
|
import org.eclipse.cdt.core.dom.ast.IASTEqualsInitializer;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTInitializer;
|
import org.eclipse.cdt.core.dom.ast.IASTInitializer;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTInitializerClause;
|
import org.eclipse.cdt.core.dom.ast.IASTInitializerClause;
|
||||||
|
@ -20,26 +21,22 @@ import org.eclipse.cdt.core.dom.ast.c.ICASTArrayDesignator;
|
||||||
import org.eclipse.cdt.core.dom.ast.c.ICASTDesignatedInitializer;
|
import org.eclipse.cdt.core.dom.ast.c.ICASTDesignatedInitializer;
|
||||||
import org.eclipse.cdt.core.dom.ast.c.ICASTDesignator;
|
import org.eclipse.cdt.core.dom.ast.c.ICASTDesignator;
|
||||||
import org.eclipse.cdt.core.dom.ast.c.ICASTFieldDesignator;
|
import org.eclipse.cdt.core.dom.ast.c.ICASTFieldDesignator;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor;
|
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConstructorChainInitializer;
|
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.ICPPASTConstructorInitializer;
|
||||||
import org.eclipse.cdt.core.dom.ast.gnu.c.IGCCASTArrayRangeDesignator;
|
import org.eclipse.cdt.core.dom.ast.gnu.c.IGCCASTArrayRangeDesignator;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* Generates source code of initializer nodes. The actual string operations are delegated
|
* Generates source code of initializer nodes. The actual string operations are delegated
|
||||||
* to the <code>Scribe</code> class.
|
* to the <code>Scribe</code> class.
|
||||||
*
|
*
|
||||||
* @see Scribe
|
* @see Scribe
|
||||||
* @see IASTInitializer
|
* @see IASTInitializer
|
||||||
* @author Emanuel Graf IFS
|
* @author Emanuel Graf IFS
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class InitializerWriter extends NodeWriter{
|
public class InitializerWriter extends NodeWriter{
|
||||||
|
|
||||||
public InitializerWriter(Scribe scribe, CPPASTVisitor visitor, NodeCommentMap commentMap) {
|
public InitializerWriter(Scribe scribe, ASTVisitor visitor, NodeCommentMap commentMap) {
|
||||||
super(scribe, visitor, commentMap);
|
super(scribe, visitor, commentMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +56,6 @@ public class InitializerWriter extends NodeWriter{
|
||||||
writeTrailingComments(initializer, false);
|
writeTrailingComments(initializer, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void writeEqualsInitializer(IASTEqualsInitializer initializer) {
|
private void writeEqualsInitializer(IASTEqualsInitializer initializer) {
|
||||||
scribe.print(EQUALS);
|
scribe.print(EQUALS);
|
||||||
IASTInitializerClause init = initializer.getInitializerClause();
|
IASTInitializerClause init = initializer.getInitializerClause();
|
||||||
|
@ -110,6 +106,5 @@ public class InitializerWriter extends NodeWriter{
|
||||||
//TODO IGCCASTArrayRangeDesignator Bespiel zu parsen bringen
|
//TODO IGCCASTArrayRangeDesignator Bespiel zu parsen bringen
|
||||||
throw new UnsupportedOperationException("Writing of GCC ArrayRangeDesignator is not yet implemented"); //$NON-NLS-1$
|
throw new UnsupportedOperationException("Writing of GCC ArrayRangeDesignator is not yet implemented"); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,37 +11,32 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.internal.core.dom.rewrite.astwriter;
|
package org.eclipse.cdt.internal.core.dom.rewrite.astwriter;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTName;
|
import org.eclipse.cdt.core.dom.ast.IASTName;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTNode;
|
import org.eclipse.cdt.core.dom.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.dom.ast.IBinding;
|
import org.eclipse.cdt.core.dom.ast.IBinding;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor;
|
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConversionName;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConversionName;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTQualifiedName;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateId;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateId;
|
||||||
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateTypeParameter;
|
import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPTemplateTypeParameter;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* Generates source code of name nodes. The actual string operations are delegated
|
* Generates source code of name nodes. The actual string operations are delegated
|
||||||
* to the <code>Scribe</code> class.
|
* to the <code>Scribe</code> class.
|
||||||
*
|
*
|
||||||
* @see Scribe
|
* @see Scribe
|
||||||
* @see IASTName
|
* @see IASTName
|
||||||
* @author Emanuel Graf IFS
|
* @author Emanuel Graf IFS
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class NameWriter extends NodeWriter {
|
public class NameWriter extends NodeWriter {
|
||||||
|
|
||||||
private static final String OPERATOR = "operator "; //$NON-NLS-1$
|
private static final String OPERATOR = "operator "; //$NON-NLS-1$
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param scribe
|
* @param scribe
|
||||||
* @param visitor
|
* @param visitor
|
||||||
*/
|
*/
|
||||||
public NameWriter(Scribe scribe, CPPASTVisitor visitor, NodeCommentMap commentMap) {
|
public NameWriter(Scribe scribe, ASTVisitor visitor, NodeCommentMap commentMap) {
|
||||||
super(scribe, visitor, commentMap);
|
super(scribe, visitor, commentMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,8 +86,7 @@ public class NameWriter extends NodeWriter {
|
||||||
|
|
||||||
private boolean isDependentName(ICPPASTQualifiedName qname, ICPPASTTemplateId tempId) {
|
private boolean isDependentName(ICPPASTQualifiedName qname, ICPPASTTemplateId tempId) {
|
||||||
IASTName[] names = qname.getNames();
|
IASTName[] names = qname.getNames();
|
||||||
int i = 0;
|
for (int i = 0; i < names.length; ++i){
|
||||||
for(;i < names.length; ++i){
|
|
||||||
if (names[i] == tempId){
|
if (names[i] == tempId){
|
||||||
return isDependentName(qname, tempId, i);
|
return isDependentName(qname, tempId, i);
|
||||||
}
|
}
|
||||||
|
@ -100,8 +94,7 @@ public class NameWriter extends NodeWriter {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isDependentName(ICPPASTQualifiedName qname,
|
private boolean isDependentName(ICPPASTQualifiedName qname, ICPPASTTemplateId tempId, int i) {
|
||||||
ICPPASTTemplateId tempId, int i) {
|
|
||||||
if (i <= 0){
|
if (i <= 0){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -124,7 +117,6 @@ public class NameWriter extends NodeWriter {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void writeQualifiedName(ICPPASTQualifiedName qname) {
|
private void writeQualifiedName(ICPPASTQualifiedName qname) {
|
||||||
IASTName[] nodes = qname.getNames();
|
IASTName[] nodes = qname.getNames();
|
||||||
for (int i = 0; i < nodes.length; ++i) {
|
for (int i = 0; i < nodes.length; ++i) {
|
||||||
|
|
|
@ -11,37 +11,31 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.internal.core.dom.rewrite.astwriter;
|
package org.eclipse.cdt.internal.core.dom.rewrite.astwriter;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration;
|
import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor;
|
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTParameterDeclaration;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTParameterDeclaration;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeTemplateParameter;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTSimpleTypeTemplateParameter;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateParameter;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplatedTypeTemplateParameter;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplatedTypeTemplateParameter;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* Generates source code of template parameter nodes. The actual string operations are delegated
|
* Generates source code of template parameter nodes. The actual string operations are delegated
|
||||||
* to the <code>Scribe</code> class.
|
* to the <code>Scribe</code> class.
|
||||||
*
|
*
|
||||||
* @see Scribe
|
* @see Scribe
|
||||||
* @see ICPPASTTemplateParameter
|
* @see ICPPASTTemplateParameter
|
||||||
* @author Emanuel Graf IFS
|
* @author Emanuel Graf IFS
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class TemplateParameterWriter extends NodeWriter {
|
public class TemplateParameterWriter extends NodeWriter {
|
||||||
|
|
||||||
private static final String GREATER_THAN_CLASS = "> class"; //$NON-NLS-1$
|
private static final String GREATER_THAN_CLASS = "> class"; //$NON-NLS-1$
|
||||||
private static final String TEMPLATE_LESS_THAN = "template <"; //$NON-NLS-1$
|
private static final String TEMPLATE_LESS_THAN = "template <"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param scribe
|
* @param scribe
|
||||||
* @param visitor
|
* @param visitor
|
||||||
*/
|
*/
|
||||||
public TemplateParameterWriter(Scribe scribe, CPPASTVisitor visitor, NodeCommentMap commentMap) {
|
public TemplateParameterWriter(Scribe scribe, ASTVisitor visitor, NodeCommentMap commentMap) {
|
||||||
super(scribe, visitor, commentMap);
|
super(scribe, visitor, commentMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,11 +49,8 @@ public class TemplateParameterWriter extends NodeWriter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void writeTemplatedTypeTemplateParameter(ICPPASTTemplatedTypeTemplateParameter templated) {
|
private void writeTemplatedTypeTemplateParameter(ICPPASTTemplatedTypeTemplateParameter templated) {
|
||||||
scribe.print(TEMPLATE_LESS_THAN);
|
scribe.print(TEMPLATE_LESS_THAN);
|
||||||
|
|
||||||
|
|
||||||
ICPPASTTemplateParameter[] params = templated.getTemplateParameters();
|
ICPPASTTemplateParameter[] params = templated.getTemplateParameters();
|
||||||
writeNodeList(params);
|
writeNodeList(params);
|
||||||
|
|
||||||
|
@ -76,8 +67,6 @@ public class TemplateParameterWriter extends NodeWriter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void writeSimpleTypeTemplateParameter(ICPPASTSimpleTypeTemplateParameter simple) {
|
private void writeSimpleTypeTemplateParameter(ICPPASTSimpleTypeTemplateParameter simple) {
|
||||||
switch (simple.getParameterType()) {
|
switch (simple.getParameterType()) {
|
||||||
case ICPPASTSimpleTypeTemplateParameter.st_class:
|
case ICPPASTSimpleTypeTemplateParameter.st_class:
|
||||||
|
|
|
@ -95,8 +95,6 @@ public class ChangeGeneratorWriterVisitor extends ASTWriterVisitor {
|
||||||
statementWriter = new ModifiedASTStatementWriter(scribe, this, stack, commentMap);
|
statementWriter = new ModifiedASTStatementWriter(scribe, this, stack, commentMap);
|
||||||
declSpecWriter = new ModifiedASTDeclSpecWriter(scribe, this, stack, commentMap);
|
declSpecWriter = new ModifiedASTDeclSpecWriter(scribe, this, stack, commentMap);
|
||||||
declarationWriter = new ModifiedASTDeclarationWriter(scribe, this, stack, commentMap);
|
declarationWriter = new ModifiedASTDeclarationWriter(scribe, this, stack, commentMap);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -11,26 +11,25 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.internal.core.dom.rewrite.changegenerator;
|
package org.eclipse.cdt.internal.core.dom.rewrite.changegenerator;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier;
|
import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor;
|
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.DeclSpecWriter;
|
import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.DeclSpecWriter;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.Scribe;
|
import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.Scribe;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
||||||
|
|
||||||
public class ModifiedASTDeclSpecWriter extends DeclSpecWriter {
|
public class ModifiedASTDeclSpecWriter extends DeclSpecWriter {
|
||||||
|
|
||||||
private final ASTModificationHelper modificationHelper;
|
private final ASTModificationHelper modificationHelper;
|
||||||
|
|
||||||
public ModifiedASTDeclSpecWriter(Scribe scribe, CPPASTVisitor visitor, ModificationScopeStack stack, NodeCommentMap commentMap) {
|
public ModifiedASTDeclSpecWriter(Scribe scribe, ASTVisitor visitor, ModificationScopeStack stack,
|
||||||
|
NodeCommentMap commentMap) {
|
||||||
super(scribe, visitor, commentMap);
|
super(scribe, visitor, commentMap);
|
||||||
this.modificationHelper = new ASTModificationHelper(stack);
|
this.modificationHelper = new ASTModificationHelper(stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected IASTDeclaration[] getMembers(
|
protected IASTDeclaration[] getMembers(IASTCompositeTypeSpecifier compDeclSpec) {
|
||||||
IASTCompositeTypeSpecifier compDeclSpec) {
|
return modificationHelper.createModifiedChildArray(compDeclSpec, compDeclSpec.getMembers(),
|
||||||
return modificationHelper.createModifiedChildArray(compDeclSpec, compDeclSpec.getMembers(), IASTDeclaration.class);
|
IASTDeclaration.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,8 +12,8 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.internal.core.dom.rewrite.changegenerator;
|
package org.eclipse.cdt.internal.core.dom.rewrite.changegenerator;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor;
|
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConstructorChainInitializer;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTConstructorChainInitializer;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionDefinition;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionDefinition;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceDefinition;
|
||||||
|
@ -22,10 +22,9 @@ import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.Scribe;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
||||||
|
|
||||||
public class ModifiedASTDeclarationWriter extends DeclarationWriter {
|
public class ModifiedASTDeclarationWriter extends DeclarationWriter {
|
||||||
|
|
||||||
private final ASTModificationHelper modificationHelper;
|
private final ASTModificationHelper modificationHelper;
|
||||||
|
|
||||||
public ModifiedASTDeclarationWriter(Scribe scribe, CPPASTVisitor visitor, ModificationScopeStack stack, NodeCommentMap commentMap) {
|
public ModifiedASTDeclarationWriter(Scribe scribe, ASTVisitor visitor, ModificationScopeStack stack, NodeCommentMap commentMap) {
|
||||||
super(scribe, visitor, commentMap);
|
super(scribe, visitor, commentMap);
|
||||||
this.modificationHelper = new ASTModificationHelper(stack);
|
this.modificationHelper = new ASTModificationHelper(stack);
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.internal.core.dom.rewrite.changegenerator;
|
package org.eclipse.cdt.internal.core.dom.rewrite.changegenerator;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTArrayDeclarator;
|
import org.eclipse.cdt.core.dom.ast.IASTArrayDeclarator;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTArrayModifier;
|
import org.eclipse.cdt.core.dom.ast.IASTArrayModifier;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
|
||||||
|
@ -22,30 +23,25 @@ import org.eclipse.cdt.core.dom.ast.IASTParameterDeclaration;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTPointerOperator;
|
import org.eclipse.cdt.core.dom.ast.IASTPointerOperator;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTStandardFunctionDeclarator;
|
import org.eclipse.cdt.core.dom.ast.IASTStandardFunctionDeclarator;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTTypeId;
|
import org.eclipse.cdt.core.dom.ast.IASTTypeId;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor;
|
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionDeclarator;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTFunctionDeclarator;
|
||||||
import org.eclipse.cdt.core.dom.ast.gnu.c.ICASTKnRFunctionDeclarator;
|
import org.eclipse.cdt.core.dom.ast.gnu.c.ICASTKnRFunctionDeclarator;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.DeclaratorWriter;
|
import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.DeclaratorWriter;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.Scribe;
|
import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.Scribe;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
||||||
|
|
||||||
|
|
||||||
public class ModifiedASTDeclaratorWriter extends DeclaratorWriter {
|
public class ModifiedASTDeclaratorWriter extends DeclaratorWriter {
|
||||||
|
|
||||||
private final ASTModificationHelper modificationHelper;
|
private final ASTModificationHelper modificationHelper;
|
||||||
|
|
||||||
public ModifiedASTDeclaratorWriter(Scribe scribe, CPPASTVisitor visitor, ModificationScopeStack stack, NodeCommentMap commentMap) {
|
public ModifiedASTDeclaratorWriter(Scribe scribe, ASTVisitor visitor, ModificationScopeStack stack, NodeCommentMap commentMap) {
|
||||||
super(scribe, visitor, commentMap);
|
super(scribe, visitor, commentMap);
|
||||||
this.modificationHelper = new ASTModificationHelper(stack);
|
this.modificationHelper = new ASTModificationHelper(stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void writeParameterDeclarations(
|
protected void writeParameterDeclarations(IASTStandardFunctionDeclarator funcDec,
|
||||||
IASTStandardFunctionDeclarator funcDec,
|
|
||||||
IASTParameterDeclaration[] paraDecls) {
|
IASTParameterDeclaration[] paraDecls) {
|
||||||
IASTParameterDeclaration[] modifiedParameters = modificationHelper.createModifiedChildArray(funcDec, paraDecls, IASTParameterDeclaration.class);
|
IASTParameterDeclaration[] modifiedParameters = modificationHelper.createModifiedChildArray(funcDec, paraDecls, IASTParameterDeclaration.class);
|
||||||
super.writeParameterDeclarations(funcDec, modifiedParameters);
|
super.writeParameterDeclarations(funcDec, modifiedParameters);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -54,7 +50,6 @@ public class ModifiedASTDeclaratorWriter extends DeclaratorWriter {
|
||||||
super.writePointerOperators(declarator, modifiedPointer);
|
super.writePointerOperators(declarator, modifiedPointer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void writeArrayModifiers(IASTArrayDeclarator arrDecl,
|
protected void writeArrayModifiers(IASTArrayDeclarator arrDecl,
|
||||||
IASTArrayModifier[] arrMods) {
|
IASTArrayModifier[] arrMods) {
|
||||||
|
@ -75,8 +70,6 @@ public class ModifiedASTDeclaratorWriter extends DeclaratorWriter {
|
||||||
super.writeExceptionSpecification(funcDec, modifiedExceptions);
|
super.writeExceptionSpecification(funcDec, modifiedExceptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void writeKnRParameterDeclarations(
|
protected void writeKnRParameterDeclarations(
|
||||||
ICASTKnRFunctionDeclarator knrFunct,
|
ICASTKnRFunctionDeclarator knrFunct,
|
||||||
|
|
|
@ -12,11 +12,11 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.internal.core.dom.rewrite.changegenerator;
|
package org.eclipse.cdt.internal.core.dom.rewrite.changegenerator;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTExpression;
|
import org.eclipse.cdt.core.dom.ast.IASTExpression;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTExpressionList;
|
import org.eclipse.cdt.core.dom.ast.IASTExpressionList;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTInitializer;
|
import org.eclipse.cdt.core.dom.ast.IASTInitializer;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTNode;
|
import org.eclipse.cdt.core.dom.ast.IASTNode;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor;
|
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNewExpression;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNewExpression;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.ASTModification;
|
import org.eclipse.cdt.internal.core.dom.rewrite.ASTModification;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.ASTModification.ModificationKind;
|
import org.eclipse.cdt.internal.core.dom.rewrite.ASTModification.ModificationKind;
|
||||||
|
@ -26,19 +26,18 @@ import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.Scribe;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
||||||
|
|
||||||
public class ModifiedASTExpressionWriter extends ExpressionWriter {
|
public class ModifiedASTExpressionWriter extends ExpressionWriter {
|
||||||
|
|
||||||
private final ASTModificationHelper modificationHelper;
|
private final ASTModificationHelper modificationHelper;
|
||||||
|
|
||||||
public ModifiedASTExpressionWriter(Scribe scribe, CPPASTVisitor visitor,
|
public ModifiedASTExpressionWriter(Scribe scribe, ASTVisitor visitor, MacroExpansionHandler macroHandler,
|
||||||
MacroExpansionHandler macroHandler, ModificationScopeStack stack, NodeCommentMap commentMap) {
|
ModificationScopeStack stack, NodeCommentMap commentMap) {
|
||||||
super(scribe, visitor, macroHandler, commentMap);
|
super(scribe, visitor, macroHandler, commentMap);
|
||||||
this.modificationHelper = new ASTModificationHelper(stack);
|
this.modificationHelper = new ASTModificationHelper(stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void writeExpressions(IASTExpressionList expList,
|
protected void writeExpressions(IASTExpressionList expList, IASTExpression[] expressions) {
|
||||||
IASTExpression[] expressions) {
|
IASTExpression[] modifiedExpressions = modificationHelper.createModifiedChildArray(expList,
|
||||||
IASTExpression[] modifiedExpressions = modificationHelper.createModifiedChildArray(expList, expressions, IASTExpression.class);
|
expressions, IASTExpression.class);
|
||||||
super.writeExpressions(expList, modifiedExpressions);
|
super.writeExpressions(expList, modifiedExpressions);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,26 +11,24 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.cdt.internal.core.dom.rewrite.changegenerator;
|
package org.eclipse.cdt.internal.core.dom.rewrite.changegenerator;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTCompoundStatement;
|
import org.eclipse.cdt.core.dom.ast.IASTCompoundStatement;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
|
import org.eclipse.cdt.core.dom.ast.IASTDeclaration;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTStatement;
|
import org.eclipse.cdt.core.dom.ast.IASTStatement;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor;
|
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.Scribe;
|
import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.Scribe;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.StatementWriter;
|
import org.eclipse.cdt.internal.core.dom.rewrite.astwriter.StatementWriter;
|
||||||
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
import org.eclipse.cdt.internal.core.dom.rewrite.commenthandler.NodeCommentMap;
|
||||||
|
|
||||||
public class ModifiedASTStatementWriter extends StatementWriter {
|
public class ModifiedASTStatementWriter extends StatementWriter {
|
||||||
|
|
||||||
private final ASTModificationHelper modificationHelper;
|
private final ASTModificationHelper modificationHelper;
|
||||||
|
|
||||||
public ModifiedASTStatementWriter(Scribe scribe, CPPASTVisitor visitor, ModificationScopeStack stack, NodeCommentMap commentMap) {
|
public ModifiedASTStatementWriter(Scribe scribe, ASTVisitor visitor, ModificationScopeStack stack, NodeCommentMap commentMap) {
|
||||||
super(scribe, visitor, commentMap);
|
super(scribe, visitor, commentMap);
|
||||||
this.modificationHelper = new ASTModificationHelper(stack);
|
this.modificationHelper = new ASTModificationHelper(stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void writeBodyStatement(IASTStatement statement,
|
protected void writeBodyStatement(IASTStatement statement, boolean isDoStatement) {
|
||||||
boolean isDoStatement) {
|
|
||||||
IASTStatement replacementNode = modificationHelper.getNodeAfterReplacement(statement);
|
IASTStatement replacementNode = modificationHelper.getNodeAfterReplacement(statement);
|
||||||
super.writeBodyStatement(replacementNode, isDoStatement);
|
super.writeBodyStatement(replacementNode, isDoStatement);
|
||||||
}
|
}
|
||||||
|
@ -45,6 +43,4 @@ public class ModifiedASTStatementWriter extends StatementWriter {
|
||||||
protected IASTStatement[] getNestedStatements(IASTCompoundStatement compoundStatement) {
|
protected IASTStatement[] getNestedStatements(IASTCompoundStatement compoundStatement) {
|
||||||
return modificationHelper.createModifiedChildArray(compoundStatement, compoundStatement.getStatements(), IASTStatement.class);
|
return modificationHelper.createModifiedChildArray(compoundStatement, compoundStatement.getStatements(), IASTStatement.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import org.eclipse.compare.structuremergeviewer.DocumentRangeNode;
|
||||||
import org.eclipse.jface.text.IDocument;
|
import org.eclipse.jface.text.IDocument;
|
||||||
import org.eclipse.jface.text.Position;
|
import org.eclipse.jface.text.Position;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.core.dom.ast.ASTVisitor;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTASMDeclaration;
|
import org.eclipse.cdt.core.dom.ast.IASTASMDeclaration;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier;
|
import org.eclipse.cdt.core.dom.ast.IASTCompositeTypeSpecifier;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier;
|
import org.eclipse.cdt.core.dom.ast.IASTDeclSpecifier;
|
||||||
|
@ -35,7 +36,6 @@ import org.eclipse.cdt.core.dom.ast.IASTProblemDeclaration;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration;
|
import org.eclipse.cdt.core.dom.ast.IASTSimpleDeclaration;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
|
import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit;
|
||||||
import org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator;
|
import org.eclipse.cdt.core.dom.ast.IASTEnumerationSpecifier.IASTEnumerator;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.CPPASTVisitor;
|
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTExplicitTemplateInstantiation;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTExplicitTemplateInstantiation;
|
||||||
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLinkageSpecification;
|
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLinkageSpecification;
|
||||||
|
@ -58,7 +58,7 @@ import org.eclipse.cdt.internal.ui.CUIMessages;
|
||||||
*
|
*
|
||||||
* @since 5.0
|
* @since 5.0
|
||||||
*/
|
*/
|
||||||
class CStructureCreatorVisitor extends CPPASTVisitor {
|
class CStructureCreatorVisitor extends ASTVisitor {
|
||||||
|
|
||||||
private static final String TRANSLATION_UNIT_NAME = CUIMessages.CStructureCreatorVisitor_translationUnitName;
|
private static final String TRANSLATION_UNIT_NAME = CUIMessages.CStructureCreatorVisitor_translationUnitName;
|
||||||
private static final String ANONYMOUS_NAME= CoreModelMessages.getString("CElementLabels.anonymous"); //$NON-NLS-1$
|
private static final String ANONYMOUS_NAME= CoreModelMessages.getString("CElementLabels.anonymous"); //$NON-NLS-1$
|
||||||
|
|
Loading…
Add table
Reference in a new issue