Add function for creating derived array types.
This commit is contained in:
@@ -104,6 +104,15 @@ Type::CreateDerivedAddressType(address_type_kind kind,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
status_t
|
||||||
|
Type::CreateDerivedArrayType(uint64 elementCount,
|
||||||
|
bool extendExisting, ArrayType*& _resultType)
|
||||||
|
{
|
||||||
|
_resultType = NULL;
|
||||||
|
return B_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// #pragma mark - PrimitiveType
|
// #pragma mark - PrimitiveType
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -60,6 +60,7 @@ enum {
|
|||||||
|
|
||||||
class AddressType;
|
class AddressType;
|
||||||
class ArrayIndexPath;
|
class ArrayIndexPath;
|
||||||
|
class ArrayType;
|
||||||
class BString;
|
class BString;
|
||||||
class Type;
|
class Type;
|
||||||
class ValueLocation;
|
class ValueLocation;
|
||||||
@@ -135,11 +136,21 @@ public:
|
|||||||
// if requested)
|
// if requested)
|
||||||
|
|
||||||
|
|
||||||
// TODO: also need the ability to derive array types
|
|
||||||
virtual status_t CreateDerivedAddressType(
|
virtual status_t CreateDerivedAddressType(
|
||||||
address_type_kind kind,
|
address_type_kind kind,
|
||||||
AddressType*& _resultType);
|
AddressType*& _resultType);
|
||||||
|
|
||||||
|
virtual status_t CreateDerivedArrayType(
|
||||||
|
uint64 elementCount,
|
||||||
|
bool extendExisting,
|
||||||
|
// if the current object is already
|
||||||
|
// an array type, attach an extra
|
||||||
|
// dimension to it rather than
|
||||||
|
// creating a new encapsulating
|
||||||
|
// type object
|
||||||
|
ArrayType*& _resultType);
|
||||||
|
|
||||||
|
|
||||||
virtual status_t ResolveObjectDataLocation(
|
virtual status_t ResolveObjectDataLocation(
|
||||||
const ValueLocation& objectLocation,
|
const ValueLocation& objectLocation,
|
||||||
ValueLocation*& _location) = 0;
|
ValueLocation*& _location) = 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user