yast2-core
Public Member Functions | Private Member Functions
YSImport Class Reference

#include <YStatement.h>

Inheritance diagram for YSImport:
YStatement Import YCode Rep

List of all members.

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 ()
virtual bool isConstant () const
bool isError () const
virtual bool isBlock () const
virtual bool isReferenceable () const
- 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)
Y2NamespacenameSpace () const

Private Member Functions

 REP_BODY (YSImport)

Additional Inherited Members

- Public Types inherited from Import
typedef std::map< std::string,
Y2Namespace * > 
module_map
- Static Public Member Functions inherited from Import
static void disableTracking ()
static void enableTracking ()
- 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

Reimplemented from Import.

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, 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(), 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.1