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

#include <YStatement.h>

Inheritance diagram for YSImport:
YStatement Import YCode Rep

Public Member Functions

 YSImport (const string &name, int line=0)
 
 YSImport (const string &name, Y2Namespace *name_space)
 
 YSImport (bytecodeistream &str)
 
 ~YSImport ()
 
virtual ykind kind () const
 
string name () const
 
string toString () const
 
std::ostream & toStream (std::ostream &str) const
 
std::ostream & toXml (std::ostream &str, int indent) const
 
YCPValue evaluate (bool cse=false)
 
constTypePtr type () const
 
- Public Member Functions inherited from YStatement
 YStatement (int line=0)
 
 YStatement (bytecodeistream &str)
 
 ~YStatement ()
 
virtual bool isStatement () const
 
int line () 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 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
 
- Public Member Functions inherited from Import
 Import ()
 
 Import (const string &name, Y2Namespace *name_space=0)
 
 ~Import ()
 
int import (const string &name, Y2Namespace *preloaded_namespace=0)
 
string name () const
 
Y2NamespacenameSpace () const
 

Private Member Functions

 REP_BODY (YSImport)
 

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
}
 
- Public Types inherited from Import
typedef std::map< std::string,
Y2Namespace * > 
module_map
 
- 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)
 
- Static Public Member Functions inherited from Import
static void disableTracking ()
 
static void enableTracking ()
 
- Protected Member Functions inherited from Rep
virtual void ref_to (unsigned) const
 
virtual void unref_to (unsigned) const
 
- Protected Attributes inherited from YCode
const char * comment_before
 
const char * comment_after
 
- Protected Attributes inherited from Import
Ustring m_name
 
module_map::iterator m_module
 
- Static Protected Attributes inherited from Import
static module_map m_active_modules
 

Detailed Description

import

Constructor & Destructor Documentation

YSImport::YSImport ( const string &  name,
int  line = 0 
)
YSImport::YSImport ( const string &  name,
Y2Namespace name_space 
)
YSImport::YSImport ( bytecodeistream str)
YSImport::~YSImport ( )

Member Function Documentation

YCPValue YSImport::evaluate ( bool  cse = false)
virtual

Execute YCP code to get the resulting YCPValue. Every inherited class of YCode should reimplement this method.

Returns
YCPValue after executing the code
Parameters
cseshould the evaluation be done for parse time evaluation (i.e. constant subexpression elimination)

Reimplemented from YStatement.

References Y2Namespace::initialize(), Import::m_name, Import::nameSpace(), and y2debug.

virtual ykind YSImport::kind ( ) const
inlinevirtual

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

Returns
the YCode kind

Implements YCode.

References YCode::ysImport.

string YSImport::name ( ) const

References Ustring::asString(), and Import::m_name.

Referenced by YSImport().

YSImport::REP_BODY ( YSImport  )
private
std::ostream & YSImport::toStream ( std::ostream &  str) const
virtual

Write YCP code to a byte stream (bytecode implementation). Every class inheriting from YCode must reimplement this method.

Parameters
strbyte stream to store into
Returns
byte stream for chaining writing bytecode (str)

Reimplemented from YStatement.

References Import::m_module, Import::m_name, Import::nameSpace(), Bytecode::pushNamespace(), str, YStatement::toStream(), SymbolTable::writeUsage(), Bytecode::writeUstring(), and y2debug.

string YSImport::toString ( void  ) const
virtual

Return ASCII represtation of this YCP code.

Returns
ASCII string representation

Reimplemented from YStatement.

References Ustring::asString(), and Import::m_name.

std::ostream & YSImport::toXml ( std::ostream &  str,
int  indent 
) const
virtual

Write YCP code as XML representation. Every class inheriting from YCode must reimplement this method.

Parameters
strstring stream to store into
indendindentation level for pretty print
Returns
string stream for chaining writing XML (str)

Reimplemented from YStatement.

References Ustring::asString(), YCode::commentToXml(), Import::m_name, Import::nameSpace(), and Xmlcode::pushNamespace().

constTypePtr YSImport::type ( ) const
inlinevirtual

Return type of this YCP code (interesting mostly for function calls).

Returns
type of the value to be returned after calling evaluate

Reimplemented from YStatement.

References Type::Void.


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

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