ResolveExpression Class

(CPlusPlus::ResolveExpression)

Public Functions

ResolveExpression(const LookupContext &context, const QSet<const Declaration *> &autoDeclarationsBeingResolved = QSet<const Declaration *> ())
virtual ~ResolveExpression()
ClassOrNamespace *baseExpression(const QList<LookupItem> &baseResults, int accessOp, bool *replacedDotOperator = 0) const
const LookupContext &context() const
QList<LookupItem> reference(ExpressionAST *ast, Scope *scope)
QList<LookupItem> resolve(ExpressionAST *ast, Scope *scope, bool ref = false)
QList<LookupItem> operator()(ExpressionAST *ast, Scope *scope)

Protected Functions

void addResult(const FullySpecifiedType &ty, Scope *scope, ClassOrNamespace *binding = 0)
void addResults(const QList<Symbol *> &symbols)
void addResults(const QList<LookupItem> &items)
QList<LookupItem> expression(ExpressionAST *ast)
ClassOrNamespace *findClass(const FullySpecifiedType &ty, Scope *scope, ClassOrNamespace *enclosingBinding = 0) const
QList<LookupItem> getMembers(ClassOrNamespace *binding, const Name *memberName) const
FullySpecifiedType instantiate(const Name *className, Symbol *candidate) const
QList<LookupItem> switchResults(const QList<LookupItem> &symbols)
void thisObject()
virtual bool visit(IdExpressionAST *ast)
virtual bool visit(BinaryExpressionAST *ast)
virtual bool visit(ObjCMessageExpressionAST *ast)
virtual bool visit(CastExpressionAST *ast)
virtual bool visit(ConditionAST *ast)
virtual bool visit(ConditionalExpressionAST *ast)
virtual bool visit(CppCastExpressionAST *ast)
virtual bool visit(DeleteExpressionAST *ast)
virtual bool visit(ArrayInitializerAST *ast)
virtual bool visit(NewExpressionAST *ast)
virtual bool visit(TypeidExpressionAST *ast)
virtual bool visit(TypenameCallExpressionAST *ast)
virtual bool visit(TypeConstructorCallAST *ast)
virtual bool visit(SizeofExpressionAST *ast)
virtual bool visit(PointerLiteralAST *ast)
virtual bool visit(NumericLiteralAST *ast)
virtual bool visit(BoolLiteralAST *ast)
virtual bool visit(ThisExpressionAST *ast)
virtual bool visit(NestedExpressionAST *ast)
virtual bool visit(StringLiteralAST *ast)
virtual bool visit(ThrowExpressionAST *ast)
virtual bool visit(TypeIdAST *ast)
virtual bool visit(UnaryExpressionAST *ast)
virtual bool visit(CompoundLiteralAST *ast)
virtual bool visit(CompoundExpressionAST *ast)
virtual bool visit(LambdaExpressionAST *ast)
virtual bool visit(ReturnStatementAST *ast)
virtual bool visit(QualifiedNameAST *ast)
virtual bool visit(OperatorFunctionIdAST *ast)
virtual bool visit(ConversionFunctionIdAST *ast)
virtual bool visit(SimpleNameAST *ast)
virtual bool visit(DestructorNameAST *ast)
virtual bool visit(TemplateIdAST *ast)
virtual bool visit(CallAST *ast)
virtual bool visit(ArrayAccessAST *ast)
virtual bool visit(PostIncrDecrAST *ast)
virtual bool visit(MemberAccessAST *ast)

Static Protected Members

bool maybeValidPrototype(Function *funTy, unsigned actualArgumentCount)

Member Function Documentation

ResolveExpression::ResolveExpression(const LookupContext &context, const QSet<const Declaration *> &autoDeclarationsBeingResolved = QSet<const Declaration *> ())

Default constructs an instance of ResolveExpression.

[virtual] ResolveExpression::~ResolveExpression()

Destroys the instance of ResolveExpression. The destructor is virtual.

[protected] void ResolveExpression::addResult(const FullySpecifiedType &ty, Scope *scope, ClassOrNamespace *binding = 0)

[protected] void ResolveExpression::addResults(const QList<Symbol *> &symbols)

[protected] void ResolveExpression::addResults(const QList<LookupItem> &items)

ClassOrNamespace *ResolveExpression::baseExpression(const QList<LookupItem> &baseResults, int accessOp, bool *replacedDotOperator = 0) const

const LookupContext &ResolveExpression::context() const

[protected] QList<LookupItem> ResolveExpression::expression(ExpressionAST *ast)

[protected] ClassOrNamespace *ResolveExpression::findClass(const FullySpecifiedType &ty, Scope *scope, ClassOrNamespace *enclosingBinding = 0) const

[protected] QList<LookupItem> ResolveExpression::getMembers(ClassOrNamespace *binding, const Name *memberName) const

[protected] FullySpecifiedType ResolveExpression::instantiate(const Name *className, Symbol *candidate) const

[static protected] bool ResolveExpression::maybeValidPrototype(Function *funTy, unsigned actualArgumentCount)

QList<LookupItem> ResolveExpression::reference(ExpressionAST *ast, Scope *scope)

QList<LookupItem> ResolveExpression::resolve(ExpressionAST *ast, Scope *scope, bool ref = false)

[protected] QList<LookupItem> ResolveExpression::switchResults(const QList<LookupItem> &symbols)

[protected] void ResolveExpression::thisObject()

[virtual protected] bool ResolveExpression::visit(IdExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(BinaryExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(ObjCMessageExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(CastExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(ConditionAST *ast)

[virtual protected] bool ResolveExpression::visit(ConditionalExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(CppCastExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(DeleteExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(ArrayInitializerAST *ast)

[virtual protected] bool ResolveExpression::visit(NewExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(TypeidExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(TypenameCallExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(TypeConstructorCallAST *ast)

[virtual protected] bool ResolveExpression::visit(SizeofExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(PointerLiteralAST *ast)

[virtual protected] bool ResolveExpression::visit(NumericLiteralAST *ast)

[virtual protected] bool ResolveExpression::visit(BoolLiteralAST *ast)

[virtual protected] bool ResolveExpression::visit(ThisExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(NestedExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(StringLiteralAST *ast)

[virtual protected] bool ResolveExpression::visit(ThrowExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(TypeIdAST *ast)

[virtual protected] bool ResolveExpression::visit(UnaryExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(CompoundLiteralAST *ast)

[virtual protected] bool ResolveExpression::visit(CompoundExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(LambdaExpressionAST *ast)

[virtual protected] bool ResolveExpression::visit(ReturnStatementAST *ast)

[virtual protected] bool ResolveExpression::visit(QualifiedNameAST *ast)

[virtual protected] bool ResolveExpression::visit(OperatorFunctionIdAST *ast)

[virtual protected] bool ResolveExpression::visit(ConversionFunctionIdAST *ast)

[virtual protected] bool ResolveExpression::visit(SimpleNameAST *ast)

[virtual protected] bool ResolveExpression::visit(DestructorNameAST *ast)

[virtual protected] bool ResolveExpression::visit(TemplateIdAST *ast)

[virtual protected] bool ResolveExpression::visit(CallAST *ast)

[virtual protected] bool ResolveExpression::visit(ArrayAccessAST *ast)

[virtual protected] bool ResolveExpression::visit(PostIncrDecrAST *ast)

[virtual protected] bool ResolveExpression::visit(MemberAccessAST *ast)

QList<LookupItem> ResolveExpression::operator()(ExpressionAST *ast, Scope *scope)