From 830cb37c4a4acc09284b89fc46a0ebe41886ec49 Mon Sep 17 00:00:00 2001 From: Ivan Krysak Date: Wed, 24 May 2023 14:15:53 +0300 Subject: [PATCH] Model: add `Comment` field all across the board --- include/revng/Model/Argument.h | 3 +++ include/revng/Model/DynamicFunction.h | 3 +++ include/revng/Model/EnumEntry.h | 3 +++ include/revng/Model/Function.h | 3 +++ include/revng/Model/NamedTypedRegister.h | 3 +++ include/revng/Model/Segment.h | 3 +++ include/revng/Model/StructField.h | 3 +++ include/revng/Model/Type.h | 3 +++ include/revng/Model/TypedRegister.h | 3 +++ include/revng/Model/UnionField.h | 3 +++ lib/Model/Importer/Binary/SegmentImportHelpers.h | 2 +- lib/Model/Type.cpp | 6 ++++-- 12 files changed, 35 insertions(+), 3 deletions(-) diff --git a/include/revng/Model/Argument.h b/include/revng/Model/Argument.h index c38809d7a..33fb64c7b 100644 --- a/include/revng/Model/Argument.h +++ b/include/revng/Model/Argument.h @@ -26,6 +26,9 @@ fields: - name: OriginalName type: string optional: true + - name: Comment + type: string + optional: true key: - Index TUPLE-TREE-YAML */ diff --git a/include/revng/Model/DynamicFunction.h b/include/revng/Model/DynamicFunction.h index ac7532e93..c2009f655 100644 --- a/include/revng/Model/DynamicFunction.h +++ b/include/revng/Model/DynamicFunction.h @@ -21,6 +21,9 @@ fields: - name: OriginalName doc: The name of the symbol for this dynamic function type: string + - name: Comment + type: string + optional: true - name: Prototype doc: The prototype of the function reference: diff --git a/include/revng/Model/EnumEntry.h b/include/revng/Model/EnumEntry.h index 19434182c..d1853668a 100644 --- a/include/revng/Model/EnumEntry.h +++ b/include/revng/Model/EnumEntry.h @@ -21,6 +21,9 @@ fields: - name: OriginalName type: string optional: true + - name: Comment + type: string + optional: true key: - Value TUPLE-TREE-YAML */ diff --git a/include/revng/Model/Function.h b/include/revng/Model/Function.h index 25ae44cff..1454c0f15 100644 --- a/include/revng/Model/Function.h +++ b/include/revng/Model/Function.h @@ -34,6 +34,9 @@ fields: - name: OriginalName type: string optional: true + - name: Comment + type: string + optional: true - name: StackFrameType doc: The type of the stack frame reference: diff --git a/include/revng/Model/NamedTypedRegister.h b/include/revng/Model/NamedTypedRegister.h index 38986342e..401821b00 100644 --- a/include/revng/Model/NamedTypedRegister.h +++ b/include/revng/Model/NamedTypedRegister.h @@ -24,6 +24,9 @@ fields: - name: OriginalName type: Identifier optional: true + - name: Comment + type: string + optional: true key: - Location TUPLE-TREE-YAML */ diff --git a/include/revng/Model/Segment.h b/include/revng/Model/Segment.h index d649b3a09..0eda68a4b 100644 --- a/include/revng/Model/Segment.h +++ b/include/revng/Model/Segment.h @@ -36,6 +36,9 @@ fields: - name: OriginalName type: string optional: true + - name: Comment + type: string + optional: true - name: CanonicalRegisterValues optional: true sequence: diff --git a/include/revng/Model/StructField.h b/include/revng/Model/StructField.h index 4101e48b6..7fae6ad39 100644 --- a/include/revng/Model/StructField.h +++ b/include/revng/Model/StructField.h @@ -22,6 +22,9 @@ fields: - name: OriginalName type: string optional: true + - name: Comment + type: string + optional: true - name: Type type: QualifiedType key: diff --git a/include/revng/Model/Type.h b/include/revng/Model/Type.h index 18c7ec56d..b8fab405a 100644 --- a/include/revng/Model/Type.h +++ b/include/revng/Model/Type.h @@ -36,6 +36,9 @@ fields: - name: OriginalName type: string optional: true + - name: Comment + type: string + optional: true key: - Kind - ID diff --git a/include/revng/Model/TypedRegister.h b/include/revng/Model/TypedRegister.h index e6cd5b537..114c11627 100644 --- a/include/revng/Model/TypedRegister.h +++ b/include/revng/Model/TypedRegister.h @@ -16,6 +16,9 @@ fields: type: Register - name: Type type: QualifiedType + - name: Comment + type: string + optional: true key: - Location TUPLE-TREE-YAML */ diff --git a/include/revng/Model/UnionField.h b/include/revng/Model/UnionField.h index 9a4c01fb4..779835317 100644 --- a/include/revng/Model/UnionField.h +++ b/include/revng/Model/UnionField.h @@ -22,6 +22,9 @@ fields: - name: OriginalName type: string optional: true + - name: Comment + type: string + optional: true - name: Type type: QualifiedType key: diff --git a/lib/Model/Importer/Binary/SegmentImportHelpers.h b/lib/Model/Importer/Binary/SegmentImportHelpers.h index 9776debae..44c6988b7 100644 --- a/lib/Model/Importer/Binary/SegmentImportHelpers.h +++ b/lib/Model/Importer/Binary/SegmentImportHelpers.h @@ -61,7 +61,7 @@ populateSegmentTypeStruct(model::Binary &Binary, FieldType = { T, { { model::QualifierKind::Array, Size } } }; } - model::StructField Field{ *Offset, {}, Name.str(), FieldType }; + model::StructField Field{ *Offset, {}, Name.str(), {}, FieldType }; if (!checkForOverlap(*Struct, Field)) { // Discard any symbols that would overlap an already existing one. const auto &[_, Success] = Struct->Fields().insert(Field); diff --git a/lib/Model/Type.cpp b/lib/Model/Type.cpp index 218cae71a..6b9022d96 100644 --- a/lib/Model/Type.cpp +++ b/lib/Model/Type.cpp @@ -522,7 +522,8 @@ PrimitiveType::PrimitiveType(PrimitiveTypeKind::Values PrimitiveKind, PrimitiveType(AssociatedKind, makePrimitiveID(PrimitiveKind, Size), {}, - "", + {}, + {}, PrimitiveKind, Size) { } @@ -539,7 +540,8 @@ PrimitiveType::PrimitiveType(uint64_t ID) : PrimitiveType(AssociatedKind, ID, {}, - "", + {}, + {}, getPrimitiveKind(ID), getPrimitiveSize(ID)) { }