Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/pst/TemplateEngine.java')
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/pst/TemplateEngine.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/pst/TemplateEngine.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/pst/TemplateEngine.java
index 330350b798c..86bf63baf92 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/pst/TemplateEngine.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/pst/TemplateEngine.java
@@ -20,6 +20,7 @@ import java.util.Set;
import org.eclipse.cdt.internal.core.parser.pst.IDerivableContainerSymbol.IParentSymbol;
import org.eclipse.cdt.internal.core.parser.pst.ParserSymbolTable.Cost;
+import org.eclipse.cdt.internal.core.parser.scanner2.ObjectSet;
/**
* @author aniefer
@@ -891,16 +892,17 @@ public final class TemplateEngine {
return info;
}
- static protected List selectTemplateFunctions( Set templates, List functionArguments, List templateArguments ) throws ParserSymbolTableException{
+ static protected List selectTemplateFunctions( ObjectSet templates, List functionArguments, List templateArguments ) throws ParserSymbolTableException{
if( templates == null || templates.size() == 0 )
return null;
List instances = null;
- Iterator iter = templates.iterator();
+ //Iterator iter = templates.iterator();
+ int size = templates.size();
- outer: while( iter.hasNext() ){
- IParameterizedSymbol fn = (IParameterizedSymbol) iter.next();
+ outer: for( int idx = 0; idx < size; idx++ ){
+ IParameterizedSymbol fn = (IParameterizedSymbol) templates.keyAt( idx );
ITemplateSymbol template = (ITemplateSymbol) fn.getContainingSymbol();
Map map = deduceTemplateArguments( template, functionArguments );

Back to the top