From b9d0c01c06cedcec883f02cb1bcf6aa9b15e1606 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Mon, 23 Apr 2007 10:46:01 +0000 Subject: [PATCH] Add ITranslationUnit constant for skip function bodies option --- .../model/org/eclipse/cdt/core/model/ITranslationUnit.java | 7 +++++++ .../eclipse/cdt/internal/core/model/CModelBuilder2.java | 3 +-- .../eclipse/cdt/internal/core/model/TranslationUnit.java | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ITranslationUnit.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ITranslationUnit.java index 50976c90aa4..eb299c450b7 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ITranslationUnit.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/ITranslationUnit.java @@ -33,6 +33,13 @@ import org.eclipse.core.runtime.IProgressMonitor; */ public interface ITranslationUnit extends ICElement, IParent, IOpenable, ISourceReference, ISourceManipulation { + /** + * Style constant for {@link #getAST(IIndex, int)}. + * Meaning: Skip function and method bodies. + * @since 4.0 + */ + public static final int AST_SKIP_FUNCTION_BODIES= 1; + /** * Style constant for {@link #getAST(IIndex, int)}. * Meaning: Skip over headers that are found in the index, parse all others. diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelBuilder2.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelBuilder2.java index 32776c4e5b4..33575a21c54 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelBuilder2.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelBuilder2.java @@ -67,7 +67,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPMethod; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier; import org.eclipse.cdt.core.index.IIndex; import org.eclipse.cdt.core.index.IIndexManager; -import org.eclipse.cdt.core.model.AbstractLanguage; import org.eclipse.cdt.core.model.CModelException; import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.core.model.IContributedModelBuilder; @@ -241,7 +240,7 @@ public class CModelBuilder2 implements IContributedModelBuilder { final CElementInfo elementInfo= fTranslationUnit.getElementInfo(); int parseFlags= quickParseMode ? ITranslationUnit.AST_SKIP_ALL_HEADERS : ITranslationUnit.AST_SKIP_INDEXED_HEADERS; if (!(elementInfo instanceof ASTHolderTUInfo)) { - parseFlags |= AbstractLanguage.OPTION_SKIP_FUNCTION_BODIES; + parseFlags |= ITranslationUnit.AST_SKIP_FUNCTION_BODIES; } final IASTTranslationUnit ast= fTranslationUnit.getAST(index, parseFlags); Util.debugLog("CModelBuilder2: parsing " //$NON-NLS-1$ diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java index 5a448b34fb7..c50ac4a5e6d 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/TranslationUnit.java @@ -747,6 +747,9 @@ public class TranslationUnit extends Openable implements ITranslationUnit { if (language != null) { if (language instanceof AbstractLanguage) { int options= 0; + if ((style & AST_SKIP_FUNCTION_BODIES) != 0) { + options |= AbstractLanguage.OPTION_SKIP_FUNCTION_BODIES; + } if ((style & AST_CREATE_COMMENT_NODES) != 0) { options |= AbstractLanguage.OPTION_ADD_COMMENTS; }