c/clang:type size
This commit is contained in:
@@ -111,6 +111,8 @@ long long wrap_clang_getArraySize(CXType *arrayTyp) { return clang_getArraySize(
|
|||||||
|
|
||||||
void wrap_clang_Type_getNamedType(CXType *typ, CXType *namedTyp) { *namedTyp = clang_Type_getNamedType(*typ); }
|
void wrap_clang_Type_getNamedType(CXType *typ, CXType *namedTyp) { *namedTyp = clang_Type_getNamedType(*typ); }
|
||||||
|
|
||||||
|
long long wrap_clang_Type_getSizeOf(CXType *typ) { return clang_Type_getSizeOf(*typ); }
|
||||||
|
|
||||||
unsigned wrap_clang_Cursor_isAnonymous(CXCursor *cursor) { return clang_Cursor_isAnonymous(*cursor); }
|
unsigned wrap_clang_Cursor_isAnonymous(CXCursor *cursor) { return clang_Cursor_isAnonymous(*cursor); }
|
||||||
|
|
||||||
unsigned wrap_clang_Cursor_isAnonymousRecordDecl(CXCursor *cursor) {
|
unsigned wrap_clang_Cursor_isAnonymousRecordDecl(CXCursor *cursor) {
|
||||||
|
|||||||
@@ -2148,6 +2148,61 @@ func (t Type) NamedType() (ret Type) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* List the possible error codes for \c clang_Type_getSizeOf,
|
||||||
|
* \c clang_Type_getAlignOf, \c clang_Type_getOffsetOf and
|
||||||
|
* \c clang_Cursor_getOffsetOf.
|
||||||
|
*
|
||||||
|
* A value of this enumeration type can be returned if the target type is not
|
||||||
|
* a valid argument to sizeof, alignof or offsetof.
|
||||||
|
*/
|
||||||
|
type LayoutError c.Int
|
||||||
|
|
||||||
|
const (
|
||||||
|
/**
|
||||||
|
* Type is of kind CXType_Invalid.
|
||||||
|
*/
|
||||||
|
LayoutErrorInvalid LayoutError = -1
|
||||||
|
/**
|
||||||
|
* The type is an incomplete Type.
|
||||||
|
*/
|
||||||
|
LayoutErrorIncomplete LayoutError = -2
|
||||||
|
/**
|
||||||
|
* The type is a dependent Type.
|
||||||
|
*/
|
||||||
|
LayoutErrorDependent LayoutError = -3
|
||||||
|
/**
|
||||||
|
* The type is not a constant size type.
|
||||||
|
*/
|
||||||
|
LayoutErrorNotConstantSize LayoutError = -4
|
||||||
|
/**
|
||||||
|
* The Field name is not valid for this record.
|
||||||
|
*/
|
||||||
|
LayoutErrorInvalidFieldName LayoutError = -5
|
||||||
|
/**
|
||||||
|
* The type is undeduced.
|
||||||
|
*/
|
||||||
|
LayoutErrorUndeduced LayoutError = -6
|
||||||
|
)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the size of a type in bytes as per C++[expr.sizeof] standard.
|
||||||
|
*
|
||||||
|
* If the type declaration is invalid, CXTypeLayoutError_Invalid is returned.
|
||||||
|
* If the type declaration is an incomplete type, CXTypeLayoutError_Incomplete
|
||||||
|
* is returned.
|
||||||
|
* If the type declaration is a dependent type, CXTypeLayoutError_Dependent is
|
||||||
|
* returned.
|
||||||
|
*/
|
||||||
|
// llgo:link (*Type).wrapSizeOf C.wrap_clang_Type_getSizeOf
|
||||||
|
func (t *Type) wrapSizeOf() (ret c.LongLong) {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t Type) SizeOf() (ret c.LongLong) {
|
||||||
|
return t.wrapSizeOf()
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine whether the given cursor represents an anonymous
|
* Determine whether the given cursor represents an anonymous
|
||||||
* tag or namespace
|
* tag or namespace
|
||||||
|
|||||||
Reference in New Issue
Block a user