79 static std::ostream & writeBool (std::ostream & streamref,
bool value);
83 static std::ostream & writeString (std::ostream & streamref,
const std::string & stringref);
84 static bool readString (
bytecodeistream & streamref, std::string & stringref);
87 static std::ostream & writeUstring (std::ostream & streamref,
const Ustring ustringref);
91 static std::ostream & writeCharp (std::ostream & streamref,
const char * charp);
95 static std::ostream & writeBytep (std::ostream & streamref,
const unsigned char * bytep,
unsigned int len);
99 static std::ostream & writeInt32 (std::ostream &
str,
const u_int32_t value);
103 static std::ostream & writeType (std::ostream & str, constTypePtr type);
107 static std::ostream & writeValue (std::ostream & str,
const YCPValue value);
111 static std::ostream & writeYCodelist (std::ostream & str,
const ycodelist_t *codelist);
117 static void namespaceInit ();
119 static int namespaceId (
const Y2Namespace *name_space);
121 static const Y2Namespace *namespacePtr (
int namespace_id);
124 static int pushNamespace (
const Y2Namespace *name_space,
bool with_xrefs =
false);
127 static int popNamespace (
const Y2Namespace *name_space);
130 static void popUptoNamespace (
const Y2Namespace *name_space);
134 static int tareStack ();
135 static void untareStack (
int tare_id);
141 static std::ostream &writeEntry (std::ostream & str,
const SymbolEntryPtr entry);
155 static YBlockPtr readModule (
const string & mname);
158 static YCodePtr readFile (
const string & filename);
161 static bool writeFile (
const YCodePtr code,
const string & filename);
#define str
Definition: scanner.cc:1003
static int m_namespace_nesting_array_size
Definition: Bytecode.h:58
bool isVersionAtMost(int major, int minor, int revision)
Definition: Bytecode.cc:103
bytecodeistream(string filename)
Definition: Bytecode.cc:68
bool isVersion(int major, int minor, int revision)
Definition: Bytecode.cc:96
const Y2Namespace * name_space
Definition: Bytecode.h:63
int m_major
Definition: Bytecode.h:44
static map< string, YBlockPtr > * m_bytecodeCache
Definition: Bytecode.h:67
int minor() const
Definition: Bytecode.h:51
Unique strings.
Definition: Ustring.h:124
static int m_namespace_tare_level
Definition: Bytecode.h:59
bool with_xrefs
external references... ???
Definition: Bytecode.h:64
references to namespaces
Definition: Bytecode.h:62
int release() const
Definition: Bytecode.h:52
int m_minor
Definition: Bytecode.h:44
*.ybc I/O
Definition: Bytecode.h:56
int m_release
Definition: Bytecode.h:44
int major() const
Definition: Bytecode.h:50
static int m_namespace_nesting_level
Definition: Bytecode.h:57
Wrapper for YCPValueRep This class realizes an automatic memory management via YCPElement. Access the functionality of YCPValueRep with the arrow operator. See YCPValueRep.
Definition: YCPValue.h:275
Definition: Y2Namespace.h:43
Definition: Bytecode.h:76
An istream that remembers some data about the bytecode.
Definition: Bytecode.h:42
static namespaceentry_t * m_namespace_nesting_array
Definition: Bytecode.h:66