#include <native_type.h>
Definition at line 221 of file native_type.h.
◆ NativePrimitiveType()
dart::compiler::ffi::NativePrimitiveType::NativePrimitiveType |
( |
PrimitiveType |
rep | ) |
|
|
inlineexplicit |
◆ ~NativePrimitiveType()
virtual dart::compiler::ffi::NativePrimitiveType::~NativePrimitiveType |
( |
| ) |
|
|
inlinevirtual |
◆ AlignmentInBytesField()
intptr_t dart::compiler::ffi::NativePrimitiveType::AlignmentInBytesField |
( |
| ) |
const |
|
virtual |
Implements dart::compiler::ffi::NativeType.
Definition at line 174 of file native_type.cc.
174 {
177
180
181
183 return 4;
184 }
186 }
187 default:
189 }
190}
static constexpr AlignmentStrategy kFieldAlignment
virtual intptr_t SizeInBytes() const
@ kAlignedToValueSizeBut8AlignedTo4
#define UNREACHABLE_THIS()
◆ AlignmentInBytesStack()
intptr_t dart::compiler::ffi::NativePrimitiveType::AlignmentInBytesStack |
( |
bool |
is_vararg = false | ) |
const |
|
virtual |
Implements dart::compiler::ffi::NativeType.
Definition at line 154 of file native_type.cc.
154 {
155 const auto alignment =
158 switch (alignment) {
160
161 return compiler::target::kWordSize;
163
165 static_cast<intptr_t>(compiler::target::kWordSize));
167
169 default:
171 }
172}
static constexpr AlignmentStrategy kArgumentStackAlignmentVarArgs
static constexpr AlignmentStrategy kArgumentStackAlignment
static constexpr T Maximum(T x, T y)
@ kAlignedToWordSizeAndValueSize
◆ AsRepresentation()
Representation dart::compiler::ffi::NativePrimitiveType::AsRepresentation |
( |
| ) |
const |
|
virtual |
Reimplemented from dart::compiler::ffi::NativeType.
Definition at line 313 of file native_type.cc.
313 {
315 switch (representation_) {
317 return kUnboxedInt8;
319 return kUnboxedUint8;
321 return kUnboxedInt16;
323 return kUnboxedUint16;
325 return kUnboxedInt32;
327 return kUnboxedUint32;
330 return kUnboxedInt64;
332 return kUnboxedFloat;
334 return kUnboxedDouble;
337 default:
339 }
340}
virtual bool IsExpressibleAsRepresentation() const
static constexpr Representation kUnboxedIntPtr
◆ ContainsOnlyFloats()
bool dart::compiler::ffi::NativePrimitiveType::ContainsOnlyFloats |
( |
Range |
range | ) |
const |
|
virtual |
◆ ContainsUnalignedMembers()
bool dart::compiler::ffi::NativePrimitiveType::ContainsUnalignedMembers |
( |
intptr_t |
offset = 0 | ) |
const |
|
virtual |
◆ Equals()
bool dart::compiler::ffi::NativePrimitiveType::Equals |
( |
const NativeType & |
other | ) |
const |
|
virtual |
◆ FirstPrimitiveMember()
const NativePrimitiveType & dart::compiler::ffi::NativePrimitiveType::FirstPrimitiveMember |
( |
| ) |
const |
|
virtual |
◆ IsExpressibleAsRepresentation()
bool dart::compiler::ffi::NativePrimitiveType::IsExpressibleAsRepresentation |
( |
| ) |
const |
|
virtual |
◆ IsFloat()
bool dart::compiler::ffi::NativePrimitiveType::IsFloat |
( |
| ) |
const |
|
virtual |
◆ IsInt()
bool dart::compiler::ffi::NativePrimitiveType::IsInt |
( |
| ) |
const |
|
virtual |
◆ IsPrimitive()
virtual bool dart::compiler::ffi::NativePrimitiveType::IsPrimitive |
( |
| ) |
const |
|
inlinevirtual |
◆ IsSigned()
bool dart::compiler::ffi::NativePrimitiveType::IsSigned |
( |
| ) |
const |
|
virtual |
◆ IsVoid()
bool dart::compiler::ffi::NativePrimitiveType::IsVoid |
( |
| ) |
const |
|
virtual |
◆ NumPrimitiveMembersRecursive()
intptr_t dart::compiler::ffi::NativePrimitiveType::NumPrimitiveMembersRecursive |
( |
| ) |
const |
|
virtual |
◆ PrimitivePairMembers()
◆ PrintTo()
void dart::compiler::ffi::NativePrimitiveType::PrintTo |
( |
BaseTextBuffer * |
f, |
|
|
bool |
multi_line = false , |
|
|
bool |
verbose = true |
|
) |
| const |
|
virtual |
◆ representation()
PrimitiveType dart::compiler::ffi::NativePrimitiveType::representation |
( |
| ) |
const |
|
inline |
◆ SizeInBytes()
intptr_t dart::compiler::ffi::NativePrimitiveType::SizeInBytes |
( |
| ) |
const |
|
virtual |
◆ Split()
Reimplemented from dart::compiler::ffi::NativeType.
Definition at line 396 of file native_type.cc.
397 {
398 ASSERT(index == 0 || index == 1);
401}
PrimitiveType representation() const
NativePrimitiveType(PrimitiveType rep)
static PrimitiveType split_fundamental(PrimitiveType in)
The documentation for this class was generated from the following files: