7 #ifndef RETDEC_FILEFORMAT_TYPES_DOTNET_TYPES_DOTNET_DATA_TYPES_H
8 #define RETDEC_FILEFORMAT_TYPES_DOTNET_TYPES_DOTNET_DATA_TYPES_H
11 #include <unordered_map>
84 template <ElementType Type>
90 virtual std::string
getText()
const override
92 static const std::unordered_map<ElementType, std::string, retdec::utils::EnumClassKeyHash> typeNames =
114 auto itr = typeNames.find(Type);
115 if (itr == typeNames.end())
131 virtual std::string
getText()
const override;
145 virtual std::string
getText()
const override;
159 virtual std::string
getText()
const override;
173 virtual std::string
getText()
const override;
187 virtual std::string
getText()
const override;
197 std::vector<std::pair<std::int64_t, std::int64_t>>
dimensions;
199 DotnetDataType(std::unique_ptr<DotnetDataTypeBase>&& arrayUnderlyingType, std::vector<std::pair<std::int64_t, std::int64_t>>&& arrayDimensions)
202 virtual std::string
getText()
const override;
205 const std::vector<std::pair<std::int64_t, std::int64_t>>&
getDimensions()
const {
return dimensions; }
212 std::unique_ptr<DotnetDataTypeBase>
type;
215 DotnetDataType(std::unique_ptr<DotnetDataTypeBase>&& instType, std::vector<std::unique_ptr<DotnetDataTypeBase>>&& instGenericTypes)
218 virtual std::string
getText()
const override;
222 const std::vector<std::unique_ptr<DotnetDataTypeBase>>&
getGenericTypes()
const {
return genericTypes; }
232 DotnetDataType(std::unique_ptr<DotnetDataTypeBase>&& fnReturnType, std::vector<std::unique_ptr<DotnetDataTypeBase>>&& fnParamTypes)
235 virtual std::string
getText()
const override;
238 const std::vector<std::unique_ptr<DotnetDataTypeBase>>&
getParameterTypes()
const {
return paramTypes; }
250 virtual std::string
getText()
const override;
264 virtual std::string
getText()
const override;
274 std::unique_ptr<DotnetDataTypeBase>
type;
279 virtual std::string
getText()
const override;
290 std::unique_ptr<DotnetDataTypeBase>
type;
295 virtual std::string
getText()
const override;
Definition: archive_wrapper.h:19