Envision
A visual programming IDE for object-oriented languages
|
Public Member Functions | |
ResolutionRequest ()=delete | |
template<typename T = void> | |
ResolutionRequest (QSet< Node * > &result, const SymbolMatcher &&matcher, const Node *source, Node::FindSymbolDirection direction, Node::SymbolTypes symbolTypes, bool exhaustAllScopes) | |
This constructor is used to capture an incorrect usage of matcher, which shouldn't be a temporary object. More... | |
ResolutionRequest (QSet< Node * > &result, const SymbolMatcher &matcher, const Node *source, Node::FindSymbolDirection direction, Node::SymbolTypes symbolTypes, bool exhaustAllScopes) | |
Represents a request for finding all nodes which define a symbol with a name matching matcher in the scope of a node. More... | |
virtual | ~ResolutionRequest () |
virtual std::unique_ptr< ResolutionRequest > | clone () const |
virtual std::unique_ptr< ResolutionRequest > | clone (const Node *source, const Node::FindSymbolDirection direction) const |
virtual std::unique_ptr< ResolutionRequest > | clone (const Node *source, const Node::FindSymbolDirection direction, const bool exhaustAllScopes) const |
virtual std::unique_ptr< ResolutionRequest > | clone (const Node::FindSymbolDirection direction) const |
virtual std::unique_ptr< ResolutionRequest > | clone (const Node::FindSymbolDirection direction, const bool exhaustAllScopes) const |
Node::FindSymbolDirection | direction () const |
bool | exhaustAllScopes () const |
const SymbolMatcher & | matcher () const |
QSet< Node * > & | result () const |
const Node * | source () const |
Node::SymbolTypes | symbolTypes () const |
Private Attributes | |
const Node::FindSymbolDirection | direction_ |
const bool | exhaustAllScopes_ |
const SymbolMatcher & | matcher_ |
QSet< Node * > & | result_ |
const Node * | source_ |
const Node::SymbolTypes | symbolTypes_ |
|
delete |
|
inline |
Represents a request for finding all nodes which define a symbol with a name matching matcher in the scope of a node.
The source Node specifies what node should be used as a reference when determining what symbols are visible.
The direction specifies what search to perform.
The symbolTypes specifies what symbol types should be returned. If a symbol matches any of the requested types it will be returned.
If exhaustAllScopes is false, the search will halt as soon as symbols are found within a scope. This is useful when resolving links and it is important to find the "nearest" symbols that match with respect to scope. If exhaustAllScopes is true, the search will explore all scopes in corresponding to the provided mode. This is useful when symbolExp can match multiple symbols with different names (for example during auto completion list build up).
|
inline |
This constructor is used to capture an incorrect usage of matcher, which shouldn't be a temporary object.
|
virtual |
|
virtual |
Reimplemented in OOModel::OOResolutionRequest.
|
virtual |
Reimplemented in OOModel::OOResolutionRequest.
|
virtual |
Reimplemented in OOModel::OOResolutionRequest.
|
virtual |
Reimplemented in OOModel::OOResolutionRequest.
|
virtual |
Reimplemented in OOModel::OOResolutionRequest.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |