yast2-core
Public Member Functions | Private Member Functions | List of all members
YEFunction Class Reference

#include <YExpression.h>

Inheritance diagram for YEFunction:
YECall YCode Rep

Public Member Functions

 YEFunction (TableEntry *entry)
 
 YEFunction (bytecodeistream &str)
 
virtual ykind kind () const
 
virtual YCPValue evaluate (bool cse=false)
 
virtual constTypePtr finalize ()
 
- Public Member Functions inherited from YECall
 YECall (TableEntry *entry)
 
 YECall (bytecodeistream &str)
 
 ~YECall ()
 
const SymbolEntryPtr entry () const
 
constTypePtr attachParameter (YCodePtr code, constTypePtr type)
 
string toString () const
 
std::ostream & toStream (std::ostream &str) const
 
std::ostream & toXml (std::ostream &str, int indent) const
 
constTypePtr type () const
 
string qualifiedName () const
 
- Public Member Functions inherited from YCode
 YCode ()
 
virtual ~YCode ()
 
std::string commentToXml () const
 
std::ostream & commentToXml (std::ostream &str) const
 
virtual bool isConstant () const
 
bool isError () const
 
virtual bool isStatement () const
 
virtual bool isBlock () const
 
virtual bool isReferenceable () const
 
void setCommentBefore (const char *comment)
 
void setCommentAfter (const char *comment)
 
- Public Member Functions inherited from Rep
 Rep ()
 
 Rep (const Rep &)
 
Repoperator= (const Rep &)
 
virtual ~Rep ()
 
void ref () const
 
void unref () const
 
unsigned refCount () const
 
virtual const char * repName () const
 
virtual std::ostream & dumpOn (std::ostream &str) const
 

Private Member Functions

 REP_BODY (YEFunction)
 

Additional Inherited Members

- Public Types inherited from YCode
enum  ykind {
  yxError = 0, ycVoid, ycBoolean, ycInteger,
  ycFloat, ycString, ycByteblock, ycPath,
  ycSymbol, ycList, ycMap, ycTerm,
  ycEntry, ycConstant, ycLocale, ycFunction,
  yePropagate, yeUnary, yeBinary, yeTriple,
  yeCompare, yeLocale, yeList, yeMap,
  yeTerm, yeIs, yeBracket, yeBlock,
  yeReturn, yeVariable, yeBuiltin, yeFunction,
  yeReference, yeFunctionPointer, yeExpression, ysTypedef,
  ysVariable, ysFunction, ysAssign, ysBracket,
  ysIf, ysWhile, ysDo, ysRepeat,
  ysExpression, ysReturn, ysBreak, ysContinue,
  ysTextdomain, ysInclude, ysFilename, ysImport,
  ysBlock, ysSwitch, ysStatement, yiBreakpoint
}
 
- Static Public Member Functions inherited from YECall
static YECallPtr readCall (bytecodeistream &str)
 
- Static Public Member Functions inherited from YCode
static string toString (ykind kind)
 
- Static Public Member Functions inherited from Rep
static void ref (const Rep *obj_r)
 
static void unref (const Rep *obj_r)
 
- Protected Member Functions inherited from Rep
virtual void ref_to (unsigned) const
 
virtual void unref_to (unsigned) const
 
- Protected Attributes inherited from YECall
TableEntrym_entry
 
SymbolEntryPtr m_sentry
 
YCodePtr * m_parameters
 
constTypePtr * m_parameter_types
 
Y2Functionm_functioncall
 
uint m_next_param_id
 
- Protected Attributes inherited from YCode
const char * comment_before
 
const char * comment_after
 

Constructor & Destructor Documentation

YEFunction::YEFunction ( TableEntry entry)

References TableEntry::sentry(), and y2debug.

YEFunction::YEFunction ( bytecodeistream str)

Member Function Documentation

YCPValue YEFunction::evaluate ( bool  cse = false)
virtual
constTypePtr YEFunction::finalize ( )
virtual

'close' function, perform final parameter check if ok, return 0 if missing parameter, return its type if undefined, return Type::Error (wrong type was already reported in attachParameter()

Reimplemented from YECall.

References Type::Error, YECall::finalize(), YECall::m_functioncall, YECall::m_sentry, and y2error.

virtual ykind YEFunction::kind ( ) const
inlinevirtual

Kind of this YCode. This method must be reimplemented in the inherited classes.

Returns
the YCode kind

Implements YCode.

References YCode::yeFunction.

YEFunction::REP_BODY ( YEFunction  )
private

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

Generated on a sunny day for yast2-core by doxygen 1.8.8