|
8 | 8 | #include "JavaObject/type/object/ObjectTypeCodeParser.h" |
9 | 9 |
|
10 | 10 | #include "JavaObject/type/object/parsers/ArrayObjectParser.h" |
| 11 | +#include "JavaObject/type/object/parsers/ClassObjectParser.h" |
11 | 12 |
|
12 | 13 | #include <cassert> |
13 | 14 | #include <format> |
|
23 | 24 | #include <istream> |
24 | 25 |
|
25 | 26 | #include "JavaObject/type/object/parsers/EndBlockDataObjectParser.h" |
| 27 | +#include "JavaObject/type/object/parsers/ExceptionObjectParser.h" |
26 | 28 | #include "JavaObject/type/object/parsers/LongBlockDataObjectParser.h" |
27 | 29 | #include "JavaObject/type/object/parsers/NullObjectParser.h" |
| 30 | +#include "JavaObject/type/object/parsers/ResetObjectParser.h" |
28 | 31 | #include "JavaObject/type/object/parsers/ShortBlockDataObjectParser.h" |
29 | 32 |
|
30 | 33 | namespace javaobject::type::object { |
31 | 34 | ObjectTypeCodeParser::ObjectTypeCodeParser(std::istream &input, HandleContainer &handleContainer, TypeCodeParserStorage &parserStorage) : ITypeCodeParser(input, handleContainer), ITypeCodeParserStorageHolder(parserStorage) { |
32 | 35 | this->m_parsers[EObjectTypeCode::TC_STRING] = std::make_unique<object::parsers::StringParser>(); |
33 | 36 | this->m_parsers[EObjectTypeCode::TC_OBJECT] = std::make_unique<object::parsers::ObjectParser>(); |
34 | 37 | this->m_parsers[EObjectTypeCode::TC_CLASSDESC] = std::make_unique<object::parsers::descriptor::NewClassDescriptorParser>(); |
| 38 | + this->m_parsers[EObjectTypeCode::TC_CLASS] = std::make_unique<object::parsers::ClassObjectParser>(); |
35 | 39 | this->m_parsers[EObjectTypeCode::TC_REFERENCE] = std::make_unique<object::parsers::ReferenceParser>(); |
36 | 40 | this->m_parsers[EObjectTypeCode::TC_ENDBLOCKDATA] = std::make_unique<object::parsers::EndBlockDataObjectParser>(); |
37 | 41 | this->m_parsers[EObjectTypeCode::TC_BLOCKDATA] = std::make_unique<object::parsers::ShortBlockDataObjectParser>(); |
38 | 42 | this->m_parsers[EObjectTypeCode::TC_BLOCKDATALONG] = std::make_unique<object::parsers::LongBlockDataObjectParser>(); |
39 | 43 | this->m_parsers[EObjectTypeCode::TC_NULL] = std::make_unique<parsers::NullObjectParser>(); |
40 | 44 | this->m_parsers[EObjectTypeCode::TC_ARRAY] = std::make_unique<parsers::ArrayObjectParser>(); |
| 45 | + this->m_parsers[EObjectTypeCode::TC_RESET] = std::make_unique<parsers::ResetObjectParser>(); |
| 46 | + this->m_parsers[EObjectTypeCode::TC_EXCEPTION] = std::make_unique<parsers::ExceptionObjectParser>(); |
41 | 47 | } |
42 | 48 |
|
43 | 49 | std::shared_ptr<IObject> ObjectTypeCodeParser::readUsingTypeCode(const EObjectTypeCode &typecode) { |
|
0 commit comments