diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/util/CharArrayObjectMap.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/util/CharArrayObjectMap.java index 3f120cd7fed..625cbfbe92e 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/util/CharArrayObjectMap.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/util/CharArrayObjectMap.java @@ -20,7 +20,7 @@ import java.util.List; * @author Doug Schaefer */ public class CharArrayObjectMap extends CharTable { - public static final CharArrayObjectMap EMPTY_MAP = new CharArrayObjectMap(0) { + public static final CharArrayObjectMap EMPTY_MAP = new CharArrayObjectMap(0) { @Override public Object clone() { return this; } @Override diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassScope.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassScope.java index 4a6d8243e02..6d9718665e8 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassScope.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassScope.java @@ -77,6 +77,7 @@ public class CPPClassScope extends CPPScope implements ICPPClassScope { super(physicalNode); } + @Override public EScopeKind getKind() { return EScopeKind.eClassType; } @@ -270,6 +271,7 @@ public class CPPClassScope extends CPPScope implements ICPPClassScope { return true; } + @Override public ICPPConstructor[] getConstructors() { return getConstructors(null, true); } @@ -277,7 +279,7 @@ public class CPPClassScope extends CPPScope implements ICPPClassScope { private ICPPConstructor[] getConstructors(IASTName forName, boolean forceResolve) { populateCache(); - final CharArrayObjectMap nameMap = bindings; + final CharArrayObjectMap nameMap = bindings; if (nameMap == null) return ICPPConstructor.EMPTY_CONSTRUCTOR_ARRAY; @@ -365,6 +367,7 @@ public class CPPClassScope extends CPPScope implements ICPPClassScope { /* (non-Javadoc) * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPClassScope#getClassType() */ + @Override public ICPPClassType getClassType() { ICPPASTCompositeTypeSpecifier compSpec = (ICPPASTCompositeTypeSpecifier) getPhysicalNode(); final IASTName name = compSpec.getName(); @@ -378,6 +381,7 @@ public class CPPClassScope extends CPPScope implements ICPPClassScope { /* (non-Javadoc) * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPClassScope#getImplicitMethods() */ + @Override public ICPPMethod[] getImplicitMethods() { if (implicits == null) return ICPPMethod.EMPTY_CPPMETHOD_ARRAY; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunctionScope.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunctionScope.java index 2c74766f7a4..4efe88076c5 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunctionScope.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunctionScope.java @@ -38,7 +38,7 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; */ public class CPPFunctionScope extends CPPScope implements ICPPFunctionScope { - private CharArrayObjectMap labels = CharArrayObjectMap.EMPTY_MAP; + private CharArrayObjectMap labels = CharArrayObjectMap.emptyMap(); /** * @param physicalNode @@ -47,6 +47,7 @@ public class CPPFunctionScope extends CPPScope implements ICPPFunctionScope { super(physicalNode); } + @Override public EScopeKind getKind() { return EScopeKind.eLocal; } @@ -61,7 +62,7 @@ public class CPPFunctionScope extends CPPScope implements ICPPFunctionScope { return; if (labels == CharArrayObjectMap.EMPTY_MAP) - labels = new CharArrayObjectMap(2); + labels = new CharArrayObjectMap(2); labels.put(binding.getNameCharArray(), binding); } @@ -70,7 +71,7 @@ public class CPPFunctionScope extends CPPScope implements ICPPFunctionScope { * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPScope#getBinding(int, char[]) */ public IBinding getBinding(IASTName name) { - return (IBinding) labels.get(name.getLookupKey()); + return labels.get(name.getLookupKey()); } /* (non-Javadoc) @@ -84,7 +85,7 @@ public class CPPFunctionScope extends CPPScope implements ICPPFunctionScope { for (int i = 0; i < labels.size(); i++) { char[] key = labels.keyAt(i); if (CharArrayUtils.equals(key, n)) { - bindings.add((IBinding) labels.get(key)); + bindings.add(labels.get(key)); } } @@ -108,7 +109,8 @@ public class CPPFunctionScope extends CPPScope implements ICPPFunctionScope { /* (non-Javadoc) * @see org.eclipse.cdt.core.dom.ast.cpp.ICPPFunctionScope#getBodyScope() */ - public IScope getBodyScope() { + @Override + public IScope getBodyScope() { IASTFunctionDeclarator fnDtor = (IASTFunctionDeclarator) getPhysicalNode(); IASTNode parent = fnDtor.getParent(); if (parent instanceof IASTFunctionDefinition) { diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/BaseClassLookup.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/BaseClassLookup.java index 82ffa89a563..66a3f4e395b 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/BaseClassLookup.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/BaseClassLookup.java @@ -320,7 +320,9 @@ class BaseClassLookup { return; fCollected= true; - data.foundItems = CPPSemantics.mergePrefixResults((CharArrayObjectMap) data.foundItems, fBindings, true); + @SuppressWarnings("unchecked") + final CharArrayObjectMap resultMap = (CharArrayObjectMap) data.foundItems; + data.foundItems = CPPSemantics.mergePrefixResults(resultMap, fBindings, true); for (int i= 0; i < fChildren.size(); i++) { BaseClassLookup child = fChildren.get(i); child.collectResultForContentAssist(data); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/LookupData.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/LookupData.java index 201d5c4a69d..852200c56f1 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/LookupData.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/LookupData.java @@ -341,7 +341,7 @@ public class LookupData { if (foundItems instanceof Object[]) return ((Object[]) foundItems).length != 0; if (foundItems instanceof CharArrayObjectMap) - return ((CharArrayObjectMap) foundItems).size() != 0; + return ((CharArrayObjectMap) foundItems).size() != 0; return false; }