From d1725e3cddf4df0b0df70bfb91672ae2c0ff1933 Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Tue, 27 Nov 2007 13:53:07 +0000 Subject: [PATCH] Performance improvement for indexing c-code (related to bug 167311). --- .../eclipse/cdt/internal/core/dom/parser/ASTInternal.java | 6 ++++++ .../org/eclipse/cdt/internal/core/pdom/PDOMWriter.java | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTInternal.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTInternal.java index 8913f35e4fc..6ff2b135675 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTInternal.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTInternal.java @@ -101,4 +101,10 @@ public class ASTInternal { } return var.isStatic(); } + + public static void setFullyResolved(IBinding binding, boolean val) { + if (binding instanceof ICInternalFunction) { + ((ICInternalFunction) binding).setFullyResolved(true); + } + } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMWriter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMWriter.java index c12dea48261..0b298409d1b 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMWriter.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMWriter.java @@ -41,6 +41,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPNamespaceAlias; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier; import org.eclipse.cdt.core.index.IIndexFile; import org.eclipse.cdt.core.index.IIndexFileLocation; +import org.eclipse.cdt.internal.core.dom.parser.ASTInternal; import org.eclipse.cdt.internal.core.index.IIndexFragmentFile; import org.eclipse.cdt.internal.core.index.IWritableIndex; import org.eclipse.cdt.internal.core.index.IndexFileLocation; @@ -455,6 +456,12 @@ abstract public class PDOMWriter { IASTPreprocessorMacroDefinition[] macros= (IASTPreprocessorMacroDefinition[]) list.toArray(new IASTPreprocessorMacroDefinition[list.size()]); list= lists[2]; IASTName[][] names= (IASTName[][]) list.toArray(new IASTName[list.size()][]); + for (int j= 0; j