diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTCompositeTypeSpecifier.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTCompositeTypeSpecifier.java
index b3a91f4d6c0..adf5b3c0cea 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTCompositeTypeSpecifier.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTCompositeTypeSpecifier.java
@@ -110,14 +110,14 @@ public interface ICPPASTCompositeTypeSpecifier extends IASTCompositeTypeSpecifie
/**
* Returns the base specifiers.
*
- * @return ICPPASTBaseSpecifier []
+ * @return {@code ICPPASTBaseSpecifier[]}
*/
public ICPPASTBaseSpecifier[] getBaseSpecifiers();
/**
* Adds a base specifier.
*
- * @param baseSpec ICPPASTBaseSpecifier
+ * @param baseSpec {@code ICPPASTBaseSpecifier}
*/
public void addBaseSpecifier(ICPPASTBaseSpecifier baseSpec);
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTQualifiedName.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTQualifiedName.java
index ad915eb6629..c5cccbe6766 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTQualifiedName.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTQualifiedName.java
@@ -64,6 +64,11 @@ public class CPPASTQualifiedName extends CPPASTNameBase
private boolean fIsFullyQualified;
private char[] fSignature;
+ public CPPASTQualifiedName(ICPPASTName lastName) {
+ if (lastName != null)
+ setLastName(lastName);
+ }
+
/**
* @deprecated Prefer CPPASTQualifierName(ICPPASTName) instead.
*/
@@ -71,10 +76,6 @@ public class CPPASTQualifiedName extends CPPASTNameBase
public CPPASTQualifiedName() {
}
- public CPPASTQualifiedName(ICPPASTName lastName) {
- setLastName(lastName);
- }
-
@Override
public CPPASTQualifiedName copy() {
return copy(CopyStyle.withoutLocations);
@@ -82,9 +83,8 @@ public class CPPASTQualifiedName extends CPPASTNameBase
@Override
public CPPASTQualifiedName copy(CopyStyle style) {
- CPPASTQualifiedName copy = new CPPASTQualifiedName();
- if (fLastName != null)
- copy.addName(fLastName.copy(style));
+ CPPASTQualifiedName copy =
+ new CPPASTQualifiedName(fLastName == null ? null : fLastName.copy(style));
for (ICPPASTNameSpecifier nameSpecifier : getQualifier()) {
copy.addNameSpecifier(nameSpecifier == null ? null : nameSpecifier.copy(style));
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ClassTypeHelper.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ClassTypeHelper.java
index cf14fb8472a..c5e8a63f01b 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ClassTypeHelper.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ClassTypeHelper.java
@@ -211,7 +211,7 @@ public class ClassTypeHelper {
}
}
IBinding binding = null;
- ICPPField[] result = null;
+ ICPPField[] result = ICPPField.EMPTY_CPPFIELD_ARRAY;
IASTDeclaration[] decls = host.getCompositeTypeSpecifier().getMembers();
for (IASTDeclaration decl : decls) {
@@ -220,7 +220,7 @@ public class ClassTypeHelper {
for (IASTDeclarator dtor : dtors) {
binding = ASTQueries.findInnermostDeclarator(dtor).getName().resolveBinding();
if (binding instanceof ICPPField)
- result = ArrayUtil.append(ICPPField.class, result, (ICPPField) binding);
+ result = ArrayUtil.append(result, (ICPPField) binding);
}
} else if (decl instanceof ICPPASTUsingDeclaration) {
IASTName n = ((ICPPASTUsingDeclaration) decl).getName();
@@ -229,14 +229,14 @@ public class ClassTypeHelper {
IBinding[] bs = ((ICPPUsingDeclaration) binding).getDelegates();
for (IBinding element : bs) {
if (element instanceof ICPPField)
- result = ArrayUtil.append(ICPPField.class, result, (ICPPField) element);
+ result = ArrayUtil.append(result, (ICPPField) element);
}
} else if (binding instanceof ICPPField) {
- result = ArrayUtil.append(ICPPField.class, result, (ICPPField) binding);
+ result = ArrayUtil.append(result, (ICPPField) binding);
}
}
}
- return ArrayUtil.trim(ICPPField.class, result);
+ return ArrayUtil.trim(result);
}
public static ICPPBase[] getBases(ICPPClassType classType, IASTNode point) {
@@ -378,7 +378,7 @@ public class ClassTypeHelper {
}
}
IBinding binding = null;
- ICPPMethod[] result = null;
+ ICPPMethod[] result = ICPPMethod.EMPTY_CPPMETHOD_ARRAY;
IASTDeclaration[] decls = host.getCompositeTypeSpecifier().getMembers();
for (IASTDeclaration decl : decls) {
@@ -391,7 +391,7 @@ public class ClassTypeHelper {
for (IASTDeclarator dtor : dtors) {
binding = ASTQueries.findInnermostDeclarator(dtor).getName().resolveBinding();
if (binding instanceof ICPPMethod)
- result = ArrayUtil.append(ICPPMethod.class, result, (ICPPMethod) binding);
+ result = ArrayUtil.append(result, (ICPPMethod) binding);
}
}
} else if (decl instanceof IASTFunctionDefinition) {
@@ -401,7 +401,7 @@ public class ClassTypeHelper {
dtor = ASTQueries.findInnermostDeclarator(dtor);
binding = dtor.getName().resolveBinding();
if (binding instanceof ICPPMethod) {
- result = ArrayUtil.append(ICPPMethod.class, result, (ICPPMethod) binding);
+ result = ArrayUtil.append(result, (ICPPMethod) binding);
}
}
} else if (decl instanceof ICPPASTUsingDeclaration) {
@@ -411,14 +411,14 @@ public class ClassTypeHelper {
IBinding[] bs = ((ICPPUsingDeclaration) binding).getDelegates();
for (IBinding element : bs) {
if (element instanceof ICPPMethod)
- result = ArrayUtil.append(ICPPMethod.class, result, (ICPPMethod) element);
+ result = ArrayUtil.append(result, (ICPPMethod) element);
}
} else if (binding instanceof ICPPMethod) {
- result = ArrayUtil.append(ICPPMethod.class, result, (ICPPMethod) binding);
+ result = ArrayUtil.append(result, (ICPPMethod) binding);
}
}
}
- return ArrayUtil.trim(ICPPMethod.class, result);
+ return ArrayUtil.trim(result);
}
/* (non-Javadoc)
@@ -444,7 +444,7 @@ public class ClassTypeHelper {
}
}
- ICPPClassType[] result = null;
+ ICPPClassType[] result = ICPPClassType.EMPTY_CLASS_ARRAY;
IASTDeclaration[] decls = host.getCompositeTypeSpecifier().getMembers();
for (IASTDeclaration decl : decls) {
@@ -460,10 +460,10 @@ public class ClassTypeHelper {
binding = ((ICPPASTElaboratedTypeSpecifier) declSpec).getName().resolveBinding();
}
if (binding instanceof ICPPClassType)
- result = ArrayUtil.append(ICPPClassType.class, result, (ICPPClassType) binding);
+ result = ArrayUtil.append(result, (ICPPClassType) binding);
}
}
- return ArrayUtil.trim(ICPPClassType.class, result);
+ return ArrayUtil.trim(result);
}
public static IField[] getFields(ICPPClassType ct, IASTNode point) {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java
index 2833987f775..5d2333a0c78 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java
@@ -96,8 +96,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTIfStatement;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTInitializerList;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLambdaExpression;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLambdaExpression.CaptureDefault;
-import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTVirtSpecifier;
-import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTVirtSpecifier.SpecifierKind;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLinkageSpecification;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTLiteralExpression;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTName;
@@ -130,6 +128,8 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTypeTransformationSpecifier;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUnaryExpression;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUsingDeclaration;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTUsingDirective;
+import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTVirtSpecifier;
+import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTVirtSpecifier.SpecifierKind;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTVisibilityLabel;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPNodeFactory;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPUnaryTypeTransformation;
@@ -260,7 +260,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
int endOffset= offset;
if (LT(1) == IToken.tCOLONCOLON) {
endOffset= consume().getEndOffset();
- qname= nodeFactory.newQualifiedName();
+ qname= nodeFactory.newQualifiedName(null);
qname.setFullyQualified(true);
}
@@ -346,7 +346,7 @@ public class GNUCPPSourceParser extends AbstractGNUSourceCodeParser {
endOffset= consume().getEndOffset(); // ::
if (qname == null) {
- qname= nodeFactory.newQualifiedName();
+ qname= nodeFactory.newQualifiedName(null);
addNameSpecifier(qname, nameSpec);
}
}