Qt 4.8
|
Abstract base-class for Expression instances that are callsites to other components, such as templates or user functions. More...
#include <qcallsite_p.h>
Public Functions | |
virtual Expression::Ptr | body () const =0 |
Returns the body of the function/template/component that is being called. More... | |
virtual CallTargetDescription::Ptr | callTargetDescription () const =0 |
virtual bool | configureRecursion (const CallTargetDescription::Ptr &sign)=0 |
bool | isRecursive () const |
QXmlName | name () const |
void | setIsRecursive (const bool value) |
Public Functions inherited from QPatternist::UnlimitedContainer | |
virtual bool | compressOperands (const StaticContext::Ptr &) |
virtual Expression::List | operands () const |
virtual void | setOperands (const Expression::List &list) |
UnlimitedContainer (const Expression::List &operands=Expression::List()) | |
Public Functions inherited from QPatternist::Expression | |
virtual ExpressionVisitorResult::Ptr | accept (const ExpressionVisitor::Ptr &visitor) const =0 |
virtual const SourceLocationReflection * | actualReflection () const |
Returns this . More... | |
virtual void | announceFocusType (const ItemType::Ptr &itemType) |
virtual Expression::Ptr | compress (const StaticContext::Ptr &context) |
Properties | deepProperties () const |
Computes the union of properties for this Expression and all its descending children. More... | |
virtual Properties | dependencies () const |
virtual QString | description () const |
virtual bool | evaluateEBV (const DynamicContext::Ptr &context) const |
virtual Item::Iterator::Ptr | evaluateSequence (const DynamicContext::Ptr &context) const |
virtual Item | evaluateSingleton (const DynamicContext::Ptr &context) const |
virtual void | evaluateToSequenceReceiver (const DynamicContext::Ptr &context) const |
virtual ItemType::Ptr | expectedContextItemType () const |
virtual SequenceType::List | expectedOperandTypes () const =0 |
Expression () | |
bool | has (const Property prop) const |
bool | hasDependency (const Property prop) const |
virtual ID | id () const |
bool | is (const ID id) const |
bool | isEvaluated () const |
virtual ItemType::Ptr | newFocusType () const |
virtual QList< QExplicitlySharedDataPointer< OptimizationPass > > | optimizationPasses () const |
virtual PatternPriority | patternPriority () const |
virtual Properties | properties () const |
const Expression::Ptr & | rewrite (const Expression::Ptr &to, const StaticContext::Ptr &context) const |
Rewrites this Expression to to , and return to . More... | |
virtual SequenceType::Ptr | staticType () const =0 |
virtual Expression::Ptr | typeCheck (const StaticContext::Ptr &context, const SequenceType::Ptr &reqType) |
virtual | ~Expression () |
Public Functions inherited from QSharedData | |
QSharedData () | |
Constructs a QSharedData object with a reference count of 0. More... | |
QSharedData (const QSharedData &) | |
Constructs a QSharedData object with reference count 0. More... | |
Public Functions inherited from QPatternist::CppCastingHelper< Expression > | |
const TCastTarget * | as () const |
TCastTarget * | as () |
Public Functions inherited from QPatternist::SourceLocationReflection | |
virtual QSourceLocation | sourceLocation () const |
SourceLocationReflection () | |
virtual | ~SourceLocationReflection () |
Protected Functions | |
CallSite (const QXmlName &name=QXmlName()) | |
Protected Functions inherited from QPatternist::UnlimitedContainer | |
template<CardinalityComputation suppliedCard> | |
SequenceType::Ptr | operandsUnionType () const |
Protected Functions inherited from QPatternist::Expression | |
void | typeCheckOperands (const StaticContext::Ptr &context) |
Protected Functions inherited from QPatternist::CppCastingHelper< Expression > | |
CppCastingHelper () | |
Properties | |
bool | m_isRecursive |
const QXmlName | m_name |
Abstract base-class for Expression instances that are callsites to other components, such as templates or user functions.
Definition at line 72 of file qcallsite_p.h.
Definition at line 48 of file qcallsite.cpp.
|
pure virtual |
Returns the body of the function/template/component that is being called.
Implemented in QPatternist::UserFunctionCallsite, QPatternist::ApplyTemplate, and QPatternist::CallTemplate.
|
pure virtual |
Implemented in QPatternist::UserFunctionCallsite, QPatternist::ApplyTemplate, and QPatternist::CallTemplate.
|
pure virtual |
Called in the earliest stages of the compilation process. sign
can be any function signature for a user declared function. If sign
matches this UserFunctionCallsite, it means the UserFunction represented by sign
is recursive and that this UserFunctionCallsite should take appropriate measures.
true
if is recursive, otherwise false
Implemented in QPatternist::UserFunctionCallsite, QPatternist::ApplyTemplate, and QPatternist::CallTemplate.
bool CallSite::isRecursive | ( | ) | const |
Definition at line 58 of file qcallsite.cpp.
Referenced by QPatternist::UserFunctionCallsite::compress(), QPatternist::UserFunctionCallsite::configureRecursion(), QPatternist::CallTemplate::dependencies(), QPatternist::CallTemplate::properties(), QPatternist::UserFunctionCallsite::staticType(), and QPatternist::UserFunctionCallsite::typeCheck().
QXmlName CallSite::name | ( | ) | const |
Definition at line 53 of file qcallsite.cpp.
Referenced by QPatternist::ExpressionFactory::createExpression(), and QPatternist::UserFunctionCallsite::isSignatureValid().
void CallSite::setIsRecursive | ( | const bool | value | ) |
Definition at line 63 of file qcallsite.cpp.
Referenced by QPatternist::UserFunctionCallsite::configureRecursion().
|
private |
Definition at line 103 of file qcallsite_p.h.
Referenced by isRecursive(), and setIsRecursive().
|
private |
Definition at line 104 of file qcallsite_p.h.
Referenced by name().