Home | History | Annotate | Download | only in dexlayout

Lines Matching refs:orig

34   dex_ir::Collections& orig = orig_header->GetCollections();
38 if (!VerifyIds(orig.StringIds(), output.StringIds(), "string ids", error_msg) ||
39 !VerifyIds(orig.TypeIds(), output.TypeIds(), "type ids", error_msg) ||
40 !VerifyIds(orig.ProtoIds(), output.ProtoIds(), "proto ids", error_msg) ||
41 !VerifyIds(orig.FieldIds(), output.FieldIds(), "field ids", error_msg) ||
42 !VerifyIds(orig.MethodIds(), output.MethodIds(), "method ids", error_msg)) {
46 if (!VerifyClassDefs(orig.ClassDefs(), output.ClassDefs(), error_msg)) {
52 template<class T> bool VerifyIds(std::vector<std::unique_ptr<T>>& orig,
56 if (orig.size() != output.size()) {
58 "Mismatched size for %s section: %zu vs %zu.", section_name, orig.size(), output.size());
61 for (size_t i = 0; i < orig.size(); ++i) {
62 if (!VerifyId(orig[i].get(), output[i].get(), error_msg)) {
69 bool VerifyId(dex_ir::StringId* orig, dex_ir::StringId* output, std::string* error_msg) {
70 if (strcmp(orig->Data(), output->Data()) != 0) {
72 orig->GetIndex(),
73 orig->GetOffset(),
74 orig->Data(),
81 bool VerifyId(dex_ir::TypeId* orig, dex_ir::TypeId* output, std::string* error_msg) {
82 if (orig->GetStringId()->GetIndex() != output->GetStringId()->GetIndex()) {
84 orig->GetIndex(),
85 orig->GetOffset(),
86 orig->GetStringId()->GetIndex(),
93 bool VerifyId(dex_ir::ProtoId* orig, dex_ir::ProtoId* output, std::string* error_msg) {
94 if (orig->Shorty()->GetIndex() != output->Shorty()->GetIndex()) {
96 orig->GetIndex(),
97 orig->GetOffset(),
98 orig->Shorty()->GetIndex(),
102 if (orig->ReturnType()->GetIndex() != output->ReturnType()->GetIndex()) {
104 orig->GetIndex(),
105 orig->GetOffset(),
106 orig->ReturnType()->GetIndex(),
110 if (!VerifyTypeList(orig->Parameters(), output->Parameters())) {
112 orig->GetIndex(),
113 orig->GetOffset());
118 bool VerifyId(dex_ir::FieldId* orig, dex_ir::FieldId* output, std::string* error_msg) {
119 if (orig->Class()->GetIndex() != output->Class()->GetIndex()) {
122 orig->GetIndex(),
123 orig->GetOffset(),
124 orig->Class()->GetIndex(),
128 if (orig->Type()->GetIndex() != output->Type()->GetIndex()) {
130 orig->GetIndex(),
131 orig->GetOffset(),
132 orig->Class()->GetIndex(),
136 if (orig->Name()->GetIndex() != output->Name()->GetIndex()) {
138 orig->GetIndex(),
139 orig->GetOffset(),
140 orig->Name()->GetIndex(),
147 bool VerifyId(dex_ir::MethodId* orig, dex_ir::MethodId* output, std::string* error_msg) {
148 if (orig->Class()->GetIndex() != output->Class()->GetIndex()) {
150 orig->GetIndex(),
151 orig->GetOffset(),
152 orig->Class()->GetIndex(),
156 if (orig->Proto()->GetIndex() != output->Proto()->GetIndex()) {
158 orig->GetIndex(),
159 orig->GetOffset(),
160 orig->Class()->GetIndex(),
164 if (orig->Name()->GetIndex() != output->Name()->GetIndex()) {
167 orig->GetIndex(),
168 orig->GetOffset(),
169 orig->Name()->GetIndex(),
184 bool VerifyClassDefs(std::vector<std::unique_ptr<dex_ir::ClassDef>>& orig,
187 if (orig.size() != output.size()) {
189 "Mismatched size for class defs section: %zu vs %zu.", orig.size(), output.size());
195 for (size_t i = 0; i < orig.size(); ++i) {
196 orig_set.insert(orig[i].get());
211 bool VerifyClassDef(dex_ir::ClassDef* orig, dex_ir::ClassDef* output, std::string* error_msg) {
212 if (orig->ClassType()->GetIndex() != output->ClassType()->GetIndex()) {
215 orig->GetIndex(),
216 orig->GetOffset(),
217 orig->ClassType()->GetIndex(),
221 if (orig->GetAccessFlags() != output->GetAccessFlags()) {
224 orig->GetIndex(),
225 orig->GetOffset(),
226 orig->GetAccessFlags(),
230 uint32_t orig_super = orig->Superclass() == nullptr ? 0 : orig->Superclass()->GetIndex();
235 orig->GetIndex(),
236 orig->GetOffset(),
241 if (!VerifyTypeList(orig->Interfaces(), output->Interfaces())) {
243 orig->GetIndex(),
244 orig->GetOffset());
247 const char* orig_source = orig->SourceFile() == nullptr ? "" : orig->SourceFile()->Data();
251 orig->GetIndex(),
252 orig->GetOffset(),
257 if (!VerifyAnnotationsDirectory(orig->Annotations(), output->Annotations(), error_msg)) {
260 if (!VerifyClassData(orig->GetClassData(), output->GetClassData(), error_msg)) {
263 return VerifyEncodedArray(orig->StaticValues(), output->StaticValues(), error_msg);
266 bool VerifyTypeList(const dex_ir::TypeList* orig, const dex_ir::TypeList* output) {
267 if (orig == nullptr || output == nullptr) {
268 return orig == output;
270 const dex_ir::TypeIdVector* orig_list = orig->GetTypeList();
283 bool VerifyAnnotationsDirectory(dex_ir::AnnotationsDirectoryItem* orig,
286 if (orig == nullptr || output == nullptr) {
287 if (orig != output) {
293 if (!VerifyAnnotationSet(orig->GetClassAnnotation(), output->GetClassAnnotation(), error_msg)) {
296 if (!VerifyFieldAnnotations(orig->GetFieldAnnotations(),
298 orig->GetOffset(),
302 if (!VerifyMethodAnnotations(orig->GetMethodAnnotations(),
304 orig->GetOffset(),
308 return VerifyParameterAnnotations(orig->GetParameterAnnotations(),
310 orig->GetOffset(),
314 bool VerifyFieldAnnotations(dex_ir::FieldAnnotationVector* orig,
318 if (orig == nullptr || output == nullptr) {
319 if (orig != output) {
327 if (orig->size() != output->size()) {
331 orig->size(),
335 for (size_t i = 0; i < orig->size(); ++i) {
336 dex_ir::FieldAnnotation* orig_field = (*orig)[i].get();
355 bool VerifyMethodAnnotations(dex_ir::MethodAnnotationVector* orig,
359 if (orig == nullptr || output == nullptr) {
360 if (orig != output) {
368 if (orig->size() != output->size()) {
372 orig->size(),
376 for (size_t i = 0; i < orig->size(); ++i) {
377 dex_ir::MethodAnnotation* orig_method = (*orig)[i].get();
396 bool VerifyParameterAnnotations(dex_ir::ParameterAnnotationVector* orig,
400 if (orig == nullptr || output == nullptr) {
401 if (orig != output) {
409 orig->size() != output->size()) {
413 orig->size(),
417 for (size_t i = 0; i < orig->size(); ++i) {
418 dex_ir::ParameterAnnotation* orig_param = (*orig)[i].get();
437 bool VerifyAnnotationSetRefList(dex_ir::AnnotationSetRefList* orig,
440 std::vector<dex_ir::AnnotationSetItem*>* orig_items = orig->GetItems();
445 orig->GetOffset(),
458 bool VerifyAnnotationSet(dex_ir::AnnotationSetItem* orig,
461 if (orig == nullptr || output == nullptr) {
462 if (orig != output) {
468 std::vector<dex_ir::AnnotationItem*>* orig_items = orig->GetItems();
472 orig->GetOffset(),
485 bool VerifyAnnotation(dex_ir::AnnotationItem* orig,
488 if (orig->GetVisibility() != output->GetVisibility()) {
490 orig->GetOffset(),
491 orig->GetVisibility(),
495 return VerifyEncodedAnnotation(orig->GetAnnotation(),
497 orig->GetOffset(),
501 bool VerifyEncodedAnnotation(dex_ir::EncodedAnnotation* orig,
505 if (orig->GetType()->GetIndex() != output->GetType()->GetIndex()) {
509 orig->GetType()->GetIndex(),
513 dex_ir::AnnotationElementVector* orig_elements = orig->GetAnnotationElements();
534 bool VerifyAnnotationElement(dex_ir::AnnotationElement* orig,
538 if (orig->GetName()->GetIndex() != output->GetName()->GetIndex()) {
542 orig->GetName()->GetIndex(),
546 return VerifyEncodedValue(orig->GetValue(), output->GetValue(), orig_offset, error_msg);
549 bool VerifyEncodedValue(dex_ir::EncodedValue* orig,
553 if (orig->Type() != output->Type()) {
557 orig->Type(),
561 switch (orig->Type()) {
563 if (orig->GetByte() != output->GetByte()) {
566 orig->GetByte(),
572 if (orig->GetShort() != output->GetShort()) {
575 orig->GetShort(),
581 if (orig->GetChar() != output->GetChar()) {
584 orig->GetChar(),
590 if (orig->GetInt() != output->GetInt()) {
593 orig->GetInt(),
599 if (orig->GetLong() != output->GetLong()) {
603 orig->GetLong(),
610 if (orig->GetInt() != output->GetInt()) {
614 orig->GetInt(),
621 if (orig->GetLong() != output->GetLong()) {
626 orig->GetLong(),
632 if (orig->GetStringId()->GetIndex() != output->GetStringId()->GetIndex()) {
636 orig->GetStringId()->Data(),
642 if (orig->GetTypeId()->GetIndex() != output->GetTypeId()->GetIndex()) {
645 orig->GetTypeId()->GetIndex(),
652 if (orig->GetFieldId()->GetIndex() != output->GetFieldId()->GetIndex()) {
655 orig->GetFieldId()->GetIndex(),
661 if (orig->GetMethodId()->GetIndex() != output->GetMethodId()->GetIndex()) {
665 orig->GetMethodId()->GetIndex(),
671 if (!VerifyEncodedArray(orig->GetEncodedArray(), output->GetEncodedArray(), error_msg)) {
676 if (!VerifyEncodedAnnotation(orig->GetEncodedAnnotation(),
686 if (orig->GetBoolean() != output->GetBoolean()) {
690 orig->GetBoolean(),
701 bool VerifyEncodedArray(dex_ir::EncodedArrayItem* orig,
704 if (orig == nullptr || output == nullptr) {
705 if (orig != output) {
711 dex_ir::EncodedValueVector* orig_vector = orig->GetEncodedValues();
715 orig->GetOffset(),
723 orig->GetOffset(),
731 bool VerifyClassData(dex_ir::ClassData* orig, dex_ir::ClassData* output, std::string* error_msg) {
732 if (orig == nullptr || output == nullptr) {
733 if (orig != output) {
739 if (!VerifyFields(orig->StaticFields(), output->StaticFields(), orig->GetOffset(), error_msg)) {
742 if (!VerifyFields(orig->InstanceFields(),
744 orig->GetOffset(),
748 if (!VerifyMethods(orig->DirectMethods(),
750 orig->GetOffset(),
754 return VerifyMethods(orig->VirtualMethods(),
756 orig->GetOffset(),
760 bool VerifyFields(dex_ir::FieldItemVector* orig,
764 if (orig->size() != output->size()) {
767 orig->size(),
771 for (size_t i = 0; i < orig->size(); ++i) {
772 dex_ir::FieldItem* orig_field = (*orig)[i].get();
793 bool VerifyMethods(dex_ir::MethodItemVector* orig,
797 if (orig->size() != output->size()) {
800 orig->size(),
804 for (size_t i = 0; i < orig->size(); ++i) {
805 dex_ir::MethodItem* orig_method = (*orig)[i].get();
829 orig, dex_ir::CodeItem* output, std::string* error_msg) {
830 if (orig == nullptr || output == nullptr) {
831 if (orig != output) {
837 if (orig->RegistersSize() != output->RegistersSize()) {
839 orig->GetOffset(),
840 orig->RegistersSize(),
844 if (orig->InsSize() != output->InsSize()) {
846 orig->GetOffset(),
847 orig->InsSize(),
851 if (orig->OutsSize() != output->OutsSize()) {
853 orig->GetOffset(),
854 orig->OutsSize(),
858 if (orig->TriesSize() != output->TriesSize()) {
860 orig->GetOffset(),
861 orig->TriesSize(),
865 if (!VerifyDebugInfo(orig->DebugInfo(), output->DebugInfo(), error_msg)) {
868 if (orig->InsnsSize() != output->InsnsSize()) {
870 orig->GetOffset(),
871 orig->InsnsSize(),
875 if (memcmp(orig->Insns(), output->Insns(), orig->InsnsSize()) != 0) {
877 orig->GetOffset());
880 if (!VerifyTries(orig->Tries(), output->Tries(), orig->GetOffset(), error_msg)) {
883 return VerifyHandlers(orig->Handlers(), output->Handlers(), orig->GetOffset(), error_msg);
886 bool VerifyDebugInfo(dex_ir::DebugInfoItem* orig,
889 if (orig == nullptr || output == nullptr) {
890 if (orig != output) {
897 uint32_t orig_size = orig->GetDebugInfoSize();
903 uint8_t* orig_data = orig->GetDebugInfo();
917 bool VerifyTries(dex_ir::TryItemVector* orig,
921 if (orig == nullptr || output == nullptr) {
922 if (orig != output) {
928 if (orig->size() != output->size()) {
931 orig->size(),
935 for (size_t i = 0; i < orig->size(); ++i) {
936 const dex_ir::TryItem* orig_try = (*orig)[i].get();
964 bool VerifyHandlers(dex_ir::CatchHandlerVector* orig,
968 if (orig == nullptr || output == nullptr) {
969 if (orig != output) {
975 if (orig->size() != output->size()) {
979 orig->size(),
983 for (size_t i = 0; i < orig->size(); ++i) {
984 if (!VerifyHandler((*orig)[i].get(), (*output)[i].get(), orig_offset, error_msg)) {
991 bool VerifyHandler(const dex_ir::CatchHandler* orig,
995 dex_ir::TypeAddrPairVector* orig_handlers = orig->GetHandlers();