#include <FunctionCall.h>
Inheritance diagram for Patternist::FunctionCall:


Public Types | |
| typedef PlainSharedPtr< FunctionCall > | Ptr |
Public Member Functions | |
| virtual ExpressionVisitorResult::Ptr | accept (const ExpressionVisitor::Ptr &visitor) const |
| virtual SequenceType::List | expectedOperandTypes () const |
| virtual ID | id () const |
| virtual Expression::Properties | properties () const |
| virtual void | setSignature (const FunctionSignature::Ptr &sign) |
| virtual FunctionSignature::Ptr | signature () const |
| virtual SequenceType::Ptr | staticType () const |
| virtual Expression::Ptr | typeCheck (const StaticContext::Ptr &context, const SequenceType::Ptr &reqType) |
However, it doesn't handle user declared functions.
Definition at line 32 of file FunctionCall.h.
A smart pointer wrapping Expression instances.
Reimplemented from Patternist::Expression.
Definition at line 35 of file FunctionCall.h.
| SequenceType::List FunctionCall::expectedOperandTypes | ( | ) | const [virtual] |
Returns a list of Sequence Types, describing the type of each of the expression's operands. Hence, this function has a relationship to the operands() function:
This function should not be confused with staticType(), which returns the static type of the expression itself, not its operands. The function call is an expression where this is clear: the type of the return value is not the same as the arguments' types. The static type of the operands supplied to the expression can be determined via the staticType() function of the instances returned by operands().
If the expression has no operands, an empty list should be returned.
Implements Patternist::Expression.
Definition at line 33 of file FunctionCall.cpp.
References signature().
Here is the call graph for this function:

| Expression::ID FunctionCall::id | ( | ) | const [virtual] |
This property, which has no setter, returns an enum value that uniquely identifies this Expression. Patternist makes no use of C++'s dynamic_cast feature, but uses this polymorphic function instead.
Reimplemented from Patternist::Expression.
Definition at line 127 of file FunctionCall.cpp.
| Expression::Properties FunctionCall::properties | ( | ) | const [virtual] |
Reimplemented from Patternist::Expression.
Definition at line 116 of file FunctionCall.cpp.
References signature().
Referenced by typeCheck().
Here is the call graph for this function:

Here is the caller graph for this function:

| SequenceType::Ptr FunctionCall::staticType | ( | ) | const [virtual] |
Implements Patternist::Expression.
Reimplemented in Patternist::AvgFN, Patternist::SumFN, Patternist::Aggregator, Patternist::RootFN, Patternist::DistinctValuesFN, Patternist::InsertBeforeFN, Patternist::RemoveFN, Patternist::ReverseFN, Patternist::SubsequenceFN, Patternist::DocFN, and Patternist::TraceFN.
Definition at line 93 of file FunctionCall.cpp.
References Patternist::Expression::EmptynessFollowsChild, Patternist::Expression::has(), Patternist::UnlimitedContainer::m_operands, Patternist::Cardinality::oneOrMore(), and signature().
Here is the call graph for this function:

1.5.1