diff --git a/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/AsmModelBuilderTest.java b/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/AsmModelBuilderTest.java index 5762fd938f7..008779a3f25 100644 --- a/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/AsmModelBuilderTest.java +++ b/core/org.eclipse.cdt.core.tests/model/org/eclipse/cdt/core/model/tests/AsmModelBuilderTest.java @@ -43,6 +43,7 @@ public class AsmModelBuilderTest extends BaseTestCase { super(name); } + @Override protected void setUp() throws Exception { super.setUp(); fCProject= CProjectHelper.createCProject(getName(), null, IPDOMManager.ID_FAST_INDEXER); @@ -52,6 +53,7 @@ public class AsmModelBuilderTest extends BaseTestCase { assertNotNull(fTU); } + @Override protected void tearDown() throws Exception { CProjectHelper.delete(fCProject); super.tearDown(); @@ -101,10 +103,10 @@ public class AsmModelBuilderTest extends BaseTestCase { public void testAsmLabelRanges() throws Exception { String source= fTU.getBuffer().getContents(); - ICElement[] labels= (ICElement[]) fTU.getChildrenOfType(ICElement.ASM_LABEL).toArray(new ICElement[0]); - for (int i = 0; i < labels.length; i++) { - String name= labels[i].getElementName(); - ISourceReference label= (ISourceReference)labels[i]; + ICElement[] labels= fTU.getChildrenOfType(ICElement.ASM_LABEL).toArray(new ICElement[0]); + for (ICElement label2 : labels) { + String name= label2.getElementName(); + ISourceReference label= (ISourceReference)label2; ISourceRange range= label.getSourceRange(); assertEquals(source.substring(range.getIdStartPos(), range.getIdStartPos() + range.getIdLength()), name); int endOfLabel= source.indexOf("/* end */", range.getIdStartPos()); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CFunction.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CFunction.java index 47067672ed5..43df9be9557 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CFunction.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/c/CFunction.java @@ -360,7 +360,7 @@ public class CFunction extends PlatformObject implements IFunction, ICInternalFu } else if( parent instanceof IASTFunctionDefinition ) declSpec = ((IASTFunctionDefinition)parent).getDeclSpecifier(); - if( declSpec.getStorageClass() == storage ) { + if( declSpec != null && declSpec.getStorageClass() == storage ) { return true; } } @@ -421,7 +421,7 @@ public class CFunction extends PlatformObject implements IFunction, ICInternalFu } else if( parent instanceof IASTFunctionDefinition ) declSpec = ((IASTFunctionDefinition)parent).getDeclSpecifier(); - if( declSpec.isInline() ) + if( declSpec != null && declSpec.isInline() ) return true; } if( ds != null && ++i < ds.length ) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPField.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPField.java index 390b8c77c91..c2559063b7c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPField.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPField.java @@ -64,16 +64,17 @@ public class CPPField extends CPPVariable implements ICPPField { public IASTDeclaration getPrimaryDeclaration() throws DOMException{ //first check if we already know it + IASTDeclaration decl= findDeclaration(getDefinition()); + if (decl != null) { + return decl; + } + IASTName [] declarations = (IASTName[]) getDeclarations(); - if( declarations != null || getDefinition() != null ){ - int len = ( declarations != null ) ? declarations.length : 0; - for( int i = -1; i < len; i++ ){ - IASTNode node = ( i == -1 ) ? getDefinition() : declarations[i]; - if( node != null ){ - while( !(node instanceof IASTDeclaration ) ) - node = node.getParent(); - if( node.getParent() instanceof ICPPASTCompositeTypeSpecifier ) - return (IASTDeclaration) node; + if (declarations != null) { + for (IASTName name : declarations) { + decl= findDeclaration(name); + if (decl != null) { + return decl; } } } @@ -83,15 +84,15 @@ public class CPPField extends CPPVariable implements ICPPField { ICPPClassScope scope = (ICPPClassScope) getScope(); ICPPASTCompositeTypeSpecifier compSpec = (ICPPASTCompositeTypeSpecifier) ASTInternal.getPhysicalNodeOfScope(scope); IASTDeclaration [] members = compSpec.getMembers(); - for( int i = 0; i < members.length; i++ ){ - if( members[i] instanceof IASTSimpleDeclaration ){ - IASTDeclarator [] dtors = ((IASTSimpleDeclaration)members[i]).getDeclarators(); - for( int j = 0; j < dtors.length; j++ ){ - IASTName name = dtors[j].getName(); + for (IASTDeclaration member : members) { + if( member instanceof IASTSimpleDeclaration ){ + IASTDeclarator [] dtors = ((IASTSimpleDeclaration)member).getDeclarators(); + for (IASTDeclarator dtor : dtors) { + IASTName name = dtor.getName(); if( CharArrayUtils.equals( name.toCharArray(), myName ) && name.resolveBinding() == this ) { - return members[i]; + return member; } } } @@ -99,6 +100,16 @@ public class CPPField extends CPPVariable implements ICPPField { return null; } + private IASTDeclaration findDeclaration(IASTNode node) { + while(node != null && node instanceof IASTDeclaration == false) { + node = node.getParent(); + } + if (node != null && node.getParent() instanceof ICPPASTCompositeTypeSpecifier) { + return (IASTDeclaration) node; + } + return null; + } + public int getVisibility() throws DOMException { ICPPASTVisibilityLabel vis = null; IASTDeclaration decl = getPrimaryDeclaration(); @@ -106,10 +117,10 @@ public class CPPField extends CPPVariable implements ICPPField { IASTCompositeTypeSpecifier cls = (IASTCompositeTypeSpecifier) decl.getParent(); IASTDeclaration [] members = cls.getMembers(); - for( int i = 0; i < members.length; i++ ){ - if( members[i] instanceof ICPPASTVisibilityLabel ) - vis = (ICPPASTVisibilityLabel) members[i]; - else if( members[i] == decl ) + for (IASTDeclaration member : members) { + if( member instanceof ICPPASTVisibilityLabel ) + vis = (ICPPASTVisibilityLabel) member; + else if( member == decl ) break; } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFieldSpecialization.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFieldSpecialization.java index 27b9f227cec..cd8176a7cf1 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFieldSpecialization.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFieldSpecialization.java @@ -26,11 +26,7 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPTemplates; */ public class CPPFieldSpecialization extends CPPSpecialization implements ICPPField { private IType type = null; - /** - * @param orig - * @param args - * @param args - */ + public CPPFieldSpecialization( IBinding orig, ICPPScope scope, ObjectMap argMap ) { super(orig, scope, argMap); } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunction.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunction.java index 386b460040b..e798ac297b6 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunction.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunction.java @@ -448,7 +448,7 @@ public class CPPFunction extends PlatformObject implements ICPPFunction, ICPPInt } else if (parent instanceof IASTFunctionDefinition) { declSpec = ((IASTFunctionDefinition)parent).getDeclSpecifier(); } - if (declSpec.getStorageClass() == storage) { + if (declSpec != null && declSpec.getStorageClass() == storage) { return true; } } @@ -481,7 +481,7 @@ public class CPPFunction extends PlatformObject implements ICPPFunction, ICPPInt else if (parent instanceof IASTFunctionDefinition) declSpec = ((IASTFunctionDefinition)parent).getDeclSpecifier(); - if (declSpec.isInline()) + if (declSpec != null && declSpec.isInline()) return true; } if (ds != null && ++i < ds.length) @@ -498,8 +498,8 @@ public class CPPFunction extends PlatformObject implements ICPPFunction, ICPPInt } IASTNode[] ds= getDeclarations(); if (ds != null) { - for (int i = 0; i < ds.length; i++) { - if (CPPVisitor.isExternC(ds[i])) { + for (IASTNode element : ds) { + if (CPPVisitor.isExternC(element)) { return true; } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunctionTemplate.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunctionTemplate.java index e4e44e1a2d9..9bde0bc43f3 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunctionTemplate.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPFunctionTemplate.java @@ -197,7 +197,7 @@ public class CPPFunctionTemplate extends CPPTemplateDefinition implements ICPPFu declSpec = ((IASTSimpleDeclaration)parent).getDeclSpecifier(); else if( parent instanceof IASTFunctionDefinition ) declSpec = ((IASTFunctionDefinition)parent).getDeclSpecifier(); - if( declSpec.getStorageClass() == storage ) { + if( declSpec != null && declSpec.getStorageClass() == storage ) { return true; } } @@ -290,7 +290,7 @@ public class CPPFunctionTemplate extends CPPTemplateDefinition implements ICPPFu else if( parent instanceof IASTFunctionDefinition ) declSpec = ((IASTFunctionDefinition)parent).getDeclSpecifier(); - if( declSpec.isInline() ) + if( declSpec != null && declSpec.isInline() ) return true; } if( ns != null && ++i < ns.length ) @@ -307,8 +307,8 @@ public class CPPFunctionTemplate extends CPPTemplateDefinition implements ICPPFu } IASTNode[] ds= getDeclarations(); if (ds != null) { - for (int i = 0; i < ds.length; i++) { - if (CPPVisitor.isExternC(ds[i])) { + for (IASTNode element : ds) { + if (CPPVisitor.isExternC(element)) { return true; } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPImplicitMethod.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPImplicitMethod.java index 3d545d56ce6..07678a45aee 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPImplicitMethod.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPImplicitMethod.java @@ -56,10 +56,10 @@ public class CPPImplicitMethod extends CPPImplicitFunction implements ICPPMethod IASTCompositeTypeSpecifier cls = (IASTCompositeTypeSpecifier) decl.getParent(); IASTDeclaration [] members = cls.getMembers(); ICPPASTVisibilityLabel vis = null; - for( int i = 0; i < members.length; i++ ){ - if( members[i] instanceof ICPPASTVisibilityLabel ) - vis = (ICPPASTVisibilityLabel) members[i]; - else if( members[i] == decl ) + for (IASTDeclaration member : members) { + if( member instanceof ICPPASTVisibilityLabel ) + vis = (ICPPASTVisibilityLabel) member; + else if( member == decl ) break; } if( vis != null ){ @@ -78,11 +78,11 @@ public class CPPImplicitMethod extends CPPImplicitFunction implements ICPPMethod public IASTDeclaration getPrimaryDeclaration() throws DOMException{ //first check if we already know it if( declarations != null ){ - for( int i = 0; i < declarations.length; i++ ){ - if (declarations[i] == null) { + for (ICPPASTFunctionDeclarator declaration : declarations) { + if (declaration == null) { break; } - IASTDeclaration decl = (IASTDeclaration) declarations[i].getParent(); + IASTDeclaration decl = (IASTDeclaration) declaration.getParent(); if( decl.getParent() instanceof ICPPASTCompositeTypeSpecifier ) return decl; } @@ -96,12 +96,11 @@ public class CPPImplicitMethod extends CPPImplicitFunction implements ICPPMethod return null; } IASTDeclaration [] members = compSpec.getMembers(); - for( int i = 0; i < members.length; i++ ){ + for (IASTDeclaration member : members) { IASTDeclarator dtor = null; IASTDeclarator [] ds = null; int di = -1; - IASTDeclaration member = members[i]; if( member instanceof ICPPASTTemplateDeclaration ) member = ((ICPPASTTemplateDeclaration) member).getDeclaration(); if( member instanceof IASTSimpleDeclaration ){ @@ -112,46 +111,45 @@ public class CPPImplicitMethod extends CPPImplicitFunction implements ICPPMethod if( ds != null && ds.length > 0 ){ di = 0; dtor = ds[0]; - } - - while( dtor != null ){ - IASTName name = dtor.getName(); - if( dtor instanceof ICPPASTFunctionDeclarator && - CharArrayUtils.equals( name.toCharArray(), getNameCharArray() ) ) - { - IType t0= CPPVisitor.createType( dtor ); - boolean ok= false; - if (t0 instanceof IFunctionType) { - IFunctionType t = (IFunctionType) t0; - IType [] ps = t.getParameterTypes(); - if( ps.length == params.length ){ - int idx = 0; - for( ; idx < ps.length && ps[idx] != null; idx++ ){ - if( !ps[idx].isSameType(params[idx]) ) - break; + while( dtor != null ){ + IASTName name = dtor.getName(); + if( dtor instanceof ICPPASTFunctionDeclarator && + CharArrayUtils.equals( name.toCharArray(), getNameCharArray() ) ) + { + IType t0= CPPVisitor.createType( dtor ); + boolean ok= false; + if (t0 instanceof IFunctionType) { + IFunctionType t = (IFunctionType) t0; + IType [] ps = t.getParameterTypes(); + if( ps.length == params.length ){ + int idx = 0; + for( ; idx < ps.length && ps[idx] != null; idx++ ){ + if( !ps[idx].isSameType(params[idx]) ) + break; + } + ok= idx == ps.length; } - ok= idx == ps.length; - } - else if (ps.length == 0) { - if (params.length == 1) { - IType t1= params[0]; - ok = (t1 instanceof IBasicType) && ((IBasicType) t1).getType() == IBasicType.t_void; + else if (ps.length == 0) { + if (params.length == 1) { + IType t1= params[0]; + ok = (t1 instanceof IBasicType) && ((IBasicType) t1).getType() == IBasicType.t_void; + } } } + else { + ok= false; + } + if (ok) { + name.setBinding( this ); + if( member instanceof IASTSimpleDeclaration ) + addDeclaration( dtor ); + else if( member instanceof IASTFunctionDefinition ) + addDefinition( dtor ); + return member; + } } - else { - ok= false; - } - if (ok) { - name.setBinding( this ); - if( member instanceof IASTSimpleDeclaration ) - addDeclaration( dtor ); - else if( member instanceof IASTFunctionDefinition ) - addDefinition( dtor ); - return members[i]; - } + dtor = ( di > -1 && ++ di < ds.length ) ? ds[di] : null; } - dtor = ( di > -1 && ++ di < ds.length ) ? ds[di] : null; } } return null; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ICPPInternalDeferredClassInstance.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ICPPInternalDeferredClassInstance.java index 24d23facc4c..cfa19c6ad9a 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ICPPInternalDeferredClassInstance.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ICPPInternalDeferredClassInstance.java @@ -21,7 +21,6 @@ public interface ICPPInternalDeferredClassInstance { /** * instantiate the original template - * @return */ public IType instantiate(ObjectMap argMap); } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ICPPInternalUnknown.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ICPPInternalUnknown.java index 1aba0330fc8..8d49cbe3d76 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ICPPInternalUnknown.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/ICPPInternalUnknown.java @@ -25,10 +25,5 @@ import org.eclipse.cdt.core.parser.util.ObjectMap; public interface ICPPInternalUnknown extends ICPPInternalBinding { public ICPPScope getUnknownScope(); - /** - * @param argMap - * @return - * @throws DOMException - */ public IBinding resolveUnknown(ObjectMap argMap) throws DOMException; } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java index 0e9928f5202..100c88871e9 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java @@ -398,8 +398,7 @@ public class CPPSemantics { IType[] ps = getSourceParameterTypes(data.functionParameters); ObjectSet namespaces = new ObjectSet(2); ObjectSet classes = new ObjectSet(2); - for (int i = 0; i < ps.length; i++) { - IType p = ps[i]; + for (IType p : ps) { p = getUltimateType(p, true); try { getAssociatedScopes(p, namespaces, classes, data.tu); @@ -421,10 +420,10 @@ public class CPPSemantics { ICPPClassType cls = (ICPPClassType) t; ICPPBase[] bases = cls.getBases(); - for (int i = 0; i < bases.length; i++) { - if (bases[i] instanceof IProblemBinding) + for (ICPPBase base : bases) { + if (base instanceof IProblemBinding) continue; - IBinding b = bases[i].getBaseClass(); + IBinding b = base.getBaseClass(); if (b instanceof IType) getAssociatedScopes((IType) b, namespaces, classes, tu); } @@ -438,8 +437,8 @@ public class CPPSemantics { getAssociatedScopes(getUltimateType(ft.getReturnType(), true), namespaces, classes, tu); IType[] ps = ft.getParameterTypes(); - for (int i = 0; i < ps.length; i++) { - getAssociatedScopes(getUltimateType(ps[i], true), namespaces, classes, tu); + for (IType element : ps) { + getAssociatedScopes(getUltimateType(element, true), namespaces, classes, tu); } } else if (t instanceof ICPPPointerToMemberType) { IBinding binding = ((ICPPPointerToMemberType)t).getMemberOfClass(); @@ -511,29 +510,36 @@ public class CPPSemantics { CharArrayObjectMap map = null; Object[] objs = null; + int size; if (source instanceof CharArrayObjectMap) { map = (CharArrayObjectMap) source; + size= map.size(); } else { if (source instanceof Object[]) objs = ArrayUtil.trim(Object.class, (Object[]) source); else objs = new Object[]{ source }; + size= objs.length; } - int size = map != null ? map.size() : objs.length; int resultInitialSize = resultMap.size(); for (int i = 0; i < size; i ++) { - char[] key = (map != null) ? - map.keyAt(i) : - (objs[i] instanceof IBinding) ? - ((IBinding) objs[i]).getNameCharArray() : - ((IASTName) objs[i]).toCharArray(); + char[] key; + Object so; + if (map != null) { + key= map.keyAt(i); + so= map.get(key); + } else if (objs != null) { + so= objs[i]; + key= (so instanceof IBinding) ? ((IBinding) so).getNameCharArray() : ((IASTName) so).toCharArray(); + } else { + return resultMap; + } int idx = resultMap.lookup(key); if (idx == -1) { - resultMap.put(key, (map != null) ? map.get(key) : objs[i]); + resultMap.put(key, so); } else if (!scoped || idx >= resultInitialSize) { Object obj = resultMap.get(key); - Object so = (map != null) ? map.get(key) : objs[i]; if (obj instanceof Object[]) { if (so instanceof IBinding || so instanceof IASTName) obj = ArrayUtil.append(Object.class, (Object[]) obj, so); @@ -621,9 +627,11 @@ public class CPPSemantics { if (inScope != null) { if (data.contentAssist) { Object[] objs = ArrayUtil.addAll(Object.class, null, inScope); - for (int i = 0; i < b.length; i++) { - if (isFromIndex(b[i])) - objs = ArrayUtil.append(Object.class, objs, b[i]); + if (b != null) { + for (IBinding element : b) { + if (isFromIndex(element)) + objs = ArrayUtil.append(Object.class, objs, element); + } } mergeResults(data, objs, true); } else { @@ -650,8 +658,7 @@ public class CPPSemantics { ICPPUsingDirective[] uds= blockScope.getUsingDirectives(); if (uds != null && uds.length > 0) { HashSet handled= new HashSet(); - for (int i = 0; i < uds.length; i++) { - final ICPPUsingDirective ud = uds[i]; + for (final ICPPUsingDirective ud : uds) { if (CPPSemantics.declaredBefore(ud, data.astName, false)) { storeUsingDirective(data, blockScope, ud, handled); } @@ -851,11 +858,11 @@ public class CPPSemantics { ICPPBase[] bases = cls.getBases(); - for (int i = 0; i < bases.length; i++) { - IBinding b = bases[i].getBaseClass(); + for (ICPPBase base : bases) { + IBinding b = base.getBaseClass(); if (b instanceof ICPPClassType) { IScope bScope = ((ICPPClassType)b).getCompositeScope(); - if (bases[i].isVirtual()) { + if (base.isVirtual()) { if (bScope != null) data.visited.put(bScope); } else if (bScope != null) { @@ -878,10 +885,17 @@ public class CPPSemantics { return false; } - IBinding binding = (n instanceof IBinding) ? (IBinding)n : ((IASTName)n).resolveBinding(); - Object[] objs = (names instanceof Object[]) ? (Object[])names : null; - int idx = (objs != null && objs.length > 0) ? 0 : -1; - Object o = (idx != -1) ? objs[idx++] : names; + IBinding binding= (n instanceof IBinding) ? (IBinding) n : ((IASTName) n).resolveBinding(); + + int idx= 0; + Object[] objs= null; + Object o= names; + if (names instanceof Object[]) { + objs= (Object[]) names; + o= objs[0]; + idx= 1; + } + while (o != null) { IBinding b = (o instanceof IBinding) ? (IBinding) o : ((IASTName)o).resolveBinding(); @@ -910,7 +924,7 @@ public class CPPSemantics { if (!ok) return true; } - if (idx > -1 && idx < objs.length) + if (objs != null && idx < objs.length) o = objs[idx++]; else o = null; @@ -955,8 +969,8 @@ public class CPPSemantics { data.tu.handleAdditionalDirectives(nominated); } ICPPUsingDirective[] transitive= nominated.getUsingDirectives(); - for (int i = 0; i < transitive.length; i++) { - storeUsingDirective(data, container, transitive[i], handled); + for (ICPPUsingDirective element : transitive) { + storeUsingDirective(data, container, element, handled); } } } @@ -1033,8 +1047,7 @@ public class CPPSemantics { //need binding because namespaces can be split CPPNamespace namespace = (CPPNamespace) ((ICPPASTNamespaceDefinition)parent).getName().resolveBinding(); namespaceDefs = namespace.getNamespaceDefinitions(); - namespaceIdx= 0; - nodes = ((ICPPASTNamespaceDefinition)namespaceDefs[namespaceIdx].getParent()).getDeclarations(); + nodes = ((ICPPASTNamespaceDefinition)namespaceDefs[++namespaceIdx].getParent()).getDeclarations(); while (nodes.length == 0 && ++namespaceIdx < namespaceDefs.length) { nodes= ((ICPPASTNamespaceDefinition)namespaceDefs[namespaceIdx].getParent()).getDeclarations(); } @@ -1108,14 +1121,14 @@ public class CPPSemantics { } } - if (idx > -1 && ++idx < nodes.length) { + if (nodes != null && ++idx < nodes.length) { item = nodes[idx]; } else { item = null; - while (item == null) { - if (namespaceIdx > -1) { + while (true) { + if (namespaceDefs != null) { //check all definitions of this namespace - while (namespaceIdx > -1 && namespaceDefs.length > ++namespaceIdx) { + while (++namespaceIdx < namespaceDefs.length) { nodes = ((ICPPASTNamespaceDefinition)namespaceDefs[namespaceIdx].getParent()).getDeclarations(); if (nodes.length > 0) { idx = 0; @@ -1136,14 +1149,14 @@ public class CPPSemantics { parent = ((ICPPASTCatchHandler)parent).getCatchBody(); if (parent instanceof IASTCompoundStatement) { nodes = ((IASTCompoundStatement)parent).getStatements(); + if (nodes.length > 0) { + idx = 0; + item = nodes[0]; + break; + } } - if (nodes.length > 0) { - idx = 0; - item = nodes[0]; - break; - } } - if (item == null && nodeStackPos >= 0) { + if (item == null && nodeStack != null && nodeIdxStack != null && nodeStackPos >= 0) { nodes = nodeStack[nodeStackPos]; nodeStack[nodeStackPos] = null; idx = nodeIdxStack[nodeStackPos--]; @@ -1200,8 +1213,7 @@ public class CPPSemantics { data.tu.handleAdditionalDirectives(nominated); } ICPPUsingDirective[] usings= nominated.getUsingDirectives(); - for (int i = 0; i < usings.length; i++) { - ICPPUsingDirective using = usings[i]; + for (ICPPUsingDirective using : usings) { storeUsingDirective(data, scope, using, null); } } @@ -1273,8 +1285,7 @@ public class CPPSemantics { ICPPASTDeclSpecifier declSpec = (ICPPASTDeclSpecifier) simpleDeclaration.getDeclSpecifier(); IASTDeclarator[] declarators = simpleDeclaration.getDeclarators(); if (!declSpec.isFriend()) { - for (int i = 0; i < declarators.length; i++) { - IASTDeclarator declarator = declarators[i]; + for (IASTDeclarator declarator : declarators) { while (declarator.getNestedDeclarator() != null) declarator = declarator.getNestedDeclarator(); IASTName declaratorName = declarator.getName(); @@ -1307,8 +1318,8 @@ public class CPPSemantics { { Object o = null; IASTDeclaration[] decls = compSpec.getMembers(); - for (int i = 0; i < decls.length; i++) { - o = collectResult(data, scope, decls[i], checkAux); + for (IASTDeclaration decl : decls) { + o = collectResult(data, scope, decl, checkAux); if (o instanceof IASTName) { if (resultName == null) resultName = (IASTName) o; @@ -1338,8 +1349,7 @@ public class CPPSemantics { //check enumerators too IASTEnumerator[] list = enumeration.getEnumerators(); IASTName tempName; - for (int i = 0; i < list.length; i++) { - IASTEnumerator enumerator = list[i]; + for (IASTEnumerator enumerator : list) { if (enumerator == null) break; tempName = enumerator.getName(); ASTInternal.addName(scope, tempName); @@ -1460,11 +1470,11 @@ public class CPPSemantics { } IBinding[] result = null; - for (int i = 0; i < bindings.length; i++) { - if (bindings[i] instanceof IASTName) - result = (IBinding[]) ArrayUtil.append(IBinding.class, result, ((IASTName)bindings[i]).resolveBinding()); - else if (bindings[i] instanceof IBinding) - result = (IBinding[]) ArrayUtil.append(IBinding.class, result, bindings[i]); + for (Object binding : bindings) { + if (binding instanceof IASTName) + result = (IBinding[]) ArrayUtil.append(IBinding.class, result, ((IASTName)binding).resolveBinding()); + else if (binding instanceof IBinding) + result = (IBinding[]) ArrayUtil.append(IBinding.class, result, binding); } return new CPPCompositeBinding(result); } @@ -1863,8 +1873,8 @@ public class CPPSemantics { result[0] = implicitType; } } - for (int i = 0; i < params.length; i++) - result = (IType[]) ArrayUtil.append(IType.class, result, params[i].getType()); + for (IParameter param : params) + result = (IType[]) ArrayUtil.append(IType.class, result, param.getType()); return result; } @@ -1886,9 +1896,9 @@ public class CPPSemantics { reduceToViable(data, fns); if (data.forDefinition() || data.forExplicitInstantiation()) { - for (int i = 0; i < fns.length; i++) { - if (fns[i] != null) { - return fns[i]; + for (IFunction fn : fns) { + if (fn != null) { + return fn; } } return null; @@ -2010,26 +2020,22 @@ public class CPPSemantics { if (!hasWorse) { // if they are both template functions, we can order them that way - boolean bestIsTemplate = (bestFn instanceof ICPPSpecialization && - ((ICPPSpecialization) bestFn).getSpecializedBinding() instanceof ICPPFunctionTemplate); - boolean currIsTemplate = (currFn instanceof ICPPSpecialization && - ((ICPPSpecialization) currFn).getSpecializedBinding() instanceof ICPPFunctionTemplate); - if (bestIsTemplate && currIsTemplate) { - ICPPFunctionTemplate t1 = (ICPPFunctionTemplate) ((ICPPSpecialization) bestFn).getSpecializedBinding(); - ICPPFunctionTemplate t2 = (ICPPFunctionTemplate) ((ICPPSpecialization) currFn).getSpecializedBinding(); - int order = CPPTemplates.orderTemplateFunctions(t1, t2); + ICPPFunctionTemplate bestAsTemplate= asTemplate(bestFn); + ICPPFunctionTemplate currAsTemplate= asTemplate(currFn); + if (bestAsTemplate != null && currAsTemplate != null) { + int order = CPPTemplates.orderTemplateFunctions(bestAsTemplate, currAsTemplate); if (order < 0) { hasBetter = true; } else if (order > 0) { ambiguous = false; } - } else if (bestIsTemplate && !currIsTemplate) { + } else if (bestAsTemplate != null) { // we prefer normal functions over template functions, unless we specified template arguments if (data.preferTemplateFunctions()) ambiguous = false; else hasBetter = true; - } else if (!bestIsTemplate && currIsTemplate) { + } else if (currAsTemplate != null) { if (data.preferTemplateFunctions()) hasBetter = true; else @@ -2052,6 +2058,16 @@ public class CPPSemantics { return bestFn; } + + private static ICPPFunctionTemplate asTemplate(IFunction function) { + if (function instanceof ICPPSpecialization) { + IBinding original= ((ICPPSpecialization) function).getSpecializedBinding(); + if (original instanceof ICPPFunctionTemplate) { + return (ICPPFunctionTemplate) original; + } + } + return null; + } /** * 13.4-1 A use of an overloaded function without arguments is resolved in certain contexts to a function @@ -2084,8 +2100,8 @@ public class CPPSemantics { if (type == null || !(type instanceof IFunctionType)) return new ProblemBinding(data.astName, IProblemBinding.SEMANTIC_AMBIGUOUS_LOOKUP, data.name()); - for (int i = 0; i < fns.length; i++) { - IFunction fn = (IFunction) fns[i]; + for (IBinding fn2 : fns) { + IFunction fn = (IFunction) fn2; IType ft = null; try { ft = fn.getType(); @@ -2100,7 +2116,7 @@ public class CPPSemantics { } } - if (idx > 0 && ++idx < types.length) { + if (types != null && ++idx < types.length) { type = types[idx]; } else { type = null; @@ -2248,8 +2264,7 @@ public class CPPSemantics { if (data.hasResults()) { Object[] items = (Object[]) data.foundItems; IBinding temp = null; - for (int i = 0; i < items.length; i++) { - Object o = items[i]; + for (Object o : items) { if (o == null) break; if (o instanceof IASTName) { temp = ((IASTName) o).resolveBinding(); @@ -2402,11 +2417,11 @@ public class CPPSemantics { ObjectSet set = new ObjectSet(items.length); IBinding binding = null; - for (int i = 0; i < items.length; i++) { - if (items[i] instanceof IASTName) { - binding = ((IASTName) items[i]).resolveBinding(); - } else if (items[i] instanceof IBinding) { - binding = (IBinding) items[i]; + for (Object item : items) { + if (item instanceof IASTName) { + binding = ((IASTName) item).resolveBinding(); + } else if (item instanceof IBinding) { + binding = (IBinding) item; } else { binding = null; } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java index 27b65be519d..79b72050afe 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java @@ -182,11 +182,11 @@ public class CPPTemplates { int idx = templates.length; int i = 0; IASTName[] ns = ((ICPPASTQualifiedName) name).getNames(); - for (int j = 0; j < ns.length; j++) { - if (ns[j] instanceof ICPPASTTemplateId) { + for (IASTName element : ns) { + if (element instanceof ICPPASTTemplateId) { ++i; if (i == idx) { - binding = ((ICPPASTTemplateId) ns[j]).getTemplateName().resolveBinding(); + binding = ((ICPPASTTemplateId) element).getTemplateName().resolveBinding(); break; } } @@ -253,10 +253,6 @@ public class CPPTemplates { return null; } - /** - * @param id - * @return - */ public static IBinding createBinding(ICPPASTTemplateId id) { IASTNode parent = id.getParent(); int segment = -1; @@ -407,9 +403,9 @@ public class CPPTemplates { } catch (DOMException e) { } if (specializations != null) { - for (int i = 0; i < specializations.length; i++) { - if (isSameTemplate(specializations[i], id)) { - spec = specializations[i]; + for (ICPPClassTemplatePartialSpecialization specialization : specializations) { + if (isSameTemplate(specialization, id)) { + spec = specialization; break; } } @@ -503,10 +499,8 @@ public class CPPTemplates { return null; ICPPFunctionTemplate[] templates = null; IBinding temp = null; - for (int i = 0; i < items.length; i++) { - Object o = items[i]; - - if (o instanceof IASTName) { + for (Object o : items) { + if (o instanceof IASTName) { temp = ((IASTName) o).resolveBinding(); if (temp == null) continue; @@ -565,7 +559,7 @@ public class CPPTemplates { IType arg = null; for (int j = 0; j < numParams; j++) { ICPPTemplateParameter param = params[j]; - if (j < numArgs) { + if (j < numArgs && templateArguments != null) { arg = templateArguments[j]; } else { arg = null; @@ -593,10 +587,6 @@ public class CPPTemplates { /** * return Object[] of { ObjectMap, IType[] } - * @param primaryTemplate - * @param ps - * @param specArgs - * @return * @throws DOMException */ static protected Object[] deduceTemplateFunctionArguments(ICPPFunctionTemplate primaryTemplate, @@ -642,11 +632,6 @@ public class CPPTemplates { return null; } - /** - * @param decl - * @param arguments - * @return - */ public static IBinding createInstance(ICPPScope scope, IBinding decl, ObjectMap argMap, IType[] args) { ICPPTemplateInstance instance = null; if (decl instanceof ICPPClassType) { @@ -919,9 +904,9 @@ public class CPPTemplates { boolean clear = bindings.containsKey(name.getBinding()); if (!clear && binding instanceof ICPPTemplateInstance) { IType[] args = ((ICPPTemplateInstance) binding).getArguments(); - for (int i = 0; i < args.length; i++) { - if (args[i] instanceof IBinding) { - if(bindings.containsKey((IBinding)args[i])) { + for (IType arg : args) { + if (arg instanceof IBinding) { + if(bindings.containsKey((IBinding)arg)) { clear = true; break; } @@ -941,11 +926,7 @@ public class CPPTemplates { return PROCESS_SKIP; } } - /** - * @param definition - * @param declarator - * @return - */ + public static boolean isSameTemplate(ICPPTemplateDefinition definition, IASTName name) { ICPPTemplateParameter[] defParams = null; try { @@ -1094,7 +1075,7 @@ public class CPPTemplates { IType[] instanceArgs = null; for (int i = 0; i < numTemplateParams; i++) { - IType arg = (i < numTemplateArgs) ? CPPVisitor.createType(templateArguments[i]) : null; + IType arg = (i < numTemplateArgs && templateArguments != null) ? CPPVisitor.createType(templateArguments[i]) : null; IType mapped = (IType) map.get(templateParams[i]); if (arg != null && mapped != null) { @@ -1118,7 +1099,7 @@ public class CPPTemplates { if (def != null) { if (def instanceof ICPPTemplateParameter) { for (int j = 0; j < i; j++) { - if (templateParams[j] == def) { + if (templateParams[j] == def && instanceArgs != null) { def = instanceArgs[j]; } } @@ -1410,7 +1391,10 @@ public class CPPTemplates { } ICPPClassTemplatePartialSpecialization[] specializations = template.getPartialSpecializations(); - int size = (specializations != null) ? specializations.length : 0; + if (specializations == null) { + return template; + } + final int size= specializations.length; if (size == 0) { return template; } @@ -1490,9 +1474,7 @@ public class CPPTemplates { public static final class CPPImplicitFunctionTemplate extends CPPFunctionTemplate { IParameter[] functionParameters = null; ICPPTemplateParameter[] templateParameters = null; - /** - * @param name - */ + public CPPImplicitFunctionTemplate(ICPPTemplateParameter[] templateParameters, IParameter[] functionParameters) { super(null); this.functionParameters = functionParameters; @@ -1656,7 +1638,10 @@ public class CPPTemplates { return e1.getProblem(); } - int numParams = (parameters != null) ? parameters.length : 0; + if (parameters == null) { + return null; + } + final int numParams= parameters.length; int numArgs = arguments.length; if (numParams == 0) { @@ -1719,10 +1704,10 @@ public class CPPTemplates { } } - if (map.isEmpty()) { - map = null; - } if (argsContainTemplateParameters) { + if (map.isEmpty()) { + map = null; + } return ((ICPPInternalTemplateInstantiator) template).deferredInstance(map, arguments); } @@ -1754,8 +1739,6 @@ public class CPPTemplates { * Returns an array of specialized bases. The bases will be specialized versions of * the template instances associated specialized bindings bases. * binding. - * @param classInstance - * @return * @throws DOMException */ public static ICPPBase[] getBases(ICPPTemplateInstance classInstance) throws DOMException { @@ -1765,8 +1748,7 @@ public class CPPTemplates { if (pdomBases != null) { ICPPBase[] result = null; - for (int i = 0; i < pdomBases.length; i++) { - ICPPBase origBase = pdomBases[i]; + for (ICPPBase origBase : pdomBases) { ICPPBase specBase = (ICPPBase) ((ICPPInternalBase) origBase).clone(); IBinding origClass = origBase.getBaseClass(); if (origClass instanceof IType) { 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 93c1d4ccbb2..0373a5aa999 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 @@ -284,7 +284,6 @@ class LookupData { } /** * an IType[] of function arguments, inluding the implied object argument - * @return */ public IType getImpliedObjectArgument() { IType implied = null; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCEnumerator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCEnumerator.java index 24dc98242b3..3d20ad43b87 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCEnumerator.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCEnumerator.java @@ -13,12 +13,11 @@ package org.eclipse.cdt.internal.core.index.composite.c; import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IEnumerator; import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.index.IIndexBinding; import org.eclipse.cdt.internal.core.index.IIndexFragmentBinding; import org.eclipse.cdt.internal.core.index.IIndexType; import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory; -class CompositeCEnumerator extends CompositeCBinding implements IIndexBinding, IEnumerator { +class CompositeCEnumerator extends CompositeCBinding implements IEnumerator { public CompositeCEnumerator(ICompositesFactory cf, IIndexFragmentBinding rbinding) { super(cf, rbinding); } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCField.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCField.java index a7d2eb0595b..ac95315ee1c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCField.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCField.java @@ -14,11 +14,10 @@ import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IBinding; import org.eclipse.cdt.core.dom.ast.ICompositeType; import org.eclipse.cdt.core.dom.ast.IField; -import org.eclipse.cdt.core.index.IIndexBinding; import org.eclipse.cdt.internal.core.index.IIndexFragmentBinding; import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory; -class CompositeCField extends CompositeCVariable implements IIndexBinding, IField { +class CompositeCField extends CompositeCVariable implements IField { public CompositeCField(ICompositesFactory cf, IIndexFragmentBinding rbinding) { super(cf, rbinding); } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCFunction.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCFunction.java index 67c471c73fd..26edab3bff7 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCFunction.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCFunction.java @@ -16,13 +16,12 @@ import org.eclipse.cdt.core.dom.ast.IFunctionType; import org.eclipse.cdt.core.dom.ast.IParameter; import org.eclipse.cdt.core.dom.ast.IScope; import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.index.IIndexBinding; import org.eclipse.cdt.internal.core.index.IIndexFragmentBinding; import org.eclipse.cdt.internal.core.index.IIndexScope; import org.eclipse.cdt.internal.core.index.IIndexType; import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory; -class CompositeCFunction extends CompositeCBinding implements IIndexBinding, IFunction { +class CompositeCFunction extends CompositeCBinding implements IFunction { public CompositeCFunction(ICompositesFactory cf, IIndexFragmentBinding rbinding) { super(cf, rbinding); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCParameter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCParameter.java index 4dba24fc924..330610ac393 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCParameter.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCParameter.java @@ -13,12 +13,11 @@ package org.eclipse.cdt.internal.core.index.composite.c; import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IParameter; import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.index.IIndexBinding; import org.eclipse.cdt.internal.core.index.IIndexFragmentBinding; import org.eclipse.cdt.internal.core.index.IIndexType; import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory; -class CompositeCParameter extends CompositeCBinding implements IIndexBinding, IParameter { +class CompositeCParameter extends CompositeCBinding implements IParameter { public CompositeCParameter(ICompositesFactory cf, IIndexFragmentBinding rbinding) { super(cf, rbinding); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCVariable.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCVariable.java index a4845ec4e5f..726a9225a3e 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCVariable.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/c/CompositeCVariable.java @@ -13,12 +13,11 @@ package org.eclipse.cdt.internal.core.index.composite.c; import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.IVariable; -import org.eclipse.cdt.core.index.IIndexBinding; import org.eclipse.cdt.internal.core.index.IIndexFragmentBinding; import org.eclipse.cdt.internal.core.index.IIndexType; import org.eclipse.cdt.internal.core.index.composite.ICompositesFactory; -class CompositeCVariable extends CompositeCBinding implements IIndexBinding, IVariable { +class CompositeCVariable extends CompositeCBinding implements IVariable { public CompositeCVariable(ICompositesFactory cf, IIndexFragmentBinding rbinding) { super(cf, rbinding); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/BTree.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/BTree.java index 6cdb683423d..0fe99a4aee0 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/BTree.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/BTree.java @@ -50,7 +50,7 @@ public class BTree { * Constructor. * * @param db the database containing the btree - * @param root offset into database of the pointer to the root node + * @param rootPointer offset into database of the pointer to the root node */ public BTree(Database db, int rootPointer, int degree, IBTreeComparator cmp) { if(degree<2) @@ -93,8 +93,7 @@ public class BTree { * key was already there, in which case we return the record * that matched. In other cases, we just return the record back. * - * @param offset of the record - * @return + * @param record offset of the record */ public int insert(int record) throws CoreException { int root = getRoot(); @@ -229,7 +228,6 @@ public class BTree { * The reference to the record in the btree is deleted. * * @param record the record to delete - * @param cmp the comparator for locating the record * @throws CoreException */ public void delete(int record) throws CoreException { @@ -345,8 +343,11 @@ public class BTree { /* Case 2c: Merge successor and predecessor */ // assert(pred!=null && succ!=null); - mergeNodes(succ, node, keyIndexInNode, pred); - return deleteImp(key, pred.node, mode); + if (pred != null) { + mergeNodes(succ, node, keyIndexInNode, pred); + return deleteImp(key, pred.node, mode); + } + return key; } else { /* Case 3: non-leaf node which does not itself contain the key */ @@ -422,7 +423,7 @@ public class BTree { * 'keyProvider' as the source of the median key. Bounds checking is not * performed. * @param src the key to merge into dst - * @param mid the node that provides the median key for the new node + * @param keyProvider the node that provides the median key for the new node * @param kIndex the index of the key in the node mid which is to become the new node's median key * @param dst the node which is the basis and result of the merge */ diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java index fb46e3b9332..7ff860d827d 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/DBProperties.java @@ -125,7 +125,6 @@ public class DBProperties { * it can be re-populated. * @throws CoreException */ - @SuppressWarnings("hiding") public void clear() throws CoreException { index.accept(new IBTreeVisitor(){ public int compare(int record) throws CoreException { diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/IBTreeComparator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/IBTreeComparator.java index dc4c15cecbd..4124abe0094 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/IBTreeComparator.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/IBTreeComparator.java @@ -10,8 +10,6 @@ *******************************************************************************/ package org.eclipse.cdt.internal.core.pdom.db; -import java.io.IOException; - import org.eclipse.core.runtime.CoreException; /** @@ -22,11 +20,6 @@ public interface IBTreeComparator { /** * Compare two records. Used for insert. - * - * @param record1 - * @param record2 - * @return - * @throws IOException */ public abstract int compare(int record1, int record2) throws CoreException; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/IBTreeVisitor.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/IBTreeVisitor.java index b0f2ca73c07..051677b7886 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/IBTreeVisitor.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/IBTreeVisitor.java @@ -11,8 +11,6 @@ *******************************************************************************/ package org.eclipse.cdt.internal.core.pdom.db; -import java.io.IOException; - import org.eclipse.core.runtime.CoreException; /** @@ -29,7 +27,7 @@ public interface IBTreeVisitor { * * @param record * @return -1 if record < key, 0 if record == key, 1 if record > key - * @throws IOException + * @throws CoreException */ public abstract int compare(int record) throws CoreException; @@ -37,7 +35,7 @@ public interface IBTreeVisitor { * Visit a given record and return whether to continue or not. * @return true to continue the visit, false to abort it. - * @throws IOException + * @throws CoreException */ public abstract boolean visit(int record) throws CoreException; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/IString.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/IString.java index c4b5b070b5a..94d34777f91 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/IString.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/IString.java @@ -24,7 +24,6 @@ import org.eclipse.core.runtime.CoreException; public interface IString { /** * Get the offset of this IString record in the PDOM - * @return */ public int getRecord(); @@ -91,7 +90,7 @@ public interface IString { /** * Compare this IString record and the specified character array - * @param chars + * @param name the name to compare to * @param caseSensitive whether to compare in a case-sensitive way * @return
  • -1 if this < chars *
  • 0 if this has a prefix chars diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMPointerType.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMPointerType.java index 21b586cdd56..deea0e52ff1 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMPointerType.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMPointerType.java @@ -54,21 +54,19 @@ public class PDOMPointerType extends PDOMNode implements IPointerType, try { // type - IType targetType= type.getType(); int typeRec = 0; + byte flags = 0; if (type != null) { + IType targetType= type.getType(); PDOMNode targetTypeNode = getLinkageImpl().addType(this, targetType); if (targetTypeNode != null) typeRec = targetTypeNode.getRecord(); + if (type.isConst()) + flags |= CONST; + if (type.isVolatile()) + flags |= VOLATILE; } db.putInt(record + TYPE, typeRec); - - // flags - byte flags = 0; - if (type.isConst()) - flags |= CONST; - if (type.isVolatile()) - flags |= VOLATILE; db.putByte(record + FLAGS, flags); } catch (DOMException e) { throw new CoreException(Util.createStatus(e)); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMQualifierType.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMQualifierType.java index 86acaf5418c..ed7b51b7e7a 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMQualifierType.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMQualifierType.java @@ -57,23 +57,22 @@ public class PDOMQualifierType extends PDOMNode implements IQualifierType, ICQua // type try { - IType targetType = type.getType(); if (type != null) { + IType targetType = type.getType(); PDOMNode targetTypeNode = getLinkageImpl().addType(this, targetType); if (targetTypeNode != null) { db.putInt(record + TYPE, targetTypeNode.getRecord()); } - } - - // flags - byte flags = 0; - if (type.isConst()) - flags |= CONST; - if (type.isVolatile()) - flags |= VOLATILE; - if (type instanceof ICQualifierType && ((ICQualifierType)type).isRestrict()) - flags |= RESTRICT; - db.putByte(record + FLAGS, flags); + // flags + byte flags = 0; + if (type.isConst()) + flags |= CONST; + if (type.isVolatile()) + flags |= VOLATILE; + if (type instanceof ICQualifierType && ((ICQualifierType)type).isRestrict()) + flags |= RESTRICT; + db.putByte(record + FLAGS, flags); + } } catch (DOMException e) { throw new CoreException(Util.createStatus(e)); } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumeration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumeration.java index 9efb3838657..9c5f3946e10 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumeration.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumeration.java @@ -33,8 +33,7 @@ import org.eclipse.core.runtime.CoreException; /** * @author Doug Schaefer */ -class PDOMCPPEnumeration extends PDOMCPPBinding - implements IEnumeration, IIndexType, ICPPBinding { +class PDOMCPPEnumeration extends PDOMCPPBinding implements IEnumeration, IIndexType { private static final int FIRST_ENUMERATOR = PDOMBinding.RECORD_SIZE + 0; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumerator.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumerator.java index 0ec78ac70d9..268fcda7b0d 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumerator.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumerator.java @@ -15,7 +15,6 @@ import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IEnumerator; import org.eclipse.cdt.core.dom.ast.IType; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPBinding; import org.eclipse.cdt.internal.core.index.IIndexCPPBindingConstants; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding; @@ -26,7 +25,7 @@ import org.eclipse.core.runtime.CoreException; * @author Doug Schaefer * */ -class PDOMCPPEnumerator extends PDOMCPPBinding implements IEnumerator, ICPPBinding { +class PDOMCPPEnumerator extends PDOMCPPBinding implements IEnumerator { private static final int ENUMERATION = PDOMBinding.RECORD_SIZE + 0; private static final int NEXT_ENUMERATOR = PDOMBinding.RECORD_SIZE + 4; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPPointerToMemberType.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPPointerToMemberType.java index cf24a7e0373..de67f18f3d4 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPPointerToMemberType.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPPointerToMemberType.java @@ -16,7 +16,6 @@ import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPPointerToMemberType; import org.eclipse.cdt.internal.core.index.IIndexCPPBindingConstants; -import org.eclipse.cdt.internal.core.index.IIndexType; import org.eclipse.cdt.internal.core.index.PointerTypeClone; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.db.Database; @@ -25,8 +24,7 @@ import org.eclipse.cdt.internal.core.pdom.dom.PDOMNode; import org.eclipse.cdt.internal.core.pdom.dom.PDOMPointerType; import org.eclipse.core.runtime.CoreException; -class PDOMCPPPointerToMemberType extends PDOMPointerType -implements ICPPPointerToMemberType, IIndexType { +class PDOMCPPPointerToMemberType extends PDOMPointerType implements ICPPPointerToMemberType { private static final int TYPE = PDOMPointerType.RECORD_SIZE; @SuppressWarnings("hiding") diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPReferenceType.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPReferenceType.java index 3ac7011d2ee..90afb7f3813 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPReferenceType.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPReferenceType.java @@ -49,9 +49,9 @@ class PDOMCPPReferenceType extends PDOMNode implements ICPPReferenceType, try { // type - IType targetType = type.getType(); int typeRec = 0; if (type != null) { + IType targetType = type.getType(); PDOMNode targetTypeNode = getLinkageImpl().addType(this, targetType); if (targetTypeNode != null) typeRec = targetTypeNode.getRecord(); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPUsingDeclaration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPUsingDeclaration.java index 0fb3800d6b1..fc659857b8d 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPUsingDeclaration.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPUsingDeclaration.java @@ -41,7 +41,6 @@ class PDOMCPPUsingDeclaration extends PDOMCPPBinding implements ICPPUsingDeclara private IBinding[] delegates; - @SuppressWarnings("hiding") public PDOMCPPUsingDeclaration(PDOM pdom, PDOMNode parent, ICPPUsingDeclaration using) throws CoreException { super(pdom, parent, using.getNameCharArray()); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMGPPBasicType.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMGPPBasicType.java index e4398893ca2..1ef2da2bd85 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMGPPBasicType.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMGPPBasicType.java @@ -15,12 +15,11 @@ import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.gnu.cpp.IGPPBasicType; import org.eclipse.cdt.internal.core.index.IIndexCPPBindingConstants; -import org.eclipse.cdt.internal.core.index.IIndexType; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.dom.PDOMNode; import org.eclipse.core.runtime.CoreException; -class PDOMGPPBasicType extends PDOMCPPBasicType implements IGPPBasicType, IIndexType { +class PDOMGPPBasicType extends PDOMCPPBasicType implements IGPPBasicType { public PDOMGPPBasicType(PDOM pdom, int record) { super(pdom, record); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/CLIUtil.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/CLIUtil.java index b60bbc73ff9..bb59bc68c32 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/CLIUtil.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/CLIUtil.java @@ -33,7 +33,6 @@ public class CLIUtil { * @param arguments the arguments map * @param opt the option name to check * @param number the number of parameters - * @return * @throws CoreException if the number of parameters is not the specified expected number */ public static List getArg(Map> arguments, String opt, int number) throws CoreException { @@ -47,23 +46,20 @@ public class CLIUtil { /** * Returns a map of String option to List of String parameters. - *
    - * @param args - * @return */ public static Map> parseToMap(String[] args) { Map> result = new HashMap>(); String current = null; - for(int i=0; i()); } else { if(current==null) { current= UNQUALIFIED_PARAMETERS; result.put(current, new ArrayList()); } - (result.get(current)).add(args[i]); + (result.get(current)).add(arg); } } return result; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOM.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOM.java index d38103d1b31..818696a3c0e 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOM.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOM.java @@ -55,6 +55,7 @@ public class GeneratePDOM implements ISafeRunnable { if(cproject==null) { fail(MessageFormat.format(Messages.GeneratePDOM_ProjectProviderReturnedNullCProject, new Object [] {pm.getClass().getName()})); + return; // cannot be reached, inform the compiler } IIndexLocationConverter converter= pm.getLocationConverter(cproject); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/TodoTaskUpdater.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/TodoTaskUpdater.java index b29ed00ad51..cf4a6f727f5 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/TodoTaskUpdater.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/TodoTaskUpdater.java @@ -115,8 +115,7 @@ public class TodoTaskUpdater implements ITodoTaskUpdater { // first collect all valid file-locations final Map pathToTaskList= new HashMap(); final Set projects= new HashSet(); - for (int i = 0; i < filesToUpdate.length; i++) { - final IIndexFileLocation indexFileLocation = filesToUpdate[i]; + for (final IIndexFileLocation indexFileLocation : filesToUpdate) { final String filepath = indexFileLocation.getFullPath(); if (filepath != null) { IFile file = workspaceRoot.getFile(new Path(filepath)); @@ -129,8 +128,7 @@ public class TodoTaskUpdater implements ITodoTaskUpdater { if (comments.length > 0) { final Task[] tasks = taskParser.parse(comments); - for (int i = 0; i < tasks.length; i++) { - final Task task = tasks[i]; + for (final Task task : tasks) { TaskList list= pathToTaskList.get(new Path(task.getFileLocation())); if (list != null) { list.add(task); @@ -209,7 +207,7 @@ public class TodoTaskUpdater implements ITodoTaskUpdater { @Override protected IStatus run(IProgressMonitor monitor) { try { - if (resource == null || !resource.exists()) { + if (!resource.exists()) { return Status.CANCEL_STATUS; } resource.deleteMarkers(ICModelMarker.TASK_MARKER, false, IResource.DEPTH_INFINITE); diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/CdtVariableException.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/CdtVariableException.java index c60676a4136..c7a977ac3b3 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/CdtVariableException.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/CdtVariableException.java @@ -47,8 +47,6 @@ public class CdtVariableException extends CoreException { * @param macroName the name of the build macro whose resolution caused this status creation or null if none * @param expression the string whose resolutinon caused caused this status creation or null if none * @param referencedName the macro name referenced in the resolution string that caused this this status creation or null if none - * @param contextType the context type used in the operation - * @param contextData the context data used in the operation */ public CdtVariableException(int code, String message, @@ -66,13 +64,9 @@ public class CdtVariableException extends CoreException { * Creates an exception containing a single IBuildMacroStatus status with the IStatus.ERROR severity and with the default message * * @param code one of the IBuildMacroStatus.TYPE_xxx statusses - * @param exception a low-level exception, or null if not - * applicable * @param macroName the name of the build macro whose resolution caused this status creation or null if none * @param expression the string whose resolutinon caused caused this status creation or null if none * @param referencedName the macro name referenced in the resolution string that caused this this status creation or null if none - * @param contextType the context type used in the operation - * @param contextData the context data used in the operation */ public CdtVariableException(int code, String macroName, @@ -97,9 +91,9 @@ public class CdtVariableException extends CoreException { IStatus children[] = status.getChildren(); ICdtVariableStatus result[] = new ICdtVariableStatus[children.length]; int num = 0; - for(int i = 0; i < children.length; i++){ - if(children[i] instanceof ICdtVariableStatus) - result[num++]=(ICdtVariableStatus)children[i]; + for (IStatus element : children) { + if(element instanceof ICdtVariableStatus) + result[num++]=(ICdtVariableStatus)element; } if(num != children.length){ ICdtVariableStatus tmp[] = new ICdtVariableStatus[num]; diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/CdtVariableStatus.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/CdtVariableStatus.java index 8af3880b04f..7359a840acf 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/CdtVariableStatus.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/CdtVariableStatus.java @@ -20,18 +20,15 @@ import org.eclipse.core.runtime.Status; * @since 3.0 */ public class CdtVariableStatus extends Status implements ICdtVariableStatus { - /* - * String constants - */ - private static final String PREFIX = "BuildMacroStatus"; //$NON-NLS-1$ - private static final String STATUS = PREFIX + ".status"; //$NON-NLS-1$ - private static final String STATUS_MACRO_UNDEFINED = STATUS + ".macro.undefined"; //$NON-NLS-1$ - private static final String STATUS_MACROS_REFERENCE_EACHOTHER = STATUS + ".reference.eachother"; //$NON-NLS-1$ - private static final String STATUS_MACRO_REFERENCE_INCORRECT = STATUS + ".reference.incorrect"; //$NON-NLS-1$ - private static final String STATUS_MACRO_NOT_STRING = STATUS + ".macro.not.string"; //$NON-NLS-1$ - private static final String STATUS_MACRO_NOT_STRINGLIST = STATUS + ".macro.not.stringlist"; //$NON-NLS-1$ - private static final String STATUS_ERROR = STATUS + ".error"; //$NON-NLS-1$ - private static final String VALUE_UNDEFINED = PREFIX + ".value.undefined"; //$NON-NLS-1$ +// private static final String PREFIX = "BuildMacroStatus"; //$NON-NLS-1$ +// private static final String STATUS = PREFIX + ".status"; //$NON-NLS-1$ +// private static final String STATUS_MACRO_UNDEFINED = STATUS + ".macro.undefined"; //$NON-NLS-1$ +// private static final String STATUS_MACROS_REFERENCE_EACHOTHER = STATUS + ".reference.eachother"; //$NON-NLS-1$ +// private static final String STATUS_MACRO_REFERENCE_INCORRECT = STATUS + ".reference.incorrect"; //$NON-NLS-1$ +// private static final String STATUS_MACRO_NOT_STRING = STATUS + ".macro.not.string"; //$NON-NLS-1$ +// private static final String STATUS_MACRO_NOT_STRINGLIST = STATUS + ".macro.not.stringlist"; //$NON-NLS-1$ +// private static final String STATUS_ERROR = STATUS + ".error"; //$NON-NLS-1$ +// private static final String VALUE_UNDEFINED = PREFIX + ".value.undefined"; //$NON-NLS-1$ private String fMacroName; private String fExpression; @@ -42,17 +39,15 @@ public class CdtVariableStatus extends Status implements ICdtVariableStatus { /** * - * @param severity one of the IStatus.xxx severity statuses - * @param code one of the IBuildMacroStatus.TYPE_xxx statusses + * @param severity as documented in {@link IStatus} + * @param code as provided by {@link ICdtVariableStatus}. * @param message message, can be null. In this case the default message will * be generated base upon the other status info * @param exception a low-level exception, or null if not * applicable * @param macroName the name of the build macro whose resolution caused this status creation or null if none - * @param expression the string whose resolutinon caused caused this status creation or null if none + * @param expression the string whose resolution caused this status creation or null if none * @param referencedName the macro name referenced in the resolution string that caused this this status creation or null if none - * @param contextType the context type used in the operation - * @param contextData the context data used in the operation */ public CdtVariableStatus(int severity, int code, @@ -87,8 +82,6 @@ public class CdtVariableStatus extends Status implements ICdtVariableStatus { * @param macroName the name of the build macro whose resolution caused this status creation or null if none * @param expression the string whose resolutinon caused caused this status creation or null if none * @param referencedName the macro name referenced in the resolution string that caused this this status creation or null if none - * @param contextType the context type used in the operation - * @param contextData the context data used in the operation */ public CdtVariableStatus( int code, @@ -108,13 +101,9 @@ public class CdtVariableStatus extends Status implements ICdtVariableStatus { * Creates status with the IStatus.ERROR severity and with the default message * * @param code one of the IBuildMacroStatus.TYPE_xxx statusses - * @param exception a low-level exception, or null if not - * applicable * @param macroName the name of the build macro whose resolution caused this status creation or null if none * @param expression the string whose resolutinon caused caused this status creation or null if none * @param referencedName the macro name referenced in the resolution string that caused this this status creation or null if none - * @param contextType the context type used in the operation - * @param contextData the context data used in the operation */ public CdtVariableStatus( int code, diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/ICdtVariable.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/ICdtVariable.java index 9b7a157d159..917a0bf02a0 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/ICdtVariable.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/ICdtVariable.java @@ -58,7 +58,6 @@ public interface ICdtVariable{ /** * Returns the macro name - * @return */ String getName(); diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/ICdtVariableManager.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/ICdtVariableManager.java index 2f29b6eaa93..ddcb4192995 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/ICdtVariableManager.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/cdtvariables/ICdtVariableManager.java @@ -31,29 +31,7 @@ public interface ICdtVariableManager{ * * Returns reference to the IBuildMacro interface representing Macro of the * specified name or null if there is there is no such macro - * @param macroName macro name - * @param contextType represents the context type. Should be set to one of the the - * IBuildMacroProvider. CONTEXT_xxx constants - * @param contextData represents the additional data needed by the Build Macro Provider - * and Macro Suppliers in order to obtain the macro value. The type of the context data - * differs depending on the context type and can be one of the following: - * 1. IFileContextData interface � used to represent currently selected file context - * the IFileContextData interface is defined as follows: - * pulic interface IFileContextData{ - * IFile getFile(); - * IOption getOption(); - * } - * NOTE: the IFileContextData is passed that represents the current file and the option - * for that file because Macro Value Provider needs to know what option should be used - * as a context in case macro is not found for �current file� context - * 2. IOptionContextData interface used to represent the currently selected option context - * 3. IConfiguration � used to represent the currently selected configuration context - * 4. IProject � used to represent current project context - * 5. IWorkspace � used to represent current workspace context - * 6. null � to represent the CDT and Eclipse installation context - * 7. null � to represent process environment context - * @param includeParentContext specifies whether lower-precedence context macros should - * be included + * @param name macro name */ public ICdtVariable getVariable(String name, ICConfigurationDescription cfg); @@ -91,8 +69,6 @@ public interface ICdtVariableManager{ * �< listDelimiter >< listDelimiter > ... � * otherwise the BuildMacroException is thrown in case the string to be resolved references * string-list macros - * @param contextType context from which the macro search should be started - * @param contextData context data */ public String resolveValue(String value, String nonexistentMacrosValue, @@ -103,7 +79,6 @@ public interface ICdtVariableManager{ * * if the string contains a value that can be treated as a StringList resolves it to arrays of strings * otherwise throws the BuildMacroException exception - * @see isStringListValue */ public String[] resolveStringListValue(String value, String nonexistentMacrosValue, @@ -114,7 +89,7 @@ public interface ICdtVariableManager{ * * resolves macros in the array of string-list values * - * @see isStringListValue + * @see #isStringListValue */ public String[] resolveStringListValues(String value[], String nonexistentMacrosValue, diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ACBuilder.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ACBuilder.java index b98e8e058e6..a8c9620d21a 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ACBuilder.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ACBuilder.java @@ -23,7 +23,7 @@ import org.eclipse.core.runtime.Preferences; public abstract class ACBuilder extends IncrementalProjectBuilder implements IMarkerGenerator { - private static final String PREF_BUILD_ALL_CONFIGS = "build.all.configs.enabled"; + private static final String PREF_BUILD_ALL_CONFIGS = "build.all.configs.enabled"; //$NON-NLS-1$ private static final Preferences prefs = CCorePlugin.getDefault().getPluginPreferences(); /** @@ -52,10 +52,10 @@ public abstract class ACBuilder extends IncrementalProjectBuilder implements IMa * Try to find matching markers and don't put in duplicates */ if ((cur != null) && (cur.length > 0)) { - for (int i = 0; i < cur.length; i++) { - int line = ((Integer) cur[i].getAttribute(IMarker.LINE_NUMBER)).intValue(); - int sev = ((Integer) cur[i].getAttribute(IMarker.SEVERITY)).intValue(); - String mesg = (String) cur[i].getAttribute(IMarker.MESSAGE); + for (IMarker element : cur) { + int line = ((Integer) element.getAttribute(IMarker.LINE_NUMBER)).intValue(); + int sev = ((Integer) element.getAttribute(IMarker.SEVERITY)).intValue(); + String mesg = (String) element.getAttribute(IMarker.MESSAGE); if (line == problemMarkerInfo.lineNumber && sev == mapMarkerSeverity(problemMarkerInfo.severity) && mesg.equals(problemMarkerInfo.description)) { return; } diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/IPathEntryStore.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/IPathEntryStore.java index 3d55448519b..1b4d2ed3757 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/IPathEntryStore.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/IPathEntryStore.java @@ -22,8 +22,6 @@ public interface IPathEntryStore extends ICExtension { /** * Returns the path entries save on the project. - * @param project - * @return * @throws CoreException */ IPathEntry[] getRawPathEntries() throws CoreException; diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/IPathEntryVariableChangeListener.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/IPathEntryVariableChangeListener.java index f40c96f03aa..084660621c9 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/IPathEntryVariableChangeListener.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/IPathEntryVariableChangeListener.java @@ -33,8 +33,8 @@ public interface IPathEntryVariableChangeListener extends EventListener { * * @param event the path variable change event object describing which variable * changed and how - * @see IPathEntryVariableManager#addChangeListener(IPathVariableChangeListener) - * @see IPathEntryVariableManager#removeChangeListener(IPathVariableChangeListener) + * @see IPathEntryVariableManager#addChangeListener(IPathEntryVariableChangeListener) + * @see IPathEntryVariableManager#removeChangeListener(IPathEntryVariableChangeListener) * @see PathEntryVariableChangeEvent */ public void pathVariableChanged(PathEntryVariableChangeEvent event); diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ScannerInfo.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ScannerInfo.java index dc677fc4e87..60e87d5829e 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ScannerInfo.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ScannerInfo.java @@ -17,7 +17,7 @@ import org.eclipse.cdt.core.parser.IExtendedScannerInfo; public class ScannerInfo implements IExtendedScannerInfo { - private final Map fMacroMap; + private final Map fMacroMap; private final String[] fSystemIncludePaths; private final String[] fMacroFiles; private final String[] fIncludeFiles; @@ -25,14 +25,20 @@ public class ScannerInfo implements IExtendedScannerInfo { final static String[] EMPTY_ARRAY_STRING = new String[0]; protected ScannerInfo(String[] systemIncludePaths, String[] localIncludePaths, String[] includeFiles, - Map macroMap, String[] macroFiles) { + Map macroMap, String[] macroFiles) { fSystemIncludePaths = (systemIncludePaths == null) ? EMPTY_ARRAY_STRING : systemIncludePaths; fLocalIncludePaths = (localIncludePaths == null) ? EMPTY_ARRAY_STRING : localIncludePaths; fIncludeFiles = (includeFiles == null) ? EMPTY_ARRAY_STRING : includeFiles; fMacroFiles = (macroFiles == null) ? EMPTY_ARRAY_STRING : macroFiles; - fMacroMap = (macroMap == null) ? Collections.EMPTY_MAP : macroMap; + fMacroMap= nonNullMap(macroMap); } + private Map nonNullMap(Map macroMap) { + if (macroMap == null) { + return Collections.emptyMap(); + } + return macroMap; + } /* * (non-Javadoc) * @@ -47,7 +53,7 @@ public class ScannerInfo implements IExtendedScannerInfo { * * @see org.eclipse.cdt.core.build.managed.IScannerInfo#getIncludePaths() */ - public synchronized Map getDefinedSymbols() { + public synchronized Map getDefinedSymbols() { return fMacroMap; } diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ScannerProvider.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ScannerProvider.java index feeb5d66da6..274b1d91d9b 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ScannerProvider.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/core/resources/ScannerProvider.java @@ -36,7 +36,7 @@ import org.eclipse.core.runtime.IPath; public class ScannerProvider extends AbstractCExtension implements IScannerInfoProvider, IElementChangedListener { // Listeners interested in build model changes - private static Map listeners; + private static Map> listeners; private static ScannerProvider fProvider; @@ -53,9 +53,9 @@ public class ScannerProvider extends AbstractCExtension implements IScannerInfoP /* * @return */ - private static Map getListeners() { + private static Map> getListeners() { if (listeners == null) { - listeners = new HashMap(); + listeners = new HashMap>(); } return listeners; } @@ -66,14 +66,14 @@ public class ScannerProvider extends AbstractCExtension implements IScannerInfoP */ protected static void notifyInfoListeners(IProject project, IScannerInfo info) { // Call in the cavalry - List listeners = (List)getListeners().get(project); + List listeners = getListeners().get(project); if (listeners == null) { return; } IScannerInfoChangeListener[] observers = new IScannerInfoChangeListener[listeners.size()]; listeners.toArray(observers); - for (int i = 0; i < observers.length; i++) { - observers[i].changeNotification(project, info); + for (IScannerInfoChangeListener observer : observers) { + observer.changeNotification(project, info); } } @@ -115,7 +115,7 @@ public class ScannerProvider extends AbstractCExtension implements IScannerInfoP // get the macros IMacroEntry[] macros = CoreModel.getMacroEntries(resPath); - Map symbolMap = new HashMap(); + Map symbolMap = new HashMap(); for (int i = 0; i < macros.length; ++i) { symbolMap.put(macros[i].getMacroName(), macros[i].getMacroValue()); } @@ -145,11 +145,11 @@ public class ScannerProvider extends AbstractCExtension implements IScannerInfoP } IProject project = resource.getProject(); // Get listeners for this resource - Map map = getListeners(); - List list = (List)map.get(project); + Map> map = getListeners(); + List list = map.get(project); if (list == null) { // Create a new list - list = new ArrayList(); + list = new ArrayList(); map.put(project, list); } if (!list.contains(listener)) { @@ -170,8 +170,8 @@ public class ScannerProvider extends AbstractCExtension implements IScannerInfoP } IProject project = resource.getProject(); // Remove the listener - Map map = getListeners(); - List list = (List)map.get(project); + Map> map = getListeners(); + List list = map.get(project); if (list != null && !list.isEmpty()) { // The list is not empty so try to remove listener list.remove(listener); @@ -213,8 +213,8 @@ public class ScannerProvider extends AbstractCExtension implements IScannerInfoP } ICElementDelta[] affectedChildren= delta.getAffectedChildren(); - for (int i= 0; i < affectedChildren.length; i++) { - processDelta(affectedChildren[i]); + for (ICElementDelta element2 : affectedChildren) { + processDelta(element2); } } diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/PathEntryVariableManager.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/PathEntryVariableManager.java index ce60c080838..bd9333f920a 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/PathEntryVariableManager.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/PathEntryVariableManager.java @@ -37,7 +37,7 @@ import org.eclipse.core.runtime.SafeRunner; */ public class PathEntryVariableManager implements IPathEntryVariableManager { - private Set listeners; + private Set listeners; private Preferences preferences; static final String VARIABLE_PREFIX = "pathEntryVariable."; //$NON-NLS-1$ @@ -55,7 +55,7 @@ public class PathEntryVariableManager implements IPathEntryVariableManager { * */ private PathEntryVariableManager() { - this.listeners = Collections.synchronizedSet(new HashSet()); + this.listeners = Collections.synchronizedSet(new HashSet()); this.preferences = CCorePlugin.getDefault().getPluginPreferences(); } @@ -65,7 +65,7 @@ public class PathEntryVariableManager implements IPathEntryVariableManager { * that. But then if they try and call #setValue using the same key it will throw * an exception. We may want to revisit this behaviour in the future. * - * @see org.eclipse.core.resources.IPathEntryVariableManager#getValue(String) + * @see org.eclipse.cdt.core.resources.IPathEntryVariableManager#getValue(String) */ public IPath getValue(String varName) { String key = getKeyForName(varName); @@ -74,7 +74,7 @@ public class PathEntryVariableManager implements IPathEntryVariableManager { } /** - * @see org.eclipse.core.resources.IPathEntryVariableManager#setValue(String, IPath) + * @see org.eclipse.cdt.core.resources.IPathEntryVariableManager#setValue(String, IPath) */ public void setValue(String varName, IPath newValue) throws CoreException { //if the location doesn't have a device, see if the OS will assign one @@ -86,10 +86,11 @@ public class PathEntryVariableManager implements IPathEntryVariableManager { synchronized (this) { IPath currentValue = getValue(varName); boolean variableExists = currentValue != null; - if (!variableExists && newValue == null) { - return; - } - if (variableExists && currentValue.equals(newValue)) { + if (currentValue == null) { + if (newValue == null) { + return; + } + } else if (currentValue.equals(newValue)) { return; } if (newValue == null) { @@ -112,7 +113,7 @@ public class PathEntryVariableManager implements IPathEntryVariableManager { } /** - * @see org.eclipse.core.resources.IPathEntryVariableManager#resolvePath(IPath) + * @see org.eclipse.cdt.core.resources.IPathEntryVariableManager#resolvePath(IPath) */ public IPath resolvePath(IPath path) { if (path == null || path.segmentCount() == 0) { @@ -167,19 +168,19 @@ public class PathEntryVariableManager implements IPathEntryVariableManager { * @see org.eclipse.core.resources.IPathVariableManager#getPathVariableNames() */ public String[] getVariableNames() { - List result = new LinkedList(); + List result = new LinkedList(); String[] names = preferences.propertyNames(); - for (int i = 0; i < names.length; i++) { - if (names[i].startsWith(VARIABLE_PREFIX)) { - String key = names[i].substring(VARIABLE_PREFIX.length()); + for (String name : names) { + if (name.startsWith(VARIABLE_PREFIX)) { + String key = name.substring(VARIABLE_PREFIX.length()); result.add(key); } } - return (String[]) result.toArray(new String[result.size()]); + return result.toArray(new String[result.size()]); } /** - * @see org.eclipse.core.resources. + * @see org.eclipse.cdt.core.resources. * IPathEntryVariableManager#addChangeListener(IPathEntryVariableChangeListener) */ public void addChangeListener(IPathEntryVariableChangeListener listener) { @@ -187,7 +188,7 @@ public class PathEntryVariableManager implements IPathEntryVariableManager { } /** - * @see org.eclipse.core.resources. + * @see org.eclipse.cdt.core.resources. * IPathEntryVariableManager#removeChangeListener(IPathEntryVariableChangeListener) */ public void removeChangeListener(IPathEntryVariableChangeListener listener) { diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/CdtMacroSupplier.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/CdtMacroSupplier.java index 4f7eae10e01..f3af89acf8d 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/CdtMacroSupplier.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/CdtMacroSupplier.java @@ -131,16 +131,16 @@ public class CdtMacroSupplier extends CoreMacroSupplierBase { private String[] getMacroNames(int contextType, boolean clone){ String names[] = null; switch(contextType){ - case DefaultVariableContextInfo.CONTEXT_CONFIGURATION: + case ICoreVariableContextInfo.CONTEXT_CONFIGURATION: names = fConfigurationMacros; break; - case DefaultVariableContextInfo.CONTEXT_WORKSPACE: + case ICoreVariableContextInfo.CONTEXT_WORKSPACE: names = fWorkspaceMacros; break; - case DefaultVariableContextInfo.CONTEXT_INSTALLATIONS: + case ICoreVariableContextInfo.CONTEXT_INSTALLATIONS: names = fCDTEclipseMacros; break; - case DefaultVariableContextInfo.CONTEXT_ECLIPSEENV: + case ICoreVariableContextInfo.CONTEXT_ECLIPSEENV: break; } if(names != null) @@ -166,22 +166,22 @@ public class CdtMacroSupplier extends CoreMacroSupplierBase { Object contextData) { ICdtVariable macro = null; switch(contextType){ - case DefaultVariableContextInfo.CONTEXT_CONFIGURATION: + case ICoreVariableContextInfo.CONTEXT_CONFIGURATION: if(contextData instanceof ICConfigurationDescription){ macro = getMacro(macroName, (ICConfigurationDescription)contextData); } break; - case DefaultVariableContextInfo.CONTEXT_WORKSPACE: + case ICoreVariableContextInfo.CONTEXT_WORKSPACE: if(contextData == null || contextData instanceof IWorkspace){ macro = getMacro(macroName, (IWorkspace)contextData); } break; - case DefaultVariableContextInfo.CONTEXT_INSTALLATIONS: + case ICoreVariableContextInfo.CONTEXT_INSTALLATIONS: if(contextData == null){ macro = getMacro(macroName); } break; - case DefaultVariableContextInfo.CONTEXT_ECLIPSEENV: + case ICoreVariableContextInfo.CONTEXT_ECLIPSEENV: break; } @@ -368,23 +368,23 @@ public class CdtMacroSupplier extends CoreMacroSupplierBase { return macro; } - private String getBaseName(String name){ - String value = null; - int index = name.lastIndexOf('.'); - if(index == -1) - value = name; - else - value = name.substring(0,index); - return value; - } - - private String getExtension(String name){ - String value = null; - int index = name.lastIndexOf('.'); - if(index != -1) - value = name.substring(index+1); - return value; - } +// private String getBaseName(String name){ +// String value = null; +// int index = name.lastIndexOf('.'); +// if(index == -1) +// value = name; +// else +// value = name.substring(0,index); +// return value; +// } +// +// private String getExtension(String name){ +// String value = null; +// int index = name.lastIndexOf('.'); +// if(index != -1) +// value = name.substring(index+1); +// return value; +// } /* public IBuildMacro getMacro(String macroName, IManagedProject mngProj){ IBuildMacro macro = null; @@ -474,8 +474,8 @@ public class CdtMacroSupplier extends CoreMacroSupplierBase { if(names != null){ ICdtVariable macros[] = new ICdtVariable[names.length]; int num = 0; - for(int i = 0; i < names.length; i++){ - ICdtVariable macro = getMacro(names[i],contextType,contextData); + for (String name : names) { + ICdtVariable macro = getMacro(name,contextType,contextData); if(macro != null) macros[num++] = macro; } diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/EclipseVariablesVariableSupplier.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/EclipseVariablesVariableSupplier.java index 4fe2f1fc796..5ad9a7d554f 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/EclipseVariablesVariableSupplier.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/EclipseVariablesVariableSupplier.java @@ -33,9 +33,9 @@ import org.eclipse.core.variables.VariablesPlugin; * @since 3.0 */ public class EclipseVariablesVariableSupplier implements ICdtVariableSupplier { - private static final String VAR_PREFIX = "${"; //$NON-NLS-1$ - private static final char VAR_SUFFIX = '}'; //$NON-NLS-1$ - private static final char COLON = ':'; //$NON-NLS-1$ +// private static final String VAR_PREFIX = "${"; //$NON-NLS-1$ +// private static final char VAR_SUFFIX = '}'; + private static final char COLON = ':'; private static EclipseVariablesVariableSupplier fInstance; @@ -155,30 +155,30 @@ public class EclipseVariablesVariableSupplier implements ICdtVariableSupplier { IStringVariableManager mngr = VariablesPlugin.getDefault().getStringVariableManager(); IDynamicVariable vars[] = mngr.getDynamicVariables(); - Map map = new HashMap(); - for(int i = 0; i < vars.length; i++) - map.put(vars[i].getName(),vars[i]); + Map map = new HashMap(); + for (IDynamicVariable var : vars) + map.put(var.getName(),var); IValueVariable valVars[] = mngr.getValueVariables(); - for(int i = 0; i < valVars.length; i++) - map.put(valVars[i].getName(),valVars[i]); + for (IValueVariable valVar : valVars) + map.put(valVar.getName(),valVar); - Collection collection = map.values(); + Collection collection = map.values(); EclipseVarMacro macros[] = new EclipseVarMacro[collection.size()]; - Iterator iter = collection.iterator(); + Iterator iter = collection.iterator(); for(int i = 0; i < macros.length ; i++) - macros[i] = new EclipseVarMacro((IStringVariable)iter.next()); + macros[i] = new EclipseVarMacro(iter.next()); return macros; } - private String getMacroValue(String name){ - IStringVariableManager mngr = VariablesPlugin.getDefault().getStringVariableManager(); - try{ - return mngr.performStringSubstitution(VAR_PREFIX + name + VAR_SUFFIX); - }catch (CoreException e){ - } - - return null; - } +// private String getMacroValue(String name){ +// IStringVariableManager mngr = VariablesPlugin.getDefault().getStringVariableManager(); +// try{ +// return mngr.performStringSubstitution(VAR_PREFIX + name + VAR_SUFFIX); +// }catch (CoreException e){ +// } +// +// return null; +// } } diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/StorableCdtVariables.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/StorableCdtVariables.java index e127adc5606..72e7504d386 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/StorableCdtVariables.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/StorableCdtVariables.java @@ -54,8 +54,8 @@ public class StorableCdtVariables implements IStorableCdtVariables { public StorableCdtVariables(ICdtVariable vars[], boolean readOnly) { fMacros = new HashMap(vars.length); - for(int i = 0; i < vars.length; i++){ - addMacro(vars[i]); + for (ICdtVariable var : vars) { + addMacro(var); } fIsReadOnly = readOnly; } @@ -199,8 +199,8 @@ public class StorableCdtVariables implements IStorableCdtVariables { public void createMacros(ICdtVariable macros[]){ if(fIsReadOnly) throw ExceptionFactory.createIsReadOnlyException(); - for(int i = 0; i < macros.length; i++){ - createMacro(macros[i]); + for (ICdtVariable macro : macros) { + createMacro(macro); } } @@ -319,12 +319,12 @@ public class StorableCdtVariables implements IStorableCdtVariables { if(name == null || "".equals(name = name.trim())) //$NON-NLS-1$ return null; - ICdtVariable var = (ICdtVariable)getMap().get(name); + ICdtVariable var = getMap().get(name); if(var == null){ int indx = name.indexOf(':'); if(indx != -1){ String baseName = name.substring(0, indx); - ICdtVariable tmp = (ICdtVariable)getMap().get(baseName); + ICdtVariable tmp = getMap().get(baseName); if(tmp != null && CdtVariableManager.getDefault().toEclipseVariable(tmp, null) != null){ var = EclipseVariablesVariableSupplier.getInstance().getVariable(name); @@ -346,7 +346,7 @@ public class StorableCdtVariables implements IStorableCdtVariables { if(name == null || "".equals(name = name.trim())) //$NON-NLS-1$ return null; - ICdtVariable macro = (ICdtVariable)getMap().remove(name); + ICdtVariable macro = getMap().remove(name); if(macro != null){ fIsDirty = true; fIsChanged = true; diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/UserDefinedVariableSupplier.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/UserDefinedVariableSupplier.java index 56939b1dc71..89f62bcbb70 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/UserDefinedVariableSupplier.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/cdtvariables/UserDefinedVariableSupplier.java @@ -18,7 +18,6 @@ import java.io.UnsupportedEncodingException; import java.util.Arrays; import java.util.Collections; import java.util.HashSet; -import java.util.Iterator; import java.util.Set; import javax.xml.parsers.DocumentBuilder; @@ -350,8 +349,8 @@ public class UserDefinedVariableSupplier extends CoreMacroSupplierBase { try { String[] value = fVar.getStringListValue(); if(value != null){ - for(int i = 0; i < value.length; i++){ - code += value[i].hashCode(); + for (String element : value) { + code += element.hashCode(); } } } catch (CdtVariableException e) { @@ -395,19 +394,19 @@ public class UserDefinedVariableSupplier extends CoreMacroSupplierBase { if(oldVars == null || oldVars.length == 0){ if(newVars != null && newVars.length != 0) - addedVars = (ICdtVariable[])newVars.clone() ; + addedVars = newVars.clone() ; } else if(newVars == null || newVars.length == 0){ - removedVars = (ICdtVariable[])oldVars.clone(); + removedVars = oldVars.clone(); } else { HashSet newSet = new HashSet(newVars.length); HashSet oldSet = new HashSet(oldVars.length); - for(int i = 0; i < newVars.length; i++){ - newSet.add(new VarKey(newVars[i], true)); + for (ICdtVariable newVar : newVars) { + newSet.add(new VarKey(newVar, true)); } - for(int i = 0; i < oldVars.length; i++){ - oldSet.add(new VarKey(oldVars[i], true)); + for (ICdtVariable oldVar : oldVars) { + oldSet.add(new VarKey(oldVar, true)); } HashSet newSetCopy = (HashSet)newSet.clone(); @@ -426,13 +425,13 @@ public class UserDefinedVariableSupplier extends CoreMacroSupplierBase { newSetCopy.removeAll(newSet); HashSet modifiedSet = new HashSet(newSetCopy.size()); - for(Iterator iter = newSetCopy.iterator(); iter.hasNext();){ - VarKey key = (VarKey)iter.next(); + for (Object element : newSetCopy) { + VarKey key = (VarKey)element; modifiedSet.add(new VarKey(key.getVariable(), false)); } - for(int i = 0; i < oldVars.length; i++){ - modifiedSet.remove(new VarKey(oldVars[i], false)); + for (ICdtVariable oldVar : oldVars) { + modifiedSet.remove(new VarKey(oldVar, false)); } if(modifiedSet.size() != 0) @@ -513,8 +512,7 @@ public class UserDefinedVariableSupplier extends CoreMacroSupplierBase { protected void loadPathEntryVariables(StorableCdtVariables vars){ org.eclipse.core.runtime.Preferences prefs = CCorePlugin.getDefault().getPluginPreferences(); String[] names = prefs.propertyNames(); - for(int i = 0; i < names.length; i++){ - String name = names[i]; + for (String name : names) { if (name.startsWith(OLD_VARIABLE_PREFIX)) { String value = prefs.getString(name); prefs.setToDefault(name); @@ -662,9 +660,9 @@ public class UserDefinedVariableSupplier extends CoreMacroSupplierBase { } private void notifyListeners(VariableChangeEvent event){ - ICdtVariableChangeListener[] listeners = (ICdtVariableChangeListener[])fListeners.toArray(new ICdtVariableChangeListener[fListeners.size()]); - for(int i = 0; i < listeners.length; i++){ - listeners[i].variablesChanged(event); + ICdtVariableChangeListener[] listeners = fListeners.toArray(new ICdtVariableChangeListener[fListeners.size()]); + for (ICdtVariableChangeListener listener : listeners) { + listener.variablesChanged(event); } } diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/dom/WorkingCopyCodeReaderFactory.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/dom/WorkingCopyCodeReaderFactory.java index 3c007c3aba1..6ecbebe2ccf 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/dom/WorkingCopyCodeReaderFactory.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/dom/WorkingCopyCodeReaderFactory.java @@ -11,7 +11,6 @@ package org.eclipse.cdt.internal.core.dom; import org.eclipse.cdt.core.dom.CDOM; -import org.eclipse.cdt.core.dom.ICodeReaderFactory; import org.eclipse.cdt.core.model.IWorkingCopyProvider; import org.eclipse.cdt.core.parser.CodeReader; import org.eclipse.cdt.core.parser.IScanner; @@ -19,8 +18,7 @@ import org.eclipse.cdt.core.parser.IScanner; /** * @author jcamelon */ -public class WorkingCopyCodeReaderFactory extends - PartialWorkingCopyCodeReaderFactory implements ICodeReaderFactory { +public class WorkingCopyCodeReaderFactory extends PartialWorkingCopyCodeReaderFactory { /** * @param provider diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/envvar/EnvironmentVariableManager.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/envvar/EnvironmentVariableManager.java index 9bae97256af..a3b7f62a44a 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/envvar/EnvironmentVariableManager.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/envvar/EnvironmentVariableManager.java @@ -124,7 +124,7 @@ public class EnvironmentVariableManager implements if(contextInfo == null) return null; - if((variableName = EnvVarOperationProcessor.normalizeName(variableName)) == null) //$NON-NLS-1$ + if((variableName = EnvVarOperationProcessor.normalizeName(variableName)) == null) return null; @@ -133,8 +133,8 @@ public class EnvironmentVariableManager implements if(!includeParentLevels){ ICoreEnvironmentVariableSupplier suppliers[] = infos[0].getSuppliers(); boolean bVarFound = false; - for(int i = 0; i < suppliers.length; i++){ - if(suppliers[i].getVariable(variableName,infos[0].getContext()) != null){ + for (ICoreEnvironmentVariableSupplier supplier : suppliers) { + if(supplier.getVariable(variableName,infos[0].getContext()) != null){ bVarFound = true; break; } @@ -224,16 +224,16 @@ public class EnvironmentVariableManager implements return null; IEnvironmentContextInfo infos[] = getAllContextInfos(contextInfo); - HashSet set = null; + HashSet set = null; if(!includeParentLevels){ ICoreEnvironmentVariableSupplier suppliers[] = infos[0].getSuppliers(); - set = new HashSet(); + set = new HashSet(); for(int i = 0; i < suppliers.length; i++){ IEnvironmentVariable vars[] = suppliers[i].getVariables(infos[0].getContext()); if(vars != null){ - for(int j = 0; j < vars.length; j++){ - String name = EnvVarOperationProcessor.normalizeName(vars[j]. + for (IEnvironmentVariable var : vars) { + String name = EnvVarOperationProcessor.normalizeName(var. getName()); if(name != null) set.add(name); @@ -260,15 +260,15 @@ public class EnvironmentVariableManager implements IEnvironmentVariable vars[] = null; if(set != null){ - List varList = new ArrayList(); - Iterator iter = set.iterator(); + List varList = new ArrayList(); + Iterator iter = set.iterator(); while(iter.hasNext()){ - IEnvironmentVariable var = supplier.getVariable((String)iter.next(),info.getContext()); + IEnvironmentVariable var = supplier.getVariable(iter.next(),info.getContext()); if(var != null) varList.add(var); } - vars = (IEnvironmentVariable[])varList.toArray(new IEnvironmentVariable[varList.size()]); + vars = varList.toArray(new IEnvironmentVariable[varList.size()]); } else{ vars = supplier.getVariables(info.getContext()); @@ -311,14 +311,14 @@ public class EnvironmentVariableManager implements if(contextInfo == null) return null; - List list = new ArrayList(); + List list = new ArrayList(); list.add(contextInfo); while((contextInfo = contextInfo.getNext()) != null) list.add(contextInfo); - return (IEnvironmentContextInfo[])list.toArray(new IEnvironmentContextInfo[list.size()]); + return list.toArray(new IEnvironmentContextInfo[list.size()]); } private boolean isWin32(){ @@ -371,7 +371,7 @@ public class EnvironmentVariableManager implements if(des == null || info == null) return null; - return calculateResolvedVariable(des,getVariableSubstitutor(getMacroContextInfoForContext(info.getContext()),""," ")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + return calculateResolvedVariable(des,getVariableSubstitutor(getMacroContextInfoForContext(info.getContext()),""," ")); //$NON-NLS-1$ //$NON-NLS-2$ } public IEnvironmentVariable calculateResolvedVariable(EnvVarDescriptor des, IVariableSubstitutor sub){ diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/envvar/UserDefinedEnvironmentSupplier.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/envvar/UserDefinedEnvironmentSupplier.java index 7617b3c55f4..fe02d8111fd 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/envvar/UserDefinedEnvironmentSupplier.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/envvar/UserDefinedEnvironmentSupplier.java @@ -185,7 +185,7 @@ public class UserDefinedEnvironmentSupplier extends else if(context == null || context instanceof IWorkspace){ final Preferences prefs = getWorkspaceNode(); final String name = PREFNAME_WORKSPACE; - if(prefs != null && name != null) + if (prefs != null) serializeInfo = new ISerializeInfo(){ public Preferences getNode(){ return prefs; @@ -237,9 +237,9 @@ public class UserDefinedEnvironmentSupplier extends try{ String ids[] = prefNode.keys(); boolean found = false; - for( int i = 0; i < ids.length; i++){ - if(projDes.getConfigurationById(ids[i]) == null){ - prefNode.remove(ids[i]); + for (String id : ids) { + if(projDes.getConfigurationById(id) == null){ + prefNode.remove(id); found = true; } } @@ -285,22 +285,23 @@ public class UserDefinedEnvironmentSupplier extends if(oldVars == null || oldVars.length == 0){ if(newVars != null && newVars.length != 0) - addedVars = (IEnvironmentVariable[])newVars.clone() ; + addedVars = newVars.clone(); } else if(newVars == null || newVars.length == 0){ - removedVars = (IEnvironmentVariable[])oldVars.clone(); + removedVars = oldVars.clone(); } else { - HashSet newSet = new HashSet(newVars.length); - HashSet oldSet = new HashSet(oldVars.length); + HashSet newSet = new HashSet(newVars.length); + HashSet oldSet = new HashSet(oldVars.length); - for(int i = 0; i < newVars.length; i++){ - newSet.add(new VarKey(newVars[i], true)); + for (IEnvironmentVariable newVar : newVars) { + newSet.add(new VarKey(newVar, true)); } - for(int i = 0; i < oldVars.length; i++){ - oldSet.add(new VarKey(oldVars[i], true)); + for (IEnvironmentVariable oldVar : oldVars) { + oldSet.add(new VarKey(oldVar, true)); } - HashSet newSetCopy = (HashSet)newSet.clone(); + @SuppressWarnings("unchecked") + HashSet newSetCopy = (HashSet)newSet.clone(); newSet.removeAll(oldSet); oldSet.removeAll(newSetCopy); @@ -315,14 +316,13 @@ public class UserDefinedEnvironmentSupplier extends newSetCopy.removeAll(newSet); - HashSet modifiedSet = new HashSet(newSetCopy.size()); - for(Iterator iter = newSetCopy.iterator(); iter.hasNext();){ - VarKey key = (VarKey)iter.next(); + HashSet modifiedSet = new HashSet(newSetCopy.size()); + for (VarKey key : newSetCopy) { modifiedSet.add(new VarKey(key.getVariable(), false)); } - for(int i = 0; i < oldVars.length; i++){ - modifiedSet.remove(new VarKey(oldVars[i], false)); + for (IEnvironmentVariable oldVar : oldVars) { + modifiedSet.remove(new VarKey(oldVar, false)); } if(modifiedSet.size() != 0) @@ -334,11 +334,11 @@ public class UserDefinedEnvironmentSupplier extends return null; } - static IEnvironmentVariable[] varsFromKeySet(Set set){ + static IEnvironmentVariable[] varsFromKeySet(Set set){ IEnvironmentVariable vars[] = new IEnvironmentVariable[set.size()]; int i = 0; - for(Iterator iter = set.iterator(); iter.hasNext(); i++){ - VarKey key = (VarKey)iter.next(); + for(Iterator iter = set.iterator(); iter.hasNext(); i++){ + VarKey key = iter.next(); vars[i] = key.getVariable(); } @@ -348,8 +348,8 @@ public class UserDefinedEnvironmentSupplier extends public void storeProjectEnvironment(ICProjectDescription des, boolean force){ ICConfigurationDescription cfgs[] = des.getConfigurations(); - for(int i = 0; i < cfgs.length; i++){ - storeEnvironment(cfgs[i], force, false); + for (ICConfigurationDescription cfg : cfgs) { + storeEnvironment(cfg, force, false); } Preferences node = getProjectNode(des); diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/ErrorPattern.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/ErrorPattern.java index 59f6c7f298b..688e93c1231 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/ErrorPattern.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/ErrorPattern.java @@ -158,7 +158,7 @@ public class ErrorPattern { if (!file.exists()) { CygPath cygpath = null ; try { - cygpath = new CygPath("cygpath"); + cygpath = new CygPath("cygpath"); //$NON-NLS-1$ String cygfilename = cygpath.getFileName(filename); path = new Path(cygfilename); } catch (IOException e) { diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/MakeErrorParser.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/MakeErrorParser.java index 207efd2418e..e9a03dc5718 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/MakeErrorParser.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/MakeErrorParser.java @@ -20,7 +20,7 @@ import org.eclipse.core.runtime.Path; public class MakeErrorParser extends AbstractErrorParser { private static final ErrorPattern[] patterns = { - new ErrorPattern("make\\[(.*)\\]: Entering directory `(.*)'", 0, 0) { //$NON-NLS-1 + new ErrorPattern("make\\[(.*)\\]: Entering directory `(.*)'", 0, 0) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { int level; @@ -42,14 +42,14 @@ public class MakeErrorParser extends AbstractErrorParser { return true; } }, - new ErrorPattern("make\\[.*\\]: Leaving directory", 0, 0) { //$NON-NLS-1 + new ErrorPattern("make\\[.*\\]: Leaving directory", 0, 0) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { eoParser.popDirectory(); return true; } }, - new ErrorPattern("(make: \\*\\*\\* \\[.*\\] Error .*)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make: \\*\\*\\* \\[.*\\] Error .*)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -57,7 +57,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //make [foo] Error NN - new ErrorPattern("(make.*\\[.*\\] Error [-]{0,1}\\d*.*)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*\\[.*\\] Error [-]{0,1}\\d*.*)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -68,14 +68,14 @@ public class MakeErrorParser extends AbstractErrorParser { //[foo] signal description // Turning off for now, bug 203269 // This is reporting an error on the line 'make -j8 ...' -// new ErrorPattern("(make.*\\d+\\s+\\w+.*)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 +// new ErrorPattern("(make.*\\d+\\s+\\w+.*)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ // protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { // super.recordError(matcher, eoParser); // return true; // } // }, //missing separator. Stop. - new ErrorPattern("(make.*missing separator.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*missing separator.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -83,7 +83,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //missing separator (did you mean TAB instead of 8 spaces?\\). Stop. - new ErrorPattern("(make.*missing separator \\(did you mean TAB instead of 8 spaces?\\).\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*missing separator \\(did you mean TAB instead of 8 spaces?\\).\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -91,7 +91,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //commands commence before first target. Stop. - new ErrorPattern("(make.*commands commence before first target.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*commands commence before first target.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -99,7 +99,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //commands commence before first target. Stop. - new ErrorPattern("(make.*commands commence before first target.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*commands commence before first target.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -107,7 +107,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //missing rule before commands. Stop. - new ErrorPattern("(make.*missing rule before commands.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*missing rule before commands.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -115,7 +115,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //missing rule before commands. Stop. - new ErrorPattern("(make.*missing rule before commands.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*missing rule before commands.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -123,7 +123,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //No rule to make target `xxx'. - new ErrorPattern("(make.*No rule to make target `.*'.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*No rule to make target `.*'.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -131,7 +131,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //No rule to make target `xxx', needed by `yyy'. - new ErrorPattern("(make.*No rule to make target `.*', needed by `.*'.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*No rule to make target `.*', needed by `.*'.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -139,7 +139,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //No targets specified and no makefile found. Stop. - new ErrorPattern("(make.*No targets specified and no makefile found.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*No targets specified and no makefile found.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -147,7 +147,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //No targets. Stop. - new ErrorPattern("(make.*No targets.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*No targets.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -155,7 +155,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //Makefile `xxx' was not found. - new ErrorPattern("(make.*Makefile `.*' was not found.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*Makefile `.*' was not found.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -163,7 +163,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //Included makefile `xxx' was not found. - new ErrorPattern("(make.*Included makefile `.*' was not found.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*Included makefile `.*' was not found.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -171,7 +171,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //warning: overriding commands for target `xxx' - new ErrorPattern("(make.*warning: overriding commands for target `.*')", 1, IMarkerGenerator.SEVERITY_WARNING) { //$NON-NLS-1 + new ErrorPattern("(make.*warning: overriding commands for target `.*')", 1, IMarkerGenerator.SEVERITY_WARNING) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -179,7 +179,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //warning: ignoring old commands for target `xxx' - new ErrorPattern("(make.*warning: ignoring old commands for target `.*')", 1, IMarkerGenerator.SEVERITY_WARNING) { //$NON-NLS-1 + new ErrorPattern("(make.*warning: ignoring old commands for target `.*')", 1, IMarkerGenerator.SEVERITY_WARNING) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -187,7 +187,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //Circular .+ <- .+ dependency dropped. - new ErrorPattern("(make.*Circular .+ <- .+ dependency dropped.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*Circular .+ <- .+ dependency dropped.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -195,7 +195,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //Recursive variable `xxx' references itself (eventually). Stop. - new ErrorPattern("(make.*Recursive variable `.*' references itself \\(eventually\\).\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*Recursive variable `.*' references itself \\(eventually\\).\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -203,7 +203,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //Unterminated variable reference. Stop. - new ErrorPattern("(make.*[uU]nterminated variable reference.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*[uU]nterminated variable reference.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -211,7 +211,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //insufficient arguments to function `.*'. Stop. - new ErrorPattern("(make.*insufficient arguments to function `.*'.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*insufficient arguments to function `.*'.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -219,7 +219,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //missing target pattern. Stop. - new ErrorPattern("(make.*missing target pattern.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*missing target pattern.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -227,7 +227,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //multiple target patterns. Stop. - new ErrorPattern("(make.*multiple target patterns.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*multiple target patterns.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -235,7 +235,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //target pattern contains no `%'. Stop. - new ErrorPattern("(make.*target pattern contains no `%'.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*target pattern contains no `%'.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -243,7 +243,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //mixed implicit and static pattern rules. Stop. - new ErrorPattern("(make.*mixed implicit and static pattern rules.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*mixed implicit and static pattern rules.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -251,7 +251,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //mixed implicit and static pattern rules. Stop. - new ErrorPattern("(make.*mixed implicit and static pattern rules.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*mixed implicit and static pattern rules.\\s*Stop.)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -259,7 +259,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //warning: -jN forced in submake: disabling jobserver mode. - new ErrorPattern("(make.*warning: -jN forced in submake: disabling jobserver mode.)", 1, IMarkerGenerator.SEVERITY_WARNING) { //$NON-NLS-1 + new ErrorPattern("(make.*warning: -jN forced in submake: disabling jobserver mode.)", 1, IMarkerGenerator.SEVERITY_WARNING) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -267,7 +267,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //warning: jobserver unavailable: using -j1. Add `+' to parent make rule. - new ErrorPattern("(make.*warning: jobserver unavailable: using -j1. Add `+' to parent make rule.)", 1, IMarkerGenerator.SEVERITY_WARNING) { //$NON-NLS-1 + new ErrorPattern("(make.*warning: jobserver unavailable: using -j1. Add `+' to parent make rule.)", 1, IMarkerGenerator.SEVERITY_WARNING) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -275,7 +275,7 @@ public class MakeErrorParser extends AbstractErrorParser { } }, //target `abc' doesn't match the target pattern - new ErrorPattern("(make.*target `.*' doesn't match the target pattern)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1 + new ErrorPattern("(make.*target `.*' doesn't match the target pattern)", 1, IMarkerGenerator.SEVERITY_ERROR_RESOURCE) { //$NON-NLS-1$ @Override protected boolean recordError(Matcher matcher, ErrorParserManager eoParser) { super.recordError(matcher, eoParser); @@ -287,4 +287,4 @@ public class MakeErrorParser extends AbstractErrorParser { public MakeErrorParser() { super(patterns); } -}; +} diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/VCErrorParser.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/VCErrorParser.java index 5e67a625d42..98130a84f15 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/VCErrorParser.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/errorparsers/VCErrorParser.java @@ -17,10 +17,10 @@ import org.eclipse.cdt.core.IMarkerGenerator; public class VCErrorParser extends AbstractErrorParser { private static final ErrorPattern[] patterns = { - new ErrorPattern("(.+?)(\\(([0-9]+)\\))? : (fatal error|error|warning) (.*)", 1, 3, 5, 0, 0) { + new ErrorPattern("(.+?)(\\(([0-9]+)\\))? : (fatal error|error|warning) (.*)", 1, 3, 5, 0, 0) { //$NON-NLS-1$ @Override public int getSeverity(Matcher matcher) { - return "warning".equals(matcher.group(4)) + return "warning".equals(matcher.group(4)) //$NON-NLS-1$ ? IMarkerGenerator.SEVERITY_WARNING : IMarkerGenerator.SEVERITY_ERROR_RESOURCE; } diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/BinaryFile.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/BinaryFile.java index abc1ad707a8..b2ce02a7115 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/BinaryFile.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/BinaryFile.java @@ -41,14 +41,14 @@ public abstract class BinaryFile extends PlatformObject implements IBinaryFile { } /** - * @see org.eclipse.cdt.core.model.IBinaryParser.IBinaryFile#getFile() + * @see org.eclipse.cdt.core.IBinaryParser.IBinaryFile#getPath() */ public final IPath getPath() { return path; } /** - * @see org.eclipse.cdt.core.model.IBinaryParser.IBinaryFile#getType() + * @see org.eclipse.cdt.core.IBinaryParser.IBinaryFile#getType() */ public final int getType() { return type; @@ -56,7 +56,7 @@ public abstract class BinaryFile extends PlatformObject implements IBinaryFile { /** * @throws IOException - * @see org.eclipse.cdt.core.model.IBinaryParser.IBinaryFile#getContents() + * @see org.eclipse.cdt.core.IBinaryParser.IBinaryFile#getContents() */ public InputStream getContents() throws IOException { InputStream stream = null; diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/WindowsRegistry.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/WindowsRegistry.java index b182d0f6eff..dbf853fa3e1 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/WindowsRegistry.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/WindowsRegistry.java @@ -31,7 +31,7 @@ public class WindowsRegistry { if (registry == null && !failed) { if (Platform.getOS().equals(Platform.OS_WIN32)) { try { - System.loadLibrary("winreg"); + System.loadLibrary("winreg"); //$NON-NLS-1$ registry = new WindowsRegistry(); } catch (UnsatisfiedLinkError e) { failed = true; diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/cdtvariables/CdtVariableResolver.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/cdtvariables/CdtVariableResolver.java index 2561f6643ed..98e9b57d6d0 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/cdtvariables/CdtVariableResolver.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/cdtvariables/CdtVariableResolver.java @@ -28,8 +28,8 @@ public class CdtVariableResolver { private static final String EMPTY_STRING = ""; //$NON-NLS-1$ public static final String VARIABLE_PREFIX = "${"; //$NON-NLS-1$ - public static final char VARIABLE_SUFFIX = '}'; //$NON-NLS-1$ - public static final char VARIABLE_ESCAPE_CHAR = '\\'; //$NON-NLS-1$ + public static final char VARIABLE_SUFFIX = '}'; + public static final char VARIABLE_ESCAPE_CHAR = '\\'; private static final int VARIABLE_PREFIX_LENGTH = VARIABLE_PREFIX.length(); static public String convertStringListToString(String value[], String listDelimiter) { @@ -168,10 +168,6 @@ public class CdtVariableResolver { /** * resolves macros in the array of string-list values - * @param values - * @param substitutor - * @param ignoreErrors - * @return * @throws CdtVariableException */ static public String[] resolveStringListValues(String values[], IVariableSubstitutor substitutor, boolean ignoreErrors) @@ -187,11 +183,11 @@ public class CdtVariableResolver { throw e; } else { - List list = new ArrayList(); - for(int i = 0; i < values.length; i++){ + List list = new ArrayList(); + for (String value : values) { String resolved[]; try { - resolved = CdtVariableResolver.resolveToStringList(values[i], substitutor); + resolved = CdtVariableResolver.resolveToStringList(value, substitutor); if(resolved != null && resolved.length > 0) list.addAll(Arrays.asList(resolved)); } catch (CdtVariableException e) { @@ -200,17 +196,13 @@ public class CdtVariableResolver { } } - result = (String[])list.toArray(new String[list.size()]); + result = list.toArray(new String[list.size()]); } return result; } /** * Resolves macros in the given String to the String-list - * - * @param string - * @param substitutor - * @return * @throws CdtVariableException */ static public String[] resolveToStringList(String string, IVariableSubstitutor substitutor) @@ -220,9 +212,6 @@ public class CdtVariableResolver { /** * returns true if the given macro is a String-list macro. - * - * @param macroType - * @return */ public static boolean isStringListVariable(int macroType){ switch(macroType){ @@ -238,10 +227,6 @@ public class CdtVariableResolver { /** * checks the macros integrity for the given context - * - * @param provider - * @param contextType - * @param contextData * @throws CdtVariableException */ public static void checkIntegrity( @@ -251,8 +236,7 @@ public class CdtVariableResolver { if(info != null){ ICdtVariable macros[] = SupplierBasedCdtVariableManager.getVariables(info,true); if(macros != null){ - for(int i = 0; i < macros.length; i++){ - ICdtVariable macro = macros[i]; + for (ICdtVariable macro : macros) { if(isStringListVariable(macro.getValueType())) substitutor.resolveToStringList(macro.getName()); else diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/cdtvariables/SupplierBasedCdtVariableSubstitutor.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/cdtvariables/SupplierBasedCdtVariableSubstitutor.java index 4814ae5c7b1..8fbd274326c 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/cdtvariables/SupplierBasedCdtVariableSubstitutor.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/cdtvariables/SupplierBasedCdtVariableSubstitutor.java @@ -24,13 +24,13 @@ import org.eclipse.cdt.core.cdtvariables.ICdtVariable; import org.eclipse.cdt.core.cdtvariables.ICdtVariableStatus; public class SupplierBasedCdtVariableSubstitutor implements IVariableSubstitutor { - private static final Object UNDEFINED_MACRO_VALUE = new Object(); +// private static final Object UNDEFINED_MACRO_VALUE = new Object(); private static final String EMPTY_STRING = ""; //$NON-NLS-1$ private IVariableContextInfo fContextInfo; private String fInexistentMacroValue; private String fListDelimiter; private String fIncorrectlyReferencedMacroValue; - private Map fDelimiterMap; + private Map fDelimiterMap; protected class ResolvedMacro extends CdtVariable{ private boolean fIsDefined; @@ -99,31 +99,29 @@ public class SupplierBasedCdtVariableSubstitutor implements IVariableSubstitutor protected String stringListToString(String values[]) throws CdtVariableException { String result = null; String delimiter; - if(values == null) - result = null; - else if(values.length == 0) - result = EMPTY_STRING; - else if(values.length == 1) - result = values[0]; - else if((delimiter = getDelimiter()) != null){ - StringBuffer buffer = new StringBuffer(); - for(int i = 0; i < values.length; i++){ - buffer.append(values[i]); - if(i < values.length-1) - buffer.append(delimiter); + if (values != null) { + if(values.length == 0) + result = EMPTY_STRING; + else if(values.length == 1) + result = values[0]; + else if((delimiter = getDelimiter()) != null){ + StringBuffer buffer = new StringBuffer(); + for(int i = 0; i < values.length; i++){ + buffer.append(values[i]); + if(i < values.length-1) + buffer.append(delimiter); + } + result = buffer.toString(); + } else { + ICdtVariableStatus eStatus = new SupplierBasedCdtVariableStatus(ICdtVariableStatus.TYPE_MACRO_NOT_STRING, + null, + null, + fName, + fContextInfo); + throw new CdtVariableException(eStatus); } - result = buffer.toString(); - } else { - ICdtVariableStatus eStatus = new SupplierBasedCdtVariableStatus(ICdtVariableStatus.TYPE_MACRO_NOT_STRING, - null, - null, - fName, - fContextInfo); - throw new CdtVariableException(eStatus); - } - + } return result; - } public boolean isList(){ @@ -144,7 +142,7 @@ public class SupplierBasedCdtVariableSubstitutor implements IVariableSubstitutor private ICdtVariable fMacro; private boolean fInitialized; private int fSupplierNum; - private int fEnvSupplierNum; +// private int fEnvSupplierNum; public MacroDescriptor(String name, IVariableContextInfo info){ fName = name; @@ -203,15 +201,15 @@ public class SupplierBasedCdtVariableSubstitutor implements IVariableSubstitutor } - private Map fResolvedMacros = new HashMap(); - private HashSet fMacrosUnderResolution = new HashSet(); - private Stack fMacroDescriptors = new Stack(); + private Map fResolvedMacros = new HashMap(); + private HashSet fMacrosUnderResolution = new HashSet(); + private Stack fMacroDescriptors = new Stack(); public SupplierBasedCdtVariableSubstitutor(IVariableContextInfo contextInfo, String inexistentMacroValue, String listDelimiter){ this(contextInfo, inexistentMacroValue, listDelimiter, null ,inexistentMacroValue); } - public SupplierBasedCdtVariableSubstitutor(IVariableContextInfo contextInfo, String inexistentMacroValue, String listDelimiter, Map delimiterMap, String incorrectlyReferencedMacroValue){ + public SupplierBasedCdtVariableSubstitutor(IVariableContextInfo contextInfo, String inexistentMacroValue, String listDelimiter, Map delimiterMap, String incorrectlyReferencedMacroValue){ fContextInfo = contextInfo; fInexistentMacroValue = inexistentMacroValue; fListDelimiter = listDelimiter; @@ -344,11 +342,11 @@ public class SupplierBasedCdtVariableSubstitutor implements IVariableSubstitutor if(resolvedValues.length == 1) result = resolvedValues[0]; else{ - List list = new ArrayList(); - for(int i = 0; i < resolvedValues.length; i++) - list.addAll(Arrays.asList(resolvedValues[i])); + List list = new ArrayList(); + for (String[] resolvedValue : resolvedValues) + list.addAll(Arrays.asList(resolvedValue)); - result = (String[])list.toArray(new String[list.size()]); + result = list.toArray(new String[list.size()]); } resolvedMacro = new ResolvedMacro(macroName,result); } @@ -377,7 +375,7 @@ public class SupplierBasedCdtVariableSubstitutor implements IVariableSubstitutor private ResolvedMacro checkResolvingMacro(MacroDescriptor des) throws CdtVariableException{ String name = des.fName; - ResolvedMacro value = (ResolvedMacro)fResolvedMacros.get(name); + ResolvedMacro value = fResolvedMacros.get(name); if(value == null){ if(fMacrosUnderResolution.add(name)) { fMacroDescriptors.push(des); @@ -393,7 +391,7 @@ public class SupplierBasedCdtVariableSubstitutor implements IVariableSubstitutor // ${macro1} = "...${macro1}..." // In the above example the ${macro1} reference will be expanded to the value of the ${macro1} macro of the // parent context or to an empty string if there is no such macro defined in the parent contexts - MacroDescriptor last = (MacroDescriptor)fMacroDescriptors.lastElement(); + MacroDescriptor last = fMacroDescriptors.lastElement(); if(last != null && last.fName.equals(name)) { value = resolveParentMacro(last); if(value == null) @@ -422,7 +420,7 @@ public class SupplierBasedCdtVariableSubstitutor implements IVariableSubstitutor } protected ResolvedMacro removeResolvedMacro(String name){ - return (ResolvedMacro)fResolvedMacros.remove(name); + return fResolvedMacros.remove(name); } /* (non-Javadoc) @@ -439,11 +437,11 @@ public class SupplierBasedCdtVariableSubstitutor implements IVariableSubstitutor fResolvedMacros.clear(); } - public Map getDelimiterMap() { + public Map getDelimiterMap() { return fDelimiterMap; } - public void setDelimiterMap(Map delimiterMap) throws CdtVariableException { + public void setDelimiterMap(Map delimiterMap) throws CdtVariableException { if(checkEqual(fDelimiterMap,delimiterMap)) return; reset(); diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/PEArchive.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/PEArchive.java index fdef7d118c8..02ecdb03587 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/PEArchive.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/PEArchive.java @@ -65,10 +65,10 @@ public class PEArchive { public class ARHeader { private String object_name; - private String modification_time; - private String uid; - private String gid; - private String mode; +// private String modification_time; +// private String uid; +// private String gid; +// private String mode; private long size; private long elf_offset; @@ -147,10 +147,10 @@ public class PEArchive { // Convert the raw bytes into strings and numbers. // this.object_name = removeBlanks(new String(object_name)); - this.modification_time = new String(modification_time); - this.uid = new String(uid); - this.gid = new String(gid); - this.mode = new String(mode); +// this.modification_time = new String(modification_time); +// this.uid = new String(uid); +// this.gid = new String(gid); +// this.mode = new String(mode); this.size = Long.parseLong(removeBlanks(new String(size))); // @@ -246,7 +246,7 @@ public class PEArchive { if (headers != null) return; - Vector v = new Vector(); + Vector v = new Vector(); try { // // Check for EOF condition @@ -280,7 +280,7 @@ public class PEArchive { } } catch (IOException e) { } - headers = (ARHeader[]) v.toArray(new ARHeader[0]); + headers = v.toArray(new ARHeader[0]); } /** @@ -297,30 +297,30 @@ public class PEArchive { } private boolean stringInStrings(String str, String[] set) { - for (int i = 0; i < set.length; i++) - if (str.compareTo(set[i]) == 0) + for (String element : set) + if (str.compareTo(element) == 0) return true; return false; } public String[] extractFiles(String outdir, String[] names) throws IOException { - Vector names_used = new Vector(); + Vector names_used = new Vector(); String object_name; int count; loadHeaders(); count = 0; - for (int i = 0; i < headers.length; i++) { - object_name = headers[i].getObjectName(); + for (ARHeader header : headers) { + object_name = header.getObjectName(); if (names != null && !stringInStrings(object_name, names)) continue; object_name = "" + count + "_" + object_name; //$NON-NLS-1$ //$NON-NLS-2$ count++; - byte[] data = headers[i].getObjectData(); + byte[] data = header.getObjectData(); File output = new File(outdir, object_name); names_used.add(object_name); @@ -329,7 +329,7 @@ public class PEArchive { rfile.close(); } - return (String[]) names_used.toArray(new String[0]); + return names_used.toArray(new String[0]); } public String[] extractFiles(String outdir) throws IOException { diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/dwarf/Dwarf.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/dwarf/Dwarf.java index 11c2210b903..8977d41b13b 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/dwarf/Dwarf.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/dwarf/Dwarf.java @@ -26,6 +26,7 @@ import org.eclipse.cdt.utils.debug.IDebugEntryRequestor; import org.eclipse.cdt.utils.debug.tools.DebugSym; import org.eclipse.cdt.utils.debug.tools.DebugSymsRequestor; import org.eclipse.cdt.utils.elf.Elf; +import org.eclipse.cdt.utils.elf.Elf.Section; public class Dwarf { @@ -83,12 +84,12 @@ public class Dwarf { /* unsigned */ long tag; byte hasChildren; - List attributes; + List attributes; AbbreviationEntry(long c, long t, byte h) { code = c; tag = t; hasChildren = h; - attributes = new ArrayList(); + attributes = new ArrayList(); } } @@ -122,7 +123,7 @@ public class Dwarf { StringBuffer sb = new StringBuffer(); sb.append(attribute.toString()).append(' '); if (value != null) { - Class clazz = value.getClass(); + Class clazz = value.getClass(); if (clazz.isArray()) { int len = Array.getLength(value); sb.append(len).append(' '); @@ -159,8 +160,8 @@ public class Dwarf { int identifierCase; } - Map dwarfSections = new HashMap(); - Map abbreviationMaps = new HashMap(); + Map dwarfSections = new HashMap(); + Map> abbreviationMaps = new HashMap>(); boolean isLE; @@ -183,11 +184,11 @@ public class Dwarf { isLE = header.e_ident[Elf.ELFhdr.EI_DATA] == Elf.ELFhdr.ELFDATA2LSB; Elf.Section[] sections = exe.getSections(); - for (int i = 0; i < sections.length; i++) { - String name = sections[i].toString(); - for (int j = 0; j < DWARF_SCNNAMES.length; j++) { - if (name.equals(DWARF_SCNNAMES[j])) { - dwarfSections.put(DWARF_SCNNAMES[j], sections[i].loadSectionData()); + for (Section section : sections) { + String name = section.toString(); + for (String element : DWARF_SCNNAMES) { + if (name.equals(element)) { + dwarfSections.put(element, section.loadSectionData()); } } } @@ -334,7 +335,7 @@ public class Dwarf { } void parseDebugInfo(IDebugEntryRequestor requestor) { - byte[] data = (byte[]) dwarfSections.get(DWARF_DEBUG_INFO); + byte[] data = dwarfSections.get(DWARF_DEBUG_INFO); if (data != null) { try { int length = 0; @@ -353,7 +354,7 @@ public class Dwarf { // read the abbrev section. // Note "length+4" is the total size in bytes of the CU data. InputStream in = new ByteArrayInputStream(data, offset + 11, length+4-11); - Map abbrevs = parseDebugAbbreviation(header); + Map abbrevs = parseDebugAbbreviation(header); parseDebugInfoEntry(requestor, in, abbrevs, header); if (printEnabled) @@ -365,14 +366,14 @@ public class Dwarf { } } - Map parseDebugAbbreviation(CompilationUnitHeader header) throws IOException { + Map parseDebugAbbreviation(CompilationUnitHeader header) throws IOException { int offset = header.abbreviationOffset; Integer key = new Integer(offset); - Map abbrevs = (Map) abbreviationMaps.get(key); + Map abbrevs = abbreviationMaps.get(key); if (abbrevs == null) { - abbrevs = new HashMap(); + abbrevs = new HashMap(); abbreviationMaps.put(key, abbrevs); - byte[] data = (byte[]) dwarfSections.get(DWARF_DEBUG_ABBREV); + byte[] data = dwarfSections.get(DWARF_DEBUG_ABBREV); if (data != null) { InputStream in = new ByteArrayInputStream(data); in.skip(offset); @@ -405,17 +406,17 @@ public class Dwarf { return abbrevs; } - void parseDebugInfoEntry(IDebugEntryRequestor requestor, InputStream in, Map abbrevs, CompilationUnitHeader header) + void parseDebugInfoEntry(IDebugEntryRequestor requestor, InputStream in, Map abbrevs, CompilationUnitHeader header) throws IOException { while (in.available() > 0) { long code = read_unsigned_leb128(in); - AbbreviationEntry entry = (AbbreviationEntry) abbrevs.get(new Long(code)); + AbbreviationEntry entry = abbrevs.get(new Long(code)); if (entry != null) { int len = entry.attributes.size(); - List list = new ArrayList(len); + List list = new ArrayList(len); try { for (int i = 0; i < len; i++) { - Attribute attr = (Attribute) entry.attributes.get(i); + Attribute attr = entry.attributes.get(i); Object obj = readAttribute((int) attr.form, in, header); list.add(new AttributeValue(attr, obj)); } @@ -516,7 +517,7 @@ public class Dwarf { case DwarfConstants.DW_FORM_strp : { int offset = read_4_bytes(in); - byte[] data = (byte[]) dwarfSections.get(DWARF_DEBUG_STR); + byte[] data = dwarfSections.get(DWARF_DEBUG_STR); if (data == null) { obj = new String(); } else if (offset < 0 || offset > data.length) { @@ -568,14 +569,14 @@ public class Dwarf { return obj; } - void processDebugInfoEntry(IDebugEntryRequestor requestor, AbbreviationEntry entry, List list) { + void processDebugInfoEntry(IDebugEntryRequestor requestor, AbbreviationEntry entry, List list) { int len = list.size(); int tag = (int) entry.tag; if (printEnabled) System.out.println("Abbrev Number " + entry.code); //$NON-NLS-1$ for (int i = 0; i < len; i++) { - AttributeValue av = (AttributeValue) list.get(i); + AttributeValue av = list.get(i); if (printEnabled) System.out.println(av); // We are only interrested in certain tags. @@ -665,14 +666,14 @@ public class Dwarf { return new Long(value); } - void processSubProgram(IDebugEntryRequestor requestor, List list) { + void processSubProgram(IDebugEntryRequestor requestor, List list) { long lowPC = 0; long highPC = 0; String funcName = ""; //$NON-NLS-1$ boolean isExtern = false; for (int i = 0; i < list.size(); i++) { - AttributeValue av = (AttributeValue)list.get(i); + AttributeValue av = list.get(i); try { int name = (int)av.attribute.name; switch(name) { @@ -699,13 +700,13 @@ public class Dwarf { requestor.exitFunction(highPC); } - void processCompileUnit(IDebugEntryRequestor requestor, List list) { + void processCompileUnit(IDebugEntryRequestor requestor, List list) { if (currentCU != null) { requestor.exitCompilationUnit(currentCU.highPC); } currentCU = new CompileUnit(); for (int i = 0; i < list.size(); i++) { - AttributeValue av = (AttributeValue)list.get(i); + AttributeValue av = list.get(i); try { int name = (int)av.attribute.name; switch(name) { @@ -755,8 +756,7 @@ public class Dwarf { Dwarf dwarf = new Dwarf(args[0]); dwarf.parse(symreq); DebugSym[] entries = symreq.getEntries(); - for (int i = 0; i < entries.length; i++) { - DebugSym entry = entries[i]; + for (DebugSym entry : entries) { System.out.println(entry); } } catch (IOException e) { diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/dwarf/DwarfReader.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/dwarf/DwarfReader.java index aa951b596bc..0bc70358033 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/dwarf/DwarfReader.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/dwarf/DwarfReader.java @@ -21,6 +21,7 @@ import java.util.List; import org.eclipse.cdt.core.ISymbolReader; import org.eclipse.cdt.utils.debug.IDebugEntryRequestor; import org.eclipse.cdt.utils.elf.Elf; +import org.eclipse.cdt.utils.elf.Elf.Section; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; @@ -39,13 +40,13 @@ public class DwarfReader extends Dwarf implements ISymbolReader { DWARF_DEBUG_STR // this is optional. Some compilers don't generate it. }; - private Collection m_fileCollection = new ArrayList(); + private Collection m_fileCollection = new ArrayList(); private String[] m_fileNames = null; private String m_exeFileWin32Drive; // Win32 drive of the exe file. private boolean m_onWindows; private boolean m_parsed = false; private int m_leb128Size = 0; - private ArrayList m_parsedLineTableOffsets = new ArrayList(); + private ArrayList m_parsedLineTableOffsets = new ArrayList(); private int m_parsedLineTableSize = 0; public DwarfReader(String file) throws IOException { @@ -67,11 +68,11 @@ public class DwarfReader extends Dwarf implements ISymbolReader { // Read in sections (and only the sections) we care about. // - for (int i = 0; i < sections.length; i++) { - String name = sections[i].toString(); - for (int j = 0; j < DWARF_SectionsToParse.length; j++) { - if (name.equals(DWARF_SectionsToParse[j])) { - dwarfSections.put(DWARF_SectionsToParse[j], sections[i].loadSectionData()); + for (Section section : sections) { + String name = section.toString(); + for (String element : DWARF_SectionsToParse) { + if (name.equals(element)) { + dwarfSections.put(element, section.loadSectionData()); } } } @@ -95,7 +96,7 @@ public class DwarfReader extends Dwarf implements ISymbolReader { String cuCompDir, // compilation directory of the CU int cuStmtList) // offset of the CU line table in .debug_line section { - byte[] data = (byte[]) dwarfSections.get(DWARF_DEBUG_LINE); + byte[] data = dwarfSections.get(DWARF_DEBUG_LINE); if (data != null) { try { int offset = cuStmtList; @@ -134,7 +135,7 @@ public class DwarfReader extends Dwarf implements ISymbolReader { // Read in directories. // - ArrayList dirList = new ArrayList(); + ArrayList dirList = new ArrayList(); // Put the compilation directory of the CU as the first dir dirList.add(cuCompDir); @@ -163,7 +164,7 @@ public class DwarfReader extends Dwarf implements ISymbolReader { leb128 = read_unsigned_leb128(data, offset); offset += m_leb128Size; - addSourceFile((String)dirList.get((int)leb128), fileName); + addSourceFile(dirList.get((int)leb128), fileName); // Skip the followings // @@ -191,7 +192,7 @@ public class DwarfReader extends Dwarf implements ISymbolReader { */ private void getSourceFilesFromDebugLineSection() { - byte[] data = (byte[]) dwarfSections.get(DWARF_DEBUG_LINE); + byte[] data = dwarfSections.get(DWARF_DEBUG_LINE); if (data == null) return; @@ -272,12 +273,12 @@ public class DwarfReader extends Dwarf implements ISymbolReader { // Read in directories. // - ArrayList dirList = new ArrayList(); + ArrayList dirList = new ArrayList(); String str, fileName; // first dir should be TAG_comp_dir from CU, which we don't have here. - dirList.add(""); + dirList.add(""); //$NON-NLS-1$ while (true) { str = readString(data, offset); @@ -301,7 +302,7 @@ public class DwarfReader extends Dwarf implements ISymbolReader { leb128 = read_unsigned_leb128(data, offset); offset += m_leb128Size; - addSourceFile((String) dirList.get((int) leb128), fileName); + addSourceFile(dirList.get((int) leb128), fileName); // Skip the followings // @@ -422,7 +423,7 @@ public class DwarfReader extends Dwarf implements ISymbolReader { m_leb128Size = 0; while (true) { - b = (short) data[offset++]; + b = data[offset++]; if (data.length == offset) break; //throw new IOException("no more data"); m_leb128Size++; @@ -438,7 +439,7 @@ public class DwarfReader extends Dwarf implements ISymbolReader { // Override parent: only handle TAG_Compile_Unit. @Override - void processDebugInfoEntry(IDebugEntryRequestor requestor, AbbreviationEntry entry, List list) { + void processDebugInfoEntry(IDebugEntryRequestor requestor, AbbreviationEntry entry, List list) { int tag = (int) entry.tag; switch (tag) { case DwarfConstants.DW_TAG_compile_unit : @@ -453,15 +454,15 @@ public class DwarfReader extends Dwarf implements ISymbolReader { // Just get the file name of the CU. // Argument "requestor" is ignored. @Override - void processCompileUnit(IDebugEntryRequestor requestor, List list) { + void processCompileUnit(IDebugEntryRequestor requestor, List list) { String cuName, cuCompDir; int stmtList = -1; - cuName = cuCompDir = ""; + cuName = cuCompDir = ""; //$NON-NLS-1$ for (int i = 0; i < list.size(); i++) { - AttributeValue av = (AttributeValue)list.get(i); + AttributeValue av = list.get(i); try { int name = (int)av.attribute.name; switch(name) { diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/stabs/Stabs.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/stabs/Stabs.java index 97d5d4e9479..4a7cced18cf 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/stabs/Stabs.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/stabs/Stabs.java @@ -18,6 +18,9 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.eclipse.cdt.utils.coff.PE; +import org.eclipse.cdt.utils.coff.Coff.SectionHeader; +import org.eclipse.cdt.utils.coff.PE.Attribute; import org.eclipse.cdt.utils.debug.DebugArrayType; import org.eclipse.cdt.utils.debug.DebugBaseType; import org.eclipse.cdt.utils.debug.DebugCrossRefType; @@ -36,9 +39,7 @@ import org.eclipse.cdt.utils.debug.IDebugEntryRequestor; import org.eclipse.cdt.utils.debug.tools.DebugSym; import org.eclipse.cdt.utils.debug.tools.DebugSymsRequestor; import org.eclipse.cdt.utils.elf.Elf; -import org.eclipse.cdt.utils.coff.PE; -import org.eclipse.cdt.utils.coff.Coff.SectionHeader; -import org.eclipse.cdt.utils.coff.PE.Attribute; +import org.eclipse.cdt.utils.elf.Elf.Section; public class Stabs { @@ -57,7 +58,7 @@ public class Stabs { int bracket; String currentFile; - Map mapTypes = new HashMap(); + Map mapTypes = new HashMap(); DebugType voidType = new DebugBaseType("void", 0, false); //$NON-NLS-1$ public Stabs(String file) throws IOException { @@ -87,12 +88,12 @@ public class Stabs { byte[] data = null; byte[] stabstr = null; Elf.Section[] sections = exe.getSections(); - for (int i = 0; i < sections.length; i++) { - String name = sections[i].toString(); + for (Section section : sections) { + String name = section.toString(); if (name.equals(".stab")) { //$NON-NLS-1$ - data = sections[i].loadSectionData(); + data = section.loadSectionData(); } else if (name.equals(".stabstr")) { //$NON-NLS-1$ - stabstr = sections[i].loadSectionData(); + stabstr = section.loadSectionData(); } } Elf.ELFhdr header = exe.getELFhdr(); @@ -107,12 +108,12 @@ public class Stabs { byte[] stabstr = null; SectionHeader[] sections = exe.getSectionHeaders(); - for (int i = 0; i < sections.length; i++) { - String name = new String(sections[i].s_name).trim(); + for (SectionHeader section : sections) { + String name = new String(section.s_name).trim(); if (name.equals(".stab")) { //$NON-NLS-1$ - data = sections[i].getRawData(); + data = section.getRawData(); } else if (name.equals(".stabstr")) { //$NON-NLS-1$ - stabstr = sections[i].getRawData(); + stabstr = section.getRawData(); } } @@ -488,7 +489,7 @@ public class Stabs { // According to the doc 't' can follow the 'T'. If so just // strip the T and go again. if (infoField.length() > 0 && infoField.charAt(0) == 't') { - String s = field.replaceFirst(":T", ":"); + String s = field.replaceFirst(":T", ":"); //$NON-NLS-1$ //$NON-NLS-2$ parseStabString(requestor, s, value); } else { // Just register the type. @@ -994,7 +995,7 @@ public class Stabs { * @return */ DebugType parseStabEnumType(String name, Reader reader) throws IOException { - List list = new ArrayList(); + List list = new ArrayList(); String fieldName = null; StringBuffer sb = new StringBuffer(); int c; @@ -1190,10 +1191,6 @@ public class Stabs { overflowUpperBound = true; } - if (typeNumber == null) { - typeNumber = new TypeNumber(0, 0); - } - boolean self = typeNumber.equals(number); // Probably trying 64 bits range like "long long" @@ -1365,7 +1362,7 @@ public class Stabs { } DebugType getDebugType(TypeNumber tn) { - return (DebugType) mapTypes.get(tn); + return mapTypes.get(tn); } public static void main(String[] args) { @@ -1374,8 +1371,7 @@ public class Stabs { Stabs stabs = new Stabs(args[0]); stabs.parse(symreq); DebugSym[] entries = symreq.getEntries(); - for (int i = 0; i < entries.length; i++) { - DebugSym entry = entries[i]; + for (DebugSym entry : entries) { System.out.println(entry); } } catch (IOException e) { diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/stabs/StabsReader.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/stabs/StabsReader.java index b6f741fb449..e5c16ba5986 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/stabs/StabsReader.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/debug/stabs/StabsReader.java @@ -11,8 +11,8 @@ package org.eclipse.cdt.utils.debug.stabs; import java.io.File; -import java.util.List; import java.util.ArrayList; +import java.util.List; import org.eclipse.cdt.core.ISymbolReader; @@ -21,7 +21,7 @@ public class StabsReader implements ISymbolReader { byte[] stabData; byte[] stabstrData; boolean isLe; - List fileList; + List fileList; String[] files = null; boolean parsed = false; String currentFile; @@ -31,7 +31,7 @@ public class StabsReader implements ISymbolReader { stabstrData = stabstr; isLe = littleEndian; - fileList = new ArrayList(); + fileList = new ArrayList(); } public String[] getSourceFiles() { @@ -42,7 +42,7 @@ public class StabsReader implements ISymbolReader { files = new String[fileList.size()]; for (int i = 0; i < fileList.size(); i++) { - files[i] = (String)fileList.get(i); + files[i] = fileList.get(i); } } @@ -83,10 +83,10 @@ public class StabsReader implements ISymbolReader { private String fixUpPath(String path) { // some compilers generate extra back slashes - path = path.replaceAll("\\\\\\\\", "\\\\"); + path = path.replaceAll("\\\\\\\\", "\\\\"); //$NON-NLS-1$//$NON-NLS-2$ // translate any cygwin drive paths, e.g. //G/System/main.cpp or /cygdrive/c/system/main.c - if (path.startsWith("/cygdrive/") && ('/' == path.charAt(11))) { + if (path.startsWith("/cygdrive/") && ('/' == path.charAt(11))) { //$NON-NLS-1$ char driveLetter = path.charAt(10); driveLetter = (Character.isLowerCase(driveLetter)) ? Character.toUpperCase(driveLetter) : driveLetter; @@ -99,7 +99,7 @@ public class StabsReader implements ISymbolReader { } // translate any cygwin drive paths, e.g. //G/System/main.cpp or /cygdrive/c/system/main.c - if (path.startsWith("//") && ('/' == path.charAt(3))) { + if (path.startsWith("//") && ('/' == path.charAt(3))) { //$NON-NLS-1$ char driveLetter = path.charAt(2); driveLetter = (Character.isLowerCase(driveLetter)) ? Character.toUpperCase(driveLetter) : driveLetter; diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/AR.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/AR.java index b0121def520..a640ccf3432 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/AR.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/elf/AR.java @@ -63,10 +63,10 @@ public class AR { public class ARHeader { private String object_name; - private String modification_time; - private String uid; - private String gid; - private String mode; +// private String modification_time; +// private String uid; +// private String gid; +// private String mode; private long size; private long elf_offset; @@ -145,10 +145,10 @@ public class AR { // Convert the raw bytes into strings and numbers. // this.object_name = removeBlanks(new String(object_name)); - this.modification_time = new String(modification_time); - this.uid = new String(uid); - this.gid = new String(gid); - this.mode = new String(mode); +// this.modification_time = new String(modification_time); +// this.uid = new String(uid); +// this.gid = new String(gid); +// this.mode = new String(mode); this.size = Long.parseLong(removeBlanks(new String(size))); // @@ -250,7 +250,7 @@ public class AR { if (headers != null) return; - Vector v = new Vector(); + Vector v = new Vector(); try { // // Check for EOF condition @@ -284,7 +284,7 @@ public class AR { } } catch (IOException e) { } - headers = (ARHeader[]) v.toArray(new ARHeader[0]); + headers = v.toArray(new ARHeader[0]); } /** @@ -301,29 +301,29 @@ public class AR { } private boolean stringInStrings(String str, String[] set) { - for (int i = 0; i < set.length; i++) - if (str.compareTo(set[i]) == 0) + for (String element : set) + if (str.compareTo(element) == 0) return true; return false; } public String[] extractFiles(String outdir, String[] names) throws IOException { - Vector names_used = new Vector(); + Vector names_used = new Vector(); String object_name; int count; loadHeaders(); count = 0; - for (int i = 0; i < headers.length; i++) { - object_name = headers[i].getObjectName(); + for (ARHeader header : headers) { + object_name = header.getObjectName(); if (names != null && !stringInStrings(object_name, names)) continue; object_name = "" + count + "_" + object_name; //$NON-NLS-1$ //$NON-NLS-2$ count++; - byte[] data = headers[i].getObjectData(); + byte[] data = header.getObjectData(); File output = new File(outdir, object_name); names_used.add(object_name); @@ -332,7 +332,7 @@ public class AR { rfile.close(); } - return (String[]) names_used.toArray(new String[0]); + return names_used.toArray(new String[0]); } public String[] extractFiles(String outdir) throws IOException { diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/envvar/EnvVarOperationProcessor.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/envvar/EnvVarOperationProcessor.java index bc877b25967..92d533e6e80 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/envvar/EnvVarOperationProcessor.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/envvar/EnvVarOperationProcessor.java @@ -87,8 +87,8 @@ public class EnvVarOperationProcessor { return prepend ? addValue + initialValue : initialValue + addValue; } - List value = convertToList(initialValue, delimiter); - List added = convertToList(addValue, delimiter); + List value = convertToList(initialValue, delimiter); + List added = convertToList(addValue, delimiter); value = removeDuplicates(value, added); @@ -151,10 +151,9 @@ public class EnvVarOperationProcessor { * Converts a given value to string using a delimiter passed to this method * @param value * @param delimiter - * @return */ - static public List convertToList(String value, String delimiter){ - List list = new ArrayList(); + static public List convertToList(String value, String delimiter){ + List list = new ArrayList(); int delLength = delimiter.length(); int valLength = value.length(); @@ -180,15 +179,15 @@ public class EnvVarOperationProcessor { /* * removes duplicates */ - static public List removeDuplicates(List value, List duplicates){ - List list = new ArrayList(); - Iterator valueIter = value.iterator(); + static public List removeDuplicates(List value, List duplicates){ + List list = new ArrayList(); + Iterator valueIter = value.iterator(); while(valueIter.hasNext()){ - String curVal = (String)valueIter.next(); + String curVal = valueIter.next(); boolean duplFound = false; - Iterator duplicatesIter = duplicates.iterator(); + Iterator duplicatesIter = duplicates.iterator(); while(duplicatesIter.hasNext()){ - String curDupl = (String)duplicatesIter.next(); + String curDupl = duplicatesIter.next(); if(curVal.equals(curDupl)){ duplFound = true; break; @@ -207,12 +206,12 @@ public class EnvVarOperationProcessor { * @param delimiter * @return String */ - static public String convertToString(List list, String delimiter){ - Iterator iter = list.iterator(); + static public String convertToString(List list, String delimiter){ + Iterator iter = list.iterator(); StringBuffer buffer = new StringBuffer(); while(iter.hasNext()){ - buffer.append((String)iter.next()); + buffer.append(iter.next()); if(iter.hasNext()) buffer.append(delimiter); @@ -220,20 +219,7 @@ public class EnvVarOperationProcessor { return buffer.toString(); } - - /* - * concatenetes two Strings - * Returns a resulting string - */ - static private String concatenateStrings(String str1, String str2, String delimiter){ - if(str1 == null || "".equals(str1)) //$NON-NLS-1$ - return str2; - if(str2 == null || "".equals(str2)) //$NON-NLS-1$ - return str1; - return str1 + delimiter + str2; - } - /* * normalizes the variable name. That is: removes prepended and appended spaces * and converts the name to upper-case for Win32 systems @@ -256,14 +242,13 @@ public class EnvVarOperationProcessor { IEnvironmentVariable filtered[] = new IEnvironmentVariable[variables.length]; int filteredNum = 0; - for(int i = 0; i < variables.length; i++){ - IEnvironmentVariable var = variables[i]; + for (IEnvironmentVariable var : variables) { String name = null; if(var != null && (name = normalizeName(var.getName())) != null){ boolean skip = false; if(remove != null && remove.length > 0){ - for(int j = 0; j < remove.length; j++){ - if(remove[j] != null && remove[j].equals(name)){ + for (String element : remove) { + if(element != null && element.equals(name)){ skip = true; break; } diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/envvar/StorableEnvironmentLoader.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/envvar/StorableEnvironmentLoader.java index f95475ce449..eb1f59f0006 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/envvar/StorableEnvironmentLoader.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/envvar/StorableEnvironmentLoader.java @@ -63,9 +63,6 @@ public abstract class StorableEnvironmentLoader { * this method should return the ISerializeInfo representing the information * of where the variable should be stored and loaded * If the given context is not supported this method should return null - * - * @param context - * @return */ protected abstract ISerializeInfo getSerializeInfo(Object context); @@ -198,9 +195,9 @@ public abstract class StorableEnvironmentLoader { CCorePlugin.PLUGIN_ID, -1, //TODO:ManagedMakeMessages.getResourceString( - "StorableEnvironmentLoader.storeOutputStream.wrong.arguments" + "StorableEnvironmentLoader.storeOutputStream.wrong.arguments" //$NON-NLS-1$ //) - , //$NON-NLS-1$ + , null)); byte[] bytes= stream.toByteArray(); diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/AR.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/AR.java index 7bac4ffb0d9..f3b22f7fdfd 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/AR.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/AR.java @@ -60,12 +60,12 @@ public class AR { public class ARHeader { private String object_name; - private String modification_time; - private String uid; - private String gid; - private String mode; +// private String modification_time; +// private String uid; +// private String gid; +// private String mode; private long size; - private long file_offset; +// private long file_offset; private long macho_offset; /** @@ -88,23 +88,23 @@ public class AR { * @throws IOException * offset not in string table bounds. */ - private String nameFromStringTable(long offset) throws IOException { - StringBuffer name = new StringBuffer(0); - long pos = efile.getFilePointer(); - - try { - if (strtbl_pos != -1) { - byte temp; - efile.seek(strtbl_pos + offset); - while ((temp = efile.readByte()) != '\n') - name.append((char) temp); - } - } finally { - efile.seek(pos); - } - - return name.toString(); - } +// private String nameFromStringTable(long offset) throws IOException { +// StringBuffer name = new StringBuffer(0); +// long pos = efile.getFilePointer(); +// +// try { +// if (strtbl_pos != -1) { +// byte temp; +// efile.seek(strtbl_pos + offset); +// while ((temp = efile.readByte()) != '\n') +// name.append((char) temp); +// } +// } finally { +// efile.seek(pos); +// } +// +// return name.toString(); +// } /** * Creates a new archive header object. @@ -143,10 +143,10 @@ public class AR { // Convert the raw bytes into strings and numbers. // this.object_name = removeBlanks(new String(object_name)); - this.modification_time = new String(modification_time); - this.uid = new String(uid); - this.gid = new String(gid); - this.mode = new String(mode); +// this.modification_time = new String(modification_time); +// this.uid = new String(uid); +// this.gid = new String(gid); +// this.mode = new String(mode); this.size = Long.parseLong(removeBlanks(new String(size))); // @@ -256,14 +256,14 @@ public class AR { if (headers != null) return; - Vector v = new Vector(); + Vector v = new Vector(); try { // // Check for EOF condition // while (efile.getFilePointer() < efile.length()) { ARHeader header = new ARHeader(); - String name = header.getObjectName(); + header.getObjectName(); long pos = efile.getFilePointer(); @@ -281,7 +281,7 @@ public class AR { } catch (IOException e) { } // strtbl_pos = ???; - headers = (ARHeader[]) v.toArray(new ARHeader[0]); + headers = v.toArray(new ARHeader[0]); } /** @@ -298,29 +298,29 @@ public class AR { } private boolean stringInStrings(String str, String[] set) { - for (int i = 0; i < set.length; i++) - if (str.compareTo(set[i]) == 0) + for (String element : set) + if (str.compareTo(element) == 0) return true; return false; } public String[] extractFiles(String outdir, String[] names) throws IOException { - Vector names_used = new Vector(); + Vector names_used = new Vector(); String object_name; int count; loadHeaders(); count = 0; - for (int i = 0; i < headers.length; i++) { - object_name = headers[i].getObjectName(); + for (ARHeader header : headers) { + object_name = header.getObjectName(); if (names != null && !stringInStrings(object_name, names)) continue; object_name = "" + count + "_" + object_name; //$NON-NLS-1$ //$NON-NLS-2$ count++; - byte[] data = headers[i].getObjectData(); + byte[] data = header.getObjectData(); File output = new File(outdir, object_name); names_used.add(object_name); @@ -329,7 +329,7 @@ public class AR { rfile.close(); } - return (String[]) names_used.toArray(new String[0]); + return names_used.toArray(new String[0]); } public String[] extractFiles(String outdir) throws IOException { diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/MachO.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/MachO.java index 8fe74daf8b3..b8da4e5e94f 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/MachO.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/MachO.java @@ -40,7 +40,7 @@ public class MachO { private Symbol[] local_symbols; /* local symbols from DySymtabCommand */ private boolean dynsym = false; /* set if DynSymtabCommand is present */ Line[] lines; /* line table */ - private ArrayList sections = new ArrayList(); /* sections from SegmentCommand */ + private ArrayList
    sections = new ArrayList
    (); /* sections from SegmentCommand */ SymtabCommand symtab; /* SymtabCommand that contains the symbol table */ protected static final String EMPTY_STRING = ""; //$NON-NLS-1$ @@ -171,17 +171,17 @@ public class MachO { else if ( magic == MH_UNIVERSAL) { - String arch = System.getProperty("os.arch"); + String arch = System.getProperty("os.arch"); //$NON-NLS-1$ int numArchives = efile.readIntE(); while (numArchives-- > 0) { - int cpuType = efile.readIntE(); - int cpuSubType = efile.readIntE(); - int archiveOffset = efile.readIntE(); - int archiveSize = efile.readIntE(); - int archiveAlignment = efile.readIntE(); - if ((cpuType == MachO.MachOhdr.CPU_TYPE_I386 && arch.equalsIgnoreCase("i386")) || - (cpuType == MachO.MachOhdr.CPU_TYPE_POWERPC && arch.equalsIgnoreCase("ppc"))) + int cpuType = efile.readIntE(); // cpuType + efile.readIntE(); // cpuSubType + int archiveOffset = efile.readIntE(); // archiveOffset + efile.readIntE(); // archiveSize + efile.readIntE(); // archiveAlignment + if ((cpuType == MachO.MachOhdr.CPU_TYPE_I386 && arch.equalsIgnoreCase("i386")) || //$NON-NLS-1$ + (cpuType == MachO.MachOhdr.CPU_TYPE_POWERPC && arch.equalsIgnoreCase("ppc"))) //$NON-NLS-1$ { efile.seek(archiveOffset); magic = efile.readIntE(); @@ -212,17 +212,17 @@ public class MachO { else if ( magic == MH_UNIVERSAL) { - String arch = System.getProperty("os.arch"); + String arch = System.getProperty("os.arch"); //$NON-NLS-1$ int numArchives = makeInt(bytes, offset, isle); offset += 4; while (numArchives-- > 0) { int cpuType = makeInt(bytes, offset, isle); offset += 4; - int cpuSubType = makeInt(bytes, offset, isle); offset += 4; - int archiveOffset = makeInt(bytes, offset, isle); offset += 4; - int archiveSize = makeInt(bytes, offset, isle); offset += 4; - int archiveAlignment = makeInt(bytes, offset, isle); offset += 4; - if ((cpuType == MachO.MachOhdr.CPU_TYPE_I386 && arch.equalsIgnoreCase("i386")) || - (cpuType == MachO.MachOhdr.CPU_TYPE_POWERPC && arch.equalsIgnoreCase("ppc"))) + offset += 4; // cpuSubType + int archiveOffset = makeInt(bytes, offset, isle); offset += 4; + offset += 4; // archiveSize + offset += 4; // archiveAlignment + if ((cpuType == MachO.MachOhdr.CPU_TYPE_I386 && arch.equalsIgnoreCase("i386")) || //$NON-NLS-1$ + (cpuType == MachO.MachOhdr.CPU_TYPE_POWERPC && arch.equalsIgnoreCase("ppc"))) //$NON-NLS-1$ { offset = archiveOffset; magic = makeInt(bytes, offset, isle); offset += 4; @@ -245,15 +245,6 @@ public class MachO { } } - private static final short makeShort(byte [] val, int offset, boolean isle) throws IOException { - if (val.length < offset + 2) - throw new IOException(); - if ( isle ) { - return (short)(((val[offset + 1] & 0xff) << 8) + (val[offset + 0] & 0xff)); - } - return (short)(((val[offset + 0] & 0xff) << 8) + (val[offset + 1] & 0xff)); - } - private static final int makeInt(byte [] val, int offset, boolean isle) throws IOException { if (val.length < offset + 4) @@ -644,7 +635,7 @@ public class MachO { return getCStr(); } - public class Symbol implements Comparable { + public class Symbol implements Comparable { /* n_type bit masks */ public final static int N_STAB = 0xe0; public final static int N_PEXT = 0x10; @@ -889,7 +880,7 @@ public class MachO { * and the Long doesn't know how to compare against a Symbol so if * we compare Symbol vs Long it is ok, but not if we do Long vs Symbol. */ - public static class SymbolComparator implements Comparator { + public static class SymbolComparator implements Comparator { long val1, val2; public int compare(Object o1, Object o2) { @@ -916,7 +907,7 @@ public class MachO { /** * Simple class to implement a line table */ - public static class Line implements Comparable { + public static class Line implements Comparable { public long address; public int lineno; public String file; @@ -1141,12 +1132,12 @@ public class MachO { return; } DySymtabCommand dysymtab = null; - for (int c = 0; c < loadcommands.length; c++) { - switch (loadcommands[c].cmd) { + for (LoadCommand loadcommand : loadcommands) { + switch (loadcommand.cmd) { case LoadCommand.LC_SYMTAB: - symtab = (SymtabCommand)loadcommands[c]; + symtab = (SymtabCommand)loadcommand; efile.seek(symtab.symoff); - ArrayList symList = new ArrayList(symtab.nsyms); + ArrayList symList = new ArrayList(symtab.nsyms); for (int s = 0; s < symtab.nsyms; s++) { Symbol symbol = new Symbol(); symbol.n_strx = efile.readIntE(); @@ -1159,20 +1150,20 @@ public class MachO { debugsym = true; } } - symbols = (Symbol[])symList.toArray(new Symbol[0]); + symbols = symList.toArray(new Symbol[0]); break; case LoadCommand.LC_DYSYMTAB: - dysymtab = (DySymtabCommand)loadcommands[c]; + dysymtab = (DySymtabCommand)loadcommand; break; } } if (dysymtab != null) { - ArrayList symList = new ArrayList(dysymtab.nlocalsym); + ArrayList symList = new ArrayList(dysymtab.nlocalsym); for (int s = dysymtab.ilocalsym; s < dysymtab.nlocalsym; s++) { symList.add(symbols[s]); } - local_symbols = (Symbol[])symList.toArray(new Symbol[0]); + local_symbols = symList.toArray(new Symbol[0]); } } @@ -1182,8 +1173,8 @@ public class MachO { } /* count number of source line entries */ int nlines = 0; - for (int s = 0; s < symbols.length; s++) { - if (symbols[s].n_type == Symbol.N_SLINE || symbols[s].n_type == Symbol.N_FUN) { + for (Symbol symbol : symbols) { + if (symbol.n_type == Symbol.N_SLINE || symbol.n_type == Symbol.N_FUN) { nlines++; } } @@ -1192,15 +1183,14 @@ public class MachO { } /* now create line table, sorted on address */ - Map lineList = new HashMap(nlines); - for (int s = 0; s < symbols.length; s++) { - Symbol sym = symbols[s]; + Map lineList = new HashMap(nlines); + for (Symbol sym : symbols) { if (sym.n_type == Symbol.N_SLINE || sym.n_type == Symbol.N_FUN) { Line lentry = new Line(); lentry.address = sym.n_value; lentry.lineno = sym.n_desc; - Line lookup = (Line)lineList.get(lentry); + Line lookup = lineList.get(lentry); if (lookup != null) { lentry = lookup; } else { @@ -1221,13 +1211,12 @@ public class MachO { } } } - Set k = lineList.keySet(); - lines = (Line[]) k.toArray(new Line[k.size()]); + Set k = lineList.keySet(); + lines = k.toArray(new Line[k.size()]); Arrays.sort(lines); /* now check for file names */ - for (int s = 0; s < symbols.length; s++) { - Symbol sym = symbols[s]; + for (Symbol sym : symbols) { if (sym.n_type == Symbol.N_SO) { Line line = getLine(sym.n_value); if (line != null) { @@ -1238,11 +1227,11 @@ public class MachO { } - private ArrayList getSections(SegmentCommand seg) throws IOException { + private ArrayList
    getSections(SegmentCommand seg) throws IOException { if ( seg.nsects == 0 ) { - return new ArrayList(); + return new ArrayList
    (); } - ArrayList sections = new ArrayList(); + ArrayList
    sections = new ArrayList
    (); for ( int i = 0; i < seg.nsects; i++ ) { Section section = new Section(); byte[] sectname = new byte[16]; @@ -1266,19 +1255,19 @@ public class MachO { return sections; } - private TwoLevelHint[] getTwoLevelHints(int nhints) throws IOException { - if ( nhints == 0 ) { - return new TwoLevelHint[0]; - } - TwoLevelHint[] tlhints = new TwoLevelHint[nhints]; - for ( int i = 0; i < nhints; i++ ) { - int field = efile.readIntE(); - tlhints[i] = new TwoLevelHint(); - tlhints[i].isub_image = (field & 0xff000000) >> 24; - tlhints[i].itoc = field & 0x00ffffff; - } - return tlhints; - } +// private TwoLevelHint[] getTwoLevelHints(int nhints) throws IOException { +// if ( nhints == 0 ) { +// return new TwoLevelHint[0]; +// } +// TwoLevelHint[] tlhints = new TwoLevelHint[nhints]; +// for ( int i = 0; i < nhints; i++ ) { +// int field = efile.readIntE(); +// tlhints[i] = new TwoLevelHint(); +// tlhints[i].isub_image = (field & 0xff000000) >> 24; +// tlhints[i].itoc = field & 0x00ffffff; +// } +// return tlhints; +// } private String getCStr() throws IOException { StringBuffer str = new StringBuffer(); @@ -1597,18 +1586,18 @@ public class MachO { } public Section[] getSections() { - return (Section[]) sections.toArray(new Section[sections.size()]); + return sections.toArray(new Section[sections.size()]); } public DyLib[] getDyLibs(int type) { - ArrayList v = new ArrayList(); - for (int i = 0; i < loadcommands.length; i++) { - if (loadcommands[i].cmd == type) { - DyLibCommand dl = (DyLibCommand)loadcommands[i]; + ArrayList v = new ArrayList(); + for (LoadCommand loadcommand : loadcommands) { + if (loadcommand.cmd == type) { + DyLibCommand dl = (DyLibCommand)loadcommand; v.add(dl.dylib); } } - return (DyLib[]) v.toArray(new DyLib[v.size()]); + return v.toArray(new DyLib[v.size()]); } /* return the address of the function that address is in */ @@ -1663,10 +1652,10 @@ public class MachO { } catch (IOException e) { } - for (int i = 0; i < loadcommands.length; i++) { - if (loadcommands[i].cmd == LoadCommand.LC_SYMTAB) + for (LoadCommand loadcommand : loadcommands) { + if (loadcommand.cmd == LoadCommand.LC_SYMTAB) { - symtab = (SymtabCommand)loadcommands[i]; + symtab = (SymtabCommand)loadcommand; try { int symSize = symtab.nsyms * 12; byte[] data = new byte[symSize]; diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/MachOHelper.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/MachOHelper.java index d690ec5f9a7..895a88e22f5 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/MachOHelper.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/MachOHelper.java @@ -15,6 +15,10 @@ package org.eclipse.cdt.utils.macho; import java.io.IOException; import java.util.Vector; +import org.eclipse.cdt.utils.macho.MachO.DyLib; +import org.eclipse.cdt.utils.macho.MachO.Section; +import org.eclipse.cdt.utils.macho.MachO.Symbol; + /** * MachOHelper is a wrapper class for the MachO class * to provide higher level API for sorting/searching the MachO data. @@ -108,12 +112,11 @@ public class MachOHelper { } public MachO.Symbol[] getExternalFunctions() throws IOException { - Vector v = new Vector(); + Vector v = new Vector(); loadBinary(); - for (int i = 0; i < dynsyms.length; i++) { - MachO.Symbol sym = dynsyms[i]; + for (Symbol sym : dynsyms) { if ((sym.n_type_mask(MachO.Symbol.N_PEXT) || sym.n_type_mask(MachO.Symbol.N_EXT)) && sym.n_desc(MachO.Symbol.REFERENCE_FLAG_UNDEFINED_LAZY)) { @@ -123,17 +126,16 @@ public class MachOHelper { } } - MachO.Symbol[] ret = (MachO.Symbol[]) v.toArray(new MachO.Symbol[0]); + MachO.Symbol[] ret = v.toArray(new MachO.Symbol[0]); return ret; } public MachO.Symbol[] getExternalObjects() throws IOException { - Vector v = new Vector(); + Vector v = new Vector(); loadBinary(); - for (int i = 0; i < dynsyms.length; i++) { - MachO.Symbol sym = dynsyms[i]; + for (Symbol sym : dynsyms) { if ((sym.n_type_mask(MachO.Symbol.N_PEXT) || sym.n_type_mask(MachO.Symbol.N_EXT)) && sym.n_desc(MachO.Symbol.REFERENCE_FLAG_UNDEFINED_NON_LAZY)) { @@ -143,21 +145,21 @@ public class MachOHelper { } } - MachO.Symbol[] ret = (MachO.Symbol[]) v.toArray(new MachO.Symbol[0]); + MachO.Symbol[] ret = v.toArray(new MachO.Symbol[0]); return ret; } public MachO.Symbol[] getUndefined() throws IOException { - Vector v = new Vector(); + Vector v = new Vector(); loadBinary(); - for (int i = 0; i < dynsyms.length; i++) { - if (dynsyms[i].n_type(MachO.Symbol.N_UNDF)) - v.add(dynsyms[i]); + for (Symbol dynsym : dynsyms) { + if (dynsym.n_type(MachO.Symbol.N_UNDF)) + v.add(dynsym); } - MachO.Symbol[] ret = (MachO.Symbol[]) v.toArray(new MachO.Symbol[0]); + MachO.Symbol[] ret = v.toArray(new MachO.Symbol[0]); return ret; } @@ -165,12 +167,11 @@ public class MachOHelper { * TODO: I'm not sure if this are correct. Need to check */ public MachO.Symbol[] getLocalFunctions() throws IOException { - Vector v = new Vector(); + Vector v = new Vector(); loadBinary(); - for (int i = 0; i < dynsyms.length; i++) { - MachO.Symbol sym = dynsyms[i]; + for (Symbol sym : dynsyms) { if ((!sym.n_type_mask(MachO.Symbol.N_PEXT) && !sym.n_type_mask(MachO.Symbol.N_EXT)) && sym.n_desc(MachO.Symbol.REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY)) { @@ -180,7 +181,7 @@ public class MachOHelper { } } - MachO.Symbol[] ret = (MachO.Symbol[]) v.toArray(new MachO.Symbol[0]); + MachO.Symbol[] ret = v.toArray(new MachO.Symbol[0]); return ret; } @@ -188,12 +189,11 @@ public class MachOHelper { * TODO: I'm not sure if this are correct. Need to check */ public MachO.Symbol[] getLocalObjects() throws IOException { - Vector v = new Vector(); + Vector v = new Vector(); loadBinary(); - for (int i = 0; i < dynsyms.length; i++) { - MachO.Symbol sym = dynsyms[i]; + for (Symbol sym : dynsyms) { if ((!sym.n_type_mask(MachO.Symbol.N_PEXT) && !sym.n_type_mask(MachO.Symbol.N_EXT)) && sym.n_desc(MachO.Symbol.REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY)) { @@ -203,12 +203,12 @@ public class MachOHelper { } } - MachO.Symbol[] ret = (MachO.Symbol[]) v.toArray(new MachO.Symbol[0]); + MachO.Symbol[] ret = v.toArray(new MachO.Symbol[0]); return ret; } public MachO.Symbol[] getCommonObjects() throws IOException { - Vector v = new Vector(); + Vector v = new Vector(); loadBinary(); @@ -221,19 +221,19 @@ public class MachOHelper { } } - MachO.Symbol[] ret = (MachO.Symbol[]) v.toArray(new MachO.Symbol[0]); + MachO.Symbol[] ret = v.toArray(new MachO.Symbol[0]); return ret; } public String[] getNeeded() throws IOException { - Vector v = new Vector(); + Vector v = new Vector(); loadBinary(); - for (int i = 0; i < needed.length; i++) { - v.add(needed[i].toString()); + for (DyLib element : needed) { + v.add(element.toString()); } - return (String[]) v.toArray(new String[0]); + return v.toArray(new String[0]); } public String getSoname() throws IOException { @@ -241,47 +241,47 @@ public class MachOHelper { loadBinary(); - for (int i = 0; i < sonames.length; i++) { - soname = sonames[i].toString(); + for (DyLib soname2 : sonames) { + soname = soname2.toString(); } return soname; } - private String getSubUsage(String full, String name) { - int start, end; - //boolean has_names = false; - //boolean has_languages = false; - start = 0; - end = 0; - - for (int i = 0; i < full.length(); i++) { - if (full.charAt(i) == '%') { - if (full.charAt(i + 1) == '-') { - if (start == 0) { - int eol = full.indexOf('\n', i + 2); - String temp = full.substring(i + 2, eol); - if (temp.compareTo(name) == 0) - start = eol; - - //has_names = true; - } else if (end == 0) { - end = i - 1; - } - } - - //if( full.charAt( i+1 ) == '=' ) - //has_languages = true; - } - } - - if (end == 0) - end = full.length(); - - if (start == 0) - return full; - - return full.substring(start, end); - } +// private String getSubUsage(String full, String name) { +// int start, end; +// //boolean has_names = false; +// //boolean has_languages = false; +// start = 0; +// end = 0; +// +// for (int i = 0; i < full.length(); i++) { +// if (full.charAt(i) == '%') { +// if (full.charAt(i + 1) == '-') { +// if (start == 0) { +// int eol = full.indexOf('\n', i + 2); +// String temp = full.substring(i + 2, eol); +// if (temp.compareTo(name) == 0) +// start = eol; +// +// //has_names = true; +// } else if (end == 0) { +// end = i - 1; +// } +// } +// +// //if( full.charAt( i+1 ) == '=' ) +// //has_languages = true; +// } +// } +// +// if (end == 0) +// end = full.length(); +// +// if (start == 0) +// return full; +// +// return full.substring(start, end); +// } public String getQnxUsage() throws IOException { return new String(""); //$NON-NLS-1$ @@ -298,17 +298,17 @@ public class MachOHelper { // TODO we only need to load the sections, not the whole shebang loadBinary(); - for (int i = 0; i < sections.length; i++) { - MachO.SegmentCommand seg = sections[i].segment; - if (sections[i].flags(MachO.Section.SECTION_TYP) != MachO.Section.S_ZEROFILL) { + for (Section section : sections) { + MachO.SegmentCommand seg = section.segment; + if (section.flags(MachO.Section.SECTION_TYP) != MachO.Section.S_ZEROFILL) { if (seg.prot(MachO.SegmentCommand.VM_PROT_EXECUTE)) { - text += sections[i].size; + text += section.size; } else if (!seg.prot(MachO.SegmentCommand.VM_PROT_WRITE)) { - data += sections[i].size; + data += section.size; } } else { if (seg.prot(MachO.SegmentCommand.VM_PROT_WRITE)) { - bss += sections[i].size; + bss += section.size; } } } diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/parser/MachOBinaryObject.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/parser/MachOBinaryObject.java index b91ffed537f..d1cf490f3df 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/parser/MachOBinaryObject.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/macho/parser/MachOBinaryObject.java @@ -248,7 +248,7 @@ public class MachOBinaryObject extends BinaryObjectAdapter { protected ISymbol[] loadSymbols(MachOHelper helper) throws IOException { CPPFilt cppfilt = null; try { - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList(); // Hack should be remove when Elf is clean helper.getMachO().setCppFilter(false); cppfilt = getCPPFilt(); @@ -257,7 +257,7 @@ public class MachOBinaryObject extends BinaryObjectAdapter { addSymbols(helper.getLocalFunctions(), ISymbol.FUNCTION, cppfilt, list); addSymbols(helper.getExternalObjects(), ISymbol.VARIABLE, cppfilt, list); addSymbols(helper.getLocalObjects(), ISymbol.VARIABLE, cppfilt, list); - return (ISymbol[]) list.toArray(new ISymbol[list.size()]); + return list.toArray(new ISymbol[list.size()]); } finally { if (cppfilt != null) { cppfilt.dispose(); @@ -270,9 +270,9 @@ public class MachOBinaryObject extends BinaryObjectAdapter { return parser.getCPPFilt(); } - private void addSymbols(MachO.Symbol[] array, int type, CPPFilt cppfilt, List list) { - for (int i = 0; i < array.length; i++) { - String name = array[i].toString(); + private void addSymbols(MachO.Symbol[] array, int type, CPPFilt cppfilt, List list) { + for (org.eclipse.cdt.utils.macho.MachO.Symbol element : array) { + String name = element.toString(); if (cppfilt != null) { try { name = cppfilt.getFunction(name); @@ -280,11 +280,11 @@ public class MachOBinaryObject extends BinaryObjectAdapter { cppfilt = null; } } - long addr = array[i].n_value; + long addr = element.n_value; int size = 0; - String filename = array[i].getFilename(); - IPath filePath = (filename != null) ? new Path(filename) : null; //$NON-NLS-1$ - list.add(new Symbol(this, name, type, new Addr32(array[i].n_value), size, filePath, array[i].getLineNumber(addr), array[i].getLineNumber(addr + size - 1))); + String filename = element.getFilename(); + IPath filePath = (filename != null) ? new Path(filename) : null; + list.add(new Symbol(this, name, type, new Addr32(element.n_value), size, filePath, element.getLineNumber(addr), element.getLineNumber(addr + size - 1))); } } @@ -395,6 +395,7 @@ public class MachOBinaryObject extends BinaryObjectAdapter { /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) */ + @SuppressWarnings("unchecked") @Override public Object getAdapter(Class adapter) { if (adapter.equals(MachO.class)) { diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/xcoff/AR.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/xcoff/AR.java index f9ff01993ef..faff0a73c93 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/xcoff/AR.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/xcoff/AR.java @@ -51,7 +51,7 @@ public class AR { private long fstmoff = 0; private long lstmoff = 0; - private long memoff = 0; +// private long memoff = 0; public ARHeader() throws IOException { try { @@ -67,7 +67,7 @@ public class AR { file.read(fl_freeoff); fstmoff = Long.parseLong(removeBlanks(new String(fl_fstmoff))); lstmoff = Long.parseLong(removeBlanks(new String(fl_lstmoff))); - memoff = Long.parseLong(removeBlanks(new String(fl_memoff))); +// memoff = Long.parseLong(removeBlanks(new String(fl_memoff))); } } catch (IOException e) { @@ -272,7 +272,7 @@ public class AR { if (memberHeaders != null) return; - Vector v = new Vector(); + Vector v = new Vector(); try { // // Check for EOF condition @@ -281,7 +281,6 @@ public class AR { for (long pos = header.fstmoff; pos < file.length(); pos = aHeader.nxtmem) { file.seek(pos); aHeader = new MemberHeader(); - String name = aHeader.getObjectName(); v.add(aHeader); if (pos == 0 || pos == header.lstmoff) { // end of double linked list break; @@ -289,7 +288,7 @@ public class AR { } } catch (IOException e) { } - memberHeaders = (MemberHeader[]) v.toArray(new MemberHeader[0]); + memberHeaders = v.toArray(new MemberHeader[0]); } /** @@ -306,22 +305,22 @@ public class AR { } public String[] extractFiles(String outdir, String[] names) throws IOException { - Vector names_used = new Vector(); + Vector names_used = new Vector(); String object_name; int count; loadHeaders(); count = 0; - for (int i = 0; i < memberHeaders.length; i++) { - object_name = memberHeaders[i].getObjectName(); + for (MemberHeader memberHeader : memberHeaders) { + object_name = memberHeader.getObjectName(); if (names != null && !stringInStrings(object_name, names)) continue; object_name = "" + count + "_" + object_name; //$NON-NLS-1$ //$NON-NLS-2$ count++; - byte[] data = memberHeaders[i].getObjectData(); + byte[] data = memberHeader.getObjectData(); File output = new File(outdir, object_name); names_used.add(object_name); @@ -330,12 +329,12 @@ public class AR { rfile.close(); } - return (String[]) names_used.toArray(new String[0]); + return names_used.toArray(new String[0]); } private boolean stringInStrings(String str, String[] set) { - for (int i = 0; i < set.length; i++) - if (str.compareTo(set[i]) == 0) + for (String element : set) + if (str.compareTo(element) == 0) return true; return false; } diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/xcoff/parser/XCOFFBinaryExecutable.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/xcoff/parser/XCOFFBinaryExecutable.java index 142ab1f26c4..d93f21f766e 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/xcoff/parser/XCOFFBinaryExecutable.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/xcoff/parser/XCOFFBinaryExecutable.java @@ -15,13 +15,8 @@ import org.eclipse.cdt.core.IBinaryParser.IBinaryFile; import org.eclipse.core.runtime.IPath; -public class XCOFFBinaryExecutable extends XCOFFBinaryObject implements IBinaryFile { +public class XCOFFBinaryExecutable extends XCOFFBinaryObject { - /** - * @param parser - * @param path - * @param type - */ public XCOFFBinaryExecutable(IBinaryParser parser, IPath path) { super(parser, path, IBinaryFile.EXECUTABLE); } diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/xcoff/parser/XCOFFBinaryObject.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/xcoff/parser/XCOFFBinaryObject.java index 30b6a838212..dab3adef2ea 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/xcoff/parser/XCOFFBinaryObject.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/xcoff/parser/XCOFFBinaryObject.java @@ -31,6 +31,7 @@ import org.eclipse.cdt.utils.IGnuToolFactory; import org.eclipse.cdt.utils.Objdump; import org.eclipse.cdt.utils.xcoff.AR; import org.eclipse.cdt.utils.xcoff.XCoff32; +import org.eclipse.cdt.utils.xcoff.XCoff32.Symbol; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; @@ -113,7 +114,7 @@ public class XCOFFBinaryObject extends BinaryObjectAdapter { /** * @throws IOException - * @see org.eclipse.cdt.core.model.IBinaryParser.IBinaryFile#getContents() + * @see org.eclipse.cdt.core.IBinaryParser.IBinaryFile#getContents() */ @Override public InputStream getContents() throws IOException { @@ -173,28 +174,28 @@ public class XCOFFBinaryObject extends BinaryObjectAdapter { } protected void loadSymbols(XCoff32 xcoff) throws IOException { - ArrayList list = new ArrayList(); + ArrayList list = new ArrayList(); XCoff32.Symbol[] peSyms = xcoff.getSymbols(); byte[] table = xcoff.getStringTable(); addSymbols(peSyms, table, list); - symbols = (ISymbol[]) list.toArray(NO_SYMBOLS); + symbols = list.toArray(NO_SYMBOLS); Arrays.sort(symbols); list.clear(); } - protected void addSymbols(XCoff32.Symbol[] peSyms, byte[] table, List list) { + protected void addSymbols(XCoff32.Symbol[] peSyms, byte[] table, List list) { CPPFilt cppfilt = getCPPFilt(); Addr2line addr2line = getAddr2line(false); - for (int i = 0; i < peSyms.length; i++) { - if (peSyms[i].isFunction() || peSyms[i].isVariable() ) { - String name = peSyms[i].getName(table); + for (Symbol peSym : peSyms) { + if (peSym.isFunction() || peSym.isVariable() ) { + String name = peSym.getName(table); if (name == null || name.trim().length() == 0 || !Character.isJavaIdentifierStart(name.charAt(0))) { continue; } - int type = peSyms[i].isFunction() ? ISymbol.FUNCTION : ISymbol.VARIABLE; - IAddress addr = new Addr32(peSyms[i].n_value); + int type = peSym.isFunction() ? ISymbol.FUNCTION : ISymbol.VARIABLE; + IAddress addr = new Addr32(peSym.n_value); int size = 4; if (cppfilt != null) { try { @@ -240,7 +241,6 @@ public class XCOFFBinaryObject extends BinaryObjectAdapter { return getAddr2line(); } if (addr2line == null) { - XCOFF32Parser parser = (XCOFF32Parser) getBinaryParser(); addr2line = getAddr2line(); if (addr2line != null) { starttime = System.currentTimeMillis(); @@ -306,6 +306,7 @@ public class XCOFFBinaryObject extends BinaryObjectAdapter { * * @see org.eclipse.core.runtime.PlatformObject#getAdapter(java.lang.Class) */ + @SuppressWarnings("unchecked") @Override public Object getAdapter(Class adapter) { if (adapter == Addr2line.class) {