Eclipse CDT
Pre-release 3.0

org.eclipse.cdt.core.dom.ast
Interface IASTTranslationUnit

All Superinterfaces:
IASTNode
All Known Subinterfaces:
ICPPASTTranslationUnit

public interface IASTTranslationUnit
extends IASTNode

The translation unit represents a compilable unit of source.


Nested Class Summary
static interface IASTTranslationUnit.IDependencyTree
           
 
Field Summary
static ASTNodeProperty EXPANSION_NAME
           
static ASTNodeProperty OWNED_DECLARATION
          OWNED_DECLARATION represents the relationship between an IASTTranslationUnit and it's nested IASTDeclaration's.
static ASTNodeProperty PREPROCESSOR_STATEMENT
          PREPROCESSOR_STATEMENT represents the relationship between an IASTTranslationUnit and it's nested IASTPreprocessorStatement.
static ASTNodeProperty SCANNER_PROBLEM
          SCANNER_PROBLEM represents the relationship between an IASTTranslationUnit and it's nested IASTProblem.
 
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
 
Method Summary
 void addDeclaration(IASTDeclaration declaration)
          Add declaration to translation unit.
 IASTFileLocation flattenLocationsToFile(IASTNodeLocation[] nodeLocations)
          Flatten the node locations provided into a single file location.
 IASTPreprocessorStatement[] getAllPreprocessorStatements()
          Get all preprocessor statements.
 String getContainingFilename(int offset)
           
 IASTDeclaration[] getDeclarations()
          A translation unit contains an ordered sequence of declarations.
 IASTName[] getDeclarations(IBinding binding)
          Returns the list of declarations in this translation unit for the given binding.
 IASTName[] getDefinitions(IBinding binding)
          Returns the array of definitions in this translation unit for the given binding.
 IASTTranslationUnit.IDependencyTree getDependencyTree()
           
 String getFilePath()
          Get the translation unit's full path.
 IASTPreprocessorIncludeStatement[] getIncludeDirectives()
          Get the #include directives encountered in parsing this translation unit.
 IASTNodeLocation[] getLocationInfo(int offset, int length)
           
 IASTPreprocessorMacroDefinition[] getMacroDefinitions()
          Get the macro definitions encountered in parsing this translation unit.
 org.eclipse.cdt.core.parser.ParserLanguage getParserLanguage()
           
 IASTProblem[] getPreprocessorProblems()
          Get all preprocessor and scanner problems.
 IASTName[] getReferences(IBinding binding)
          Returns the list of references in this translation unit to the given binding.
 IScope getScope()
          This returns the global scope for the translation unit.
 String getUnpreprocessedSignature(IASTNodeLocation[] locations)
          For a given range of locations, return a String that represents what is there underneath the range.
 IASTNode selectNodeForLocation(String path, int offset, int length)
          Select the node in the treet that best fits the offset/length/file path.
 
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
accept, getContainingFilename, getFileLocation, getNodeLocations, getParent, getPropertyInParent, getRawSignature, getTranslationUnit, setParent, setPropertyInParent
 

Field Detail

OWNED_DECLARATION

static final ASTNodeProperty OWNED_DECLARATION
OWNED_DECLARATION represents the relationship between an IASTTranslationUnit and it's nested IASTDeclaration's.


SCANNER_PROBLEM

static final ASTNodeProperty SCANNER_PROBLEM
SCANNER_PROBLEM represents the relationship between an IASTTranslationUnit and it's nested IASTProblem.


PREPROCESSOR_STATEMENT

static final ASTNodeProperty PREPROCESSOR_STATEMENT
PREPROCESSOR_STATEMENT represents the relationship between an IASTTranslationUnit and it's nested IASTPreprocessorStatement.


EXPANSION_NAME

static final ASTNodeProperty EXPANSION_NAME
Method Detail

getDeclarations

IASTDeclaration[] getDeclarations()
A translation unit contains an ordered sequence of declarations.

Returns:
List of IASTDeclaration

addDeclaration

void addDeclaration(IASTDeclaration declaration)
Add declaration to translation unit.

Parameters:
declaration - IASTDeclaration

getScope

IScope getScope()
This returns the global scope for the translation unit.

Returns:
the global scope

getDeclarations

IASTName[] getDeclarations(IBinding binding)
Returns the list of declarations in this translation unit for the given binding. The list contains the IASTName nodes that declare the binding.

Parameters:
binding -
Returns:
List of IASTName nodes for the binding's declaration

getDefinitions

IASTName[] getDefinitions(IBinding binding)
Returns the array of definitions in this translation unit for the given binding. The array contains the IASTName nodes that define the binding.

Parameters:
binding -
Returns:
the definition of the IBinding

getReferences

IASTName[] getReferences(IBinding binding)
Returns the list of references in this translation unit to the given binding. This list contains the IASTName nodes that represent a use of the binding.

Parameters:
binding -
Returns:
List of IASTName nodes representing uses of the binding

getLocationInfo

IASTNodeLocation[] getLocationInfo(int offset,
                                   int length)
Parameters:
offset -
length -
Returns:

selectNodeForLocation

IASTNode selectNodeForLocation(String path,
                               int offset,
                               int length)
Select the node in the treet that best fits the offset/length/file path.

Parameters:
path - - file name specified through path
offset - - location in the file as an offset
length - - length of selection
Returns:
IASTNode that best fits

getMacroDefinitions

IASTPreprocessorMacroDefinition[] getMacroDefinitions()
Get the macro definitions encountered in parsing this translation unit.

Returns:
IASTPreprocessorMacroDefinition[]

getIncludeDirectives

IASTPreprocessorIncludeStatement[] getIncludeDirectives()
Get the #include directives encountered in parsing this translation unit.

Returns:
IASTPreprocessorIncludeStatement[]

getAllPreprocessorStatements

IASTPreprocessorStatement[] getAllPreprocessorStatements()
Get all preprocessor statements.

Returns:
IASTPreprocessorStatement[]

getPreprocessorProblems

IASTProblem[] getPreprocessorProblems()
Get all preprocessor and scanner problems.

Returns:
IASTProblem[]

getUnpreprocessedSignature

String getUnpreprocessedSignature(IASTNodeLocation[] locations)
For a given range of locations, return a String that represents what is there underneath the range.

Parameters:
locations - A range of node locations
Returns:
A String signature.

getFilePath

String getFilePath()
Get the translation unit's full path.

Returns:
String representation of path.

flattenLocationsToFile

IASTFileLocation flattenLocationsToFile(IASTNodeLocation[] nodeLocations)
Flatten the node locations provided into a single file location.

Parameters:
nodeLocations - IASTNodeLocations to flatten
Returns:
null if not possible, otherwise, a file location representing where the macros are.

getDependencyTree

IASTTranslationUnit.IDependencyTree getDependencyTree()
Returns:

getContainingFilename

String getContainingFilename(int offset)
Parameters:
offset -
Returns:

getParserLanguage

org.eclipse.cdt.core.parser.ParserLanguage getParserLanguage()
Returns:

Eclipse CDT
Pre-release 3.0

Copyright (c) IBM Corp. and others 2004. All Rights Reserved.