| // Copyright 2009 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| * Runtime type representation; master is type.go |
| * The Type*s here correspond 1-1 to type.go's *rtype. |
| typedef struct Type Type; |
| typedef struct UncommonType UncommonType; |
| typedef struct InterfaceType InterfaceType; |
| typedef struct Method Method; |
| typedef struct IMethod IMethod; |
| typedef struct SliceType SliceType; |
| typedef struct FuncType FuncType; |
| typedef struct PtrType PtrType; |
| // Needs to be in sync with typekind.h/CommonSize |
| Type *bucket; // internal type representing a hash bucket |
| Type *hmap; // internal type representing a Hmap |
| // Here instead of in runtime.h because it uses the type names. |
| bool runtime·addfinalizer(void*, FuncVal *fn, uintptr, Type*, PtrType*); |
| bool runtime·getfinalizer(void *p, bool del, FuncVal **fn, uintptr *nret, Type**, PtrType**); |