IBM Software Group  |  Rational software
© 2004 IBM Corporation
11
Logical Tree - IBinding
§Logical elements are higher-level constructs that map onto a physical IASTNode
§For 3.0 : IASTName#resolveBinding()
•long x; /* IASTName for x resolves to an IVariable */
•long y();  /* IASTName for y resolves to an IFunction */
•int f() { return sizeof( int ); }  /* IASTName for f resolves to an IFunction*/
§Beyond 3.0 – IASTBinaryExpression could bind to an user defined operator
§Semantic errors return an IProblemBinding describing the error
§IASTTranslationUnit can be asked for all declarations or references of a particular IBinding
§Bindings can be resolved completely lazily on request or in a full traversal of the AST
4Indexer would require full binding resolution
4Most other clients do not require all bindings to be resolved