#include <classwriterbase.hpp>
Inheritance diagram for ClassEncoder::ClassWriterBase:
Public Member Functions | |
ClassWriterBase () | |
Default constructor. | |
virtual | ~ClassWriterBase () |
Default destructor. | |
void | writeu1Array (std::ofstream &stream, const char *data, unsigned int length) const |
Write an array to the stream. | |
void | writeu1 (std::ofstream &stream, const u1 &num) const |
Write an u1 value to the stream. | |
void | writeu2 (std::ofstream &stream, const u2 &num) const |
Write an u2 value to the stream. | |
void | writeu4 (std::ofstream &stream, const u4 &num) const |
Write an u4 value to the stream. | |
Private Member Functions | |
u2 | u2ToBigEndian (u2 num) const |
Convert an u2 value to big endian. | |
u4 | u4ToBigEndian (u4 num) const |
Convert an u4 value to big endian. |
This class contains functionality for writing u1, u2 and u4 values as defined by SUN to the class stream. Note that this class assumes that the code is run on a little endian machine as it converts everything to big endian as defined by SUN. If you want to port this code to a big endian architecture this class must be adapted accordingly.
Definition at line 24 of file classwriterbase.hpp.
|
Default constructor. Empty Definition at line 20 of file classwriterbase.cpp. |
|
Default destructor. Empty Definition at line 28 of file classwriterbase.cpp. |
|
Convert an u2 value to big endian.
Definition at line 84 of file classwriterbase.cpp. Referenced by writeu2(). |
|
Convert an u4 value to big endian.
Definition at line 93 of file classwriterbase.cpp. Referenced by writeu4(). |
|
Write an u1 value to the stream. This function is provided for completeness as there is no conversien necessary.
Definition at line 50 of file classwriterbase.cpp. Referenced by ClassEncoder::cp_info::write(), and ClassEncoder::ByteCode::write(). |
|
Write an array to the stream. Writes an array of bytes to the class stream as u1 units.
Definition at line 39 of file classwriterbase.cpp. Referenced by ClassEncoder::Utf8_info::write(). |
|
Write an u2 value to the stream. Converts the number to big endian and writes it to the class stream.
Definition at line 61 of file classwriterbase.cpp. References u2ToBigEndian(). Referenced by ClassEncoder::method_info::write(), ClassEncoder::Utf8_info::write(), ClassEncoder::String_info::write(), ClassEncoder::NameAndType_info::write(), ClassEncoder::Fieldref_info::write(), ClassEncoder::InterfaceMethodref_info::write(), ClassEncoder::Methodref_info::write(), ClassEncoder::Class_info::write(), ClassEncoder::code_attribute::write(), ClassEncoder::Class::write(), and ClassEncoder::attribute_info::write(). |
|
Write an u4 value to the stream. Converts the number to big endian and writes it to the class stream.
Definition at line 73 of file classwriterbase.cpp. References u4ToBigEndian(). Referenced by ClassEncoder::Double_info::write(), ClassEncoder::Long_info::write(), ClassEncoder::Float_info::write(), ClassEncoder::Integer_info::write(), ClassEncoder::code_attribute::write(), ClassEncoder::Class::write(), and ClassEncoder::attribute_info::write(). |