My Project
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
ExprAstFunctionVariable Class Reference
Inheritance diagram for ExprAstFunctionVariable:
ExprAst

Public Member Functions

 ExprAstFunctionVariable (ExprAst *var, const QList< ExprAst > &args)
 
 ~ExprAstFunctionVariable ()
 
virtual TemplateVariant resolve (TemplateContext *c)
 
- Public Member Functions inherited from ExprAst
virtual ~ExprAst ()
 

Private Attributes

ExprAstm_var
 
QList< ExprAstm_args
 

Detailed Description

Definition at line 1472 of file template.cpp.

Constructor & Destructor Documentation

ExprAstFunctionVariable::ExprAstFunctionVariable ( ExprAst var,
const QList< ExprAst > &  args 
)
inline

Definition at line 1475 of file template.cpp.

References m_args, and TRACE.

: m_var(var), m_args(args)
{ TRACE(("ExprAstFunctionVariable()\n"));
m_args.setAutoDelete(TRUE);
}
ExprAstFunctionVariable::~ExprAstFunctionVariable ( )
inline

Definition at line 1480 of file template.cpp.

References m_var.

{
delete m_var;
}

Member Function Documentation

virtual TemplateVariant ExprAstFunctionVariable::resolve ( TemplateContext c)
inlinevirtual

Reimplemented from ExprAst.

Definition at line 1484 of file template.cpp.

References TemplateVariant::call(), TemplateVariant::Function, m_args, m_var, ExprAst::resolve(), and TemplateVariant::type().

{
QValueList<TemplateVariant> args;
for (uint i=0;i<m_args.count();i++)
{
TemplateVariant v = m_args.at(i)->resolve(c);
args.append(v);
}
{
v = v.call(args);
}
return v;
}

Member Data Documentation

QList<ExprAst> ExprAstFunctionVariable::m_args
private

Definition at line 1501 of file template.cpp.

Referenced by ExprAstFunctionVariable(), and resolve().

ExprAst* ExprAstFunctionVariable::m_var
private

Definition at line 1500 of file template.cpp.

Referenced by resolve(), and ~ExprAstFunctionVariable().


The documentation for this class was generated from the following file: