diff options
author | Sergey Prigogin | 2008-03-29 17:05:58 +0000 |
---|---|---|
committer | Sergey Prigogin | 2008-03-29 17:05:58 +0000 |
commit | 56cf847c2a95c25ed5fdc3569005ee48124e83d3 (patch) | |
tree | c73a49f037d2ab441cd4d1691678491712fb8662 /core/org.eclipse.cdt.core/parser | |
parent | fa7e6e8363866338c2a18eea076c7eb2221ac296 (diff) | |
download | org.eclipse.cdt-56cf847c2a95c25ed5fdc3569005ee48124e83d3.tar.gz org.eclipse.cdt-56cf847c2a95c25ed5fdc3569005ee48124e83d3.tar.xz org.eclipse.cdt-56cf847c2a95c25ed5fdc3569005ee48124e83d3.zip |
Removed two redundant checks flagged by the compiler.
Diffstat (limited to 'core/org.eclipse.cdt.core/parser')
-rw-r--r-- | core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java | 51 |
1 files changed, 25 insertions, 26 deletions
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 51cccb5db72..82ba258800e 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 @@ -784,34 +784,34 @@ public class CPPSemantics { if( inherited != null ){ if( result == null ){ result = inherited; - } else if ( inherited != null ) { - if( !data.contentAssist ) { - if( result instanceof Object [] ){ - Object [] r = (Object[]) result; - for( int j = 0; j < r.length && r[j] != null; j++ ) { - if( checkForAmbiguity( data, r[j], inherited ) ){ - data.problem = new ProblemBinding( data.astName, IProblemBinding.SEMANTIC_AMBIGUOUS_LOOKUP, data.name() ); - return null; - } - } - } else { - if( checkForAmbiguity( data, result, inherited ) ){ - data.problem = new ProblemBinding( data.astName, IProblemBinding.SEMANTIC_AMBIGUOUS_LOOKUP, data.name() ); + } else if( !data.contentAssist ) { + if( result instanceof Object [] ){ + Object [] r = (Object[]) result; + for( int j = 0; j < r.length && r[j] != null; j++ ) { + if( checkForAmbiguity( data, r[j], inherited ) ){ + data.problem = new ProblemBinding( data.astName, + IProblemBinding.SEMANTIC_AMBIGUOUS_LOOKUP, data.name() ); return null; } } } else { - CharArrayObjectMap temp = (CharArrayObjectMap) inherited; - CharArrayObjectMap r = (CharArrayObjectMap) result; - char[] key = null; - int tempSize = temp.size(); - for( int ii = 0; ii < tempSize; ii++ ){ - key = temp.keyAt( ii ); - if( !r.containsKey( key ) ){ - r.put( key, temp.get(key) ); - } else { - //TODO: prefixLookup ambiguity checking - } + if( checkForAmbiguity( data, result, inherited ) ){ + data.problem = new ProblemBinding( data.astName, + IProblemBinding.SEMANTIC_AMBIGUOUS_LOOKUP, data.name() ); + return null; + } + } + } else { + CharArrayObjectMap temp = (CharArrayObjectMap) inherited; + CharArrayObjectMap r = (CharArrayObjectMap) result; + char[] key = null; + int tempSize = temp.size(); + for( int ii = 0; ii < tempSize; ii++ ){ + key = temp.keyAt( ii ); + if( !r.containsKey( key ) ){ + r.put( key, temp.get(key) ); + } else { + //TODO: prefixLookup ambiguity checking } } } @@ -2077,7 +2077,7 @@ public class CPPSemantics { type = (IType) o; while( type != null ){ - type = (type != null) ? getUltimateType( type, false ) : null; + type = getUltimateType( type, false ); if( type == null || !( type instanceof IFunctionType ) ) return new ProblemBinding( data.astName, IProblemBinding.SEMANTIC_AMBIGUOUS_LOOKUP, data.name() ); @@ -2450,5 +2450,4 @@ public class CPPSemantics { } return false; } - } |