#include <Resolver.h>

Classes | |
| struct | ArityPred |
| struct | NullaryPred |
| struct | TypePred |
Public Types | |
| typedef DeclVector::iterator | direct_overload_iter |
| typedef DeclVector::iterator | indirect_overload_iter |
| typedef ValueVector::iterator | indirect_value_iter |
| typedef TypeVector::iterator | indirect_type_iter |
Public Member Functions | |
| bool | resolve (IdentifierInfo *idInfo) |
| bool | filterOverloadsWRTArity (unsigned arity) |
| bool | filterProcedures () |
| bool | filterFunctionals () |
| bool | filterNullaryOverloads () |
| IdentifierInfo * | getIdInfo () const |
| Returns the IdentifierInfo this resolver is associated with. | |
| unsigned | numDirectOverloads () const |
| Returns the number of direct overloads. | |
| unsigned | numIndirectValues () const |
| Returns the number of indirect values. | |
| unsigned | numIndirectTypes () const |
| Returns the number of indirect types. | |
| unsigned | numIndirectExceptions () const |
| Returns the number of indirect exceptions. | |
| unsigned | numIndirectOverloads () const |
| Returns the number of indirect overloads. | |
| unsigned | numResolvedDecls () const |
| Returns the total number of declarations contained in this resolver. | |
| unsigned | numOverloads () const |
| Returns the total number of overloaded declarations. | |
| bool | hasDirectValue () const |
| Returns true if a direct value has been resolved. | |
| bool | hasDirectType () const |
| Returns true if a direct type has been resolved. | |
| bool | hasDirectCapsule () const |
| Returns true if a direct capsule has been resolved. | |
| bool | hasDirectException () const |
| Returns true if a direct exception has been resolved. | |
| bool | hasDirectOverloads () const |
| Returns true if direct overloads have been resolved. | |
| bool | hasIndirectValues () const |
| Returns true if indirect values have been resolved. | |
| bool | hasIndirectTypes () const |
| Returns true if indirect types have been resolved. | |
| bool | hasIndirectExceptions () const |
| Returns true if indirect exceptions have been resolved. | |
| bool | hasIndirectOverloads () const |
| Returns true if indirect overloads have been resolved. | |
| bool | hasVisibleIndirectValue () const |
| Returns true if there is a unique visible indirect value. | |
| bool | hasVisibleIndirectType () const |
| Returns true if there is a unique visible indirect type. | |
| bool | hasVisibleIndirectOverloads () const |
| Returns true if there are visible indirect overloads. | |
| ValueDecl * | getDirectValue () const |
| TypeDecl * | getDirectType () const |
| ModelDecl * | getDirectCapsule () const |
| ExceptionDecl * | getDirectException () const |
| Decl * | getDirectOverload (unsigned i) const |
Returns the i'th direct overload. The index must be in range. | |
| ValueDecl * | getIndirectValue (unsigned i) const |
Returns the i'th indirect value. The index must be in range. | |
| TypeDecl * | getIndirectType (unsigned i) const |
Returns the i'th indirect type. The index must be in range. | |
| ExceptionDecl * | getIndirectException (unsigned i) const |
Returns the i'th indirect exception. The index must be in range. | |
| Decl * | getIndirectOverload (unsigned i) const |
Returns the i'th indirect overload. The index must be in range. | |
| bool | getVisibleSubroutines (llvm::SmallVectorImpl< SubroutineDecl * > &srDecls) |
| direct_overload_iter | begin_direct_overloads () |
| direct_overload_iter | end_direct_overloads () |
| indirect_overload_iter | begin_indirect_overloads () |
| indirect_overload_iter | end_indirect_overloads () |
| indirect_value_iter | begin_indirect_values () |
| indirect_value_iter | end_indirect_values () |
| indirect_type_iter | begin_indirect_types () |
| indirect_type_iter | end_indirect_types () |
Friends | |
| class | Scope |
Definition at line 19 of file Resolver.h.
| typedef DeclVector::iterator comma::Resolver::direct_overload_iter |
Definition at line 204 of file Resolver.h.
| typedef DeclVector::iterator comma::Resolver::indirect_overload_iter |
Definition at line 205 of file Resolver.h.
| typedef TypeVector::iterator comma::Resolver::indirect_type_iter |
Definition at line 207 of file Resolver.h.
| typedef ValueVector::iterator comma::Resolver::indirect_value_iter |
Definition at line 206 of file Resolver.h.
| direct_overload_iter comma::Resolver::begin_direct_overloads | ( | ) | [inline] |
Definition at line 209 of file Resolver.h.
| indirect_overload_iter comma::Resolver::begin_indirect_overloads | ( | ) | [inline] |
Definition at line 216 of file Resolver.h.
| indirect_type_iter comma::Resolver::begin_indirect_types | ( | ) | [inline] |
Definition at line 231 of file Resolver.h.
| indirect_value_iter comma::Resolver::begin_indirect_values | ( | ) | [inline] |
Definition at line 223 of file Resolver.h.
| direct_overload_iter comma::Resolver::end_direct_overloads | ( | ) | [inline] |
Definition at line 212 of file Resolver.h.
| indirect_overload_iter comma::Resolver::end_indirect_overloads | ( | ) | [inline] |
Definition at line 219 of file Resolver.h.
| indirect_type_iter comma::Resolver::end_indirect_types | ( | ) | [inline] |
Definition at line 235 of file Resolver.h.
| indirect_value_iter comma::Resolver::end_indirect_values | ( | ) | [inline] |
Definition at line 227 of file Resolver.h.
| bool Resolver::filterFunctionals | ( | ) |
Filters out all functional declarations (functions and numeration literals) from the results and returns true if the resolver was modified.
Definition at line 64 of file Resolver.cpp.
| bool Resolver::filterNullaryOverloads | ( | ) |
Filters out all nullary overloads (procedures and functions of arity 0, as well as enumeration literals). Returns true if the resolver was modified.
Definition at line 71 of file Resolver.cpp.
| bool Resolver::filterOverloadsWRTArity | ( | unsigned | arity | ) |
Filters the overloaded results, keeping only those overloads with the specified arity. Returns true if the filter modified the result.
Definition at line 54 of file Resolver.cpp.
| bool Resolver::filterProcedures | ( | ) |
Filters out all procedure declarations from the results and returns true if the resolver was modified.
Definition at line 59 of file Resolver.cpp.
| ModelDecl* comma::Resolver::getDirectCapsule | ( | ) | const [inline] |
Returns the direct capsule associated with this resolver, or 0 if no such declaration could be resolved.
Definition at line 159 of file Resolver.h.
| ExceptionDecl* comma::Resolver::getDirectException | ( | ) | const [inline] |
Returns the direct exception associated with this resolver, or null if no such declaration could be resolved.
Definition at line 165 of file Resolver.h.
| Decl* comma::Resolver::getDirectOverload | ( | unsigned | i | ) | const [inline] |
Returns the i'th direct overload. The index must be in range.
Definition at line 170 of file Resolver.h.
| TypeDecl* comma::Resolver::getDirectType | ( | ) | const [inline] |
Returns the direct type associated with this resolver, or 0 if no such declaration could be resolved.
Definition at line 153 of file Resolver.h.
| ValueDecl* comma::Resolver::getDirectValue | ( | ) | const [inline] |
Returns the direct value associated with this resolver, or 0 if no such declaration could be resolved.
Definition at line 147 of file Resolver.h.
| IdentifierInfo* comma::Resolver::getIdInfo | ( | ) | const [inline] |
Returns the IdentifierInfo this resolver is associated with.
Definition at line 63 of file Resolver.h.
| ExceptionDecl* comma::Resolver::getIndirectException | ( | unsigned | i | ) | const [inline] |
Returns the i'th indirect exception. The index must be in range.
Definition at line 188 of file Resolver.h.
| Decl* comma::Resolver::getIndirectOverload | ( | unsigned | i | ) | const [inline] |
Returns the i'th indirect overload. The index must be in range.
Definition at line 194 of file Resolver.h.
| TypeDecl* comma::Resolver::getIndirectType | ( | unsigned | i | ) | const [inline] |
Returns the i'th indirect type. The index must be in range.
Definition at line 182 of file Resolver.h.
| ValueDecl* comma::Resolver::getIndirectValue | ( | unsigned | i | ) | const [inline] |
Returns the i'th indirect value. The index must be in range.
Definition at line 176 of file Resolver.h.
| bool Resolver::getVisibleSubroutines | ( | llvm::SmallVectorImpl< SubroutineDecl * > & | srDecls | ) |
Returns a vector of all visible subroutine declarations. Returns true if any visible subroutines were found.
Definition at line 147 of file Resolver.cpp.
| bool comma::Resolver::hasDirectCapsule | ( | ) | const [inline] |
Returns true if a direct capsule has been resolved.
Definition at line 101 of file Resolver.h.
| bool comma::Resolver::hasDirectException | ( | ) | const [inline] |
Returns true if a direct exception has been resolved.
Definition at line 106 of file Resolver.h.
| bool comma::Resolver::hasDirectOverloads | ( | ) | const [inline] |
Returns true if direct overloads have been resolved.
Definition at line 111 of file Resolver.h.
| bool comma::Resolver::hasDirectType | ( | ) | const [inline] |
Returns true if a direct type has been resolved.
Definition at line 96 of file Resolver.h.
| bool comma::Resolver::hasDirectValue | ( | ) | const [inline] |
Returns true if a direct value has been resolved.
Definition at line 91 of file Resolver.h.
| bool comma::Resolver::hasIndirectExceptions | ( | ) | const [inline] |
Returns true if indirect exceptions have been resolved.
Definition at line 120 of file Resolver.h.
| bool comma::Resolver::hasIndirectOverloads | ( | ) | const [inline] |
Returns true if indirect overloads have been resolved.
Definition at line 123 of file Resolver.h.
| bool comma::Resolver::hasIndirectTypes | ( | ) | const [inline] |
Returns true if indirect types have been resolved.
Definition at line 117 of file Resolver.h.
| bool comma::Resolver::hasIndirectValues | ( | ) | const [inline] |
Returns true if indirect values have been resolved.
Definition at line 114 of file Resolver.h.
| bool comma::Resolver::hasVisibleIndirectOverloads | ( | ) | const [inline] |
Returns true if there are visible indirect overloads.
Definition at line 140 of file Resolver.h.
| bool comma::Resolver::hasVisibleIndirectType | ( | ) | const [inline] |
Returns true if there is a unique visible indirect type.
Definition at line 134 of file Resolver.h.
| bool comma::Resolver::hasVisibleIndirectValue | ( | ) | const [inline] |
Returns true if there is a unique visible indirect value.
Definition at line 128 of file Resolver.h.
| unsigned comma::Resolver::numDirectOverloads | ( | ) | const [inline] |
Returns the number of direct overloads.
Definition at line 66 of file Resolver.h.
| unsigned comma::Resolver::numIndirectExceptions | ( | ) | const [inline] |
Returns the number of indirect exceptions.
Definition at line 75 of file Resolver.h.
| unsigned comma::Resolver::numIndirectOverloads | ( | ) | const [inline] |
Returns the number of indirect overloads.
Definition at line 78 of file Resolver.h.
| unsigned comma::Resolver::numIndirectTypes | ( | ) | const [inline] |
Returns the number of indirect types.
Definition at line 72 of file Resolver.h.
| unsigned comma::Resolver::numIndirectValues | ( | ) | const [inline] |
Returns the number of indirect values.
Definition at line 69 of file Resolver.h.
| unsigned comma::Resolver::numOverloads | ( | ) | const [inline] |
Returns the total number of overloaded declarations.
Definition at line 86 of file Resolver.h.
| unsigned Resolver::numResolvedDecls | ( | ) | const |
Returns the total number of declarations contained in this resolver.
Definition at line 42 of file Resolver.cpp.
| bool Resolver::resolve | ( | IdentifierInfo * | idInfo | ) |
Resolves the given identifier and returns true if any bindings were resolved.
Definition at line 137 of file Resolver.cpp.
friend class Scope [friend] |
Definition at line 36 of file Resolver.h.
1.6.1