mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-18 20:02:22 -07:00
Add calling_convention to odin-doc Type format
This commit is contained in:
@@ -134,6 +134,7 @@ struct OdinDocType {
|
||||
i64 elem_counts[OdinDocType_ElemsCap];
|
||||
|
||||
// Each of these is esed by some types, not all
|
||||
OdinDocString calling_convention;
|
||||
OdinDocArray<OdinDocTypeIndex> types;
|
||||
OdinDocArray<OdinDocEntityIndex> entities;
|
||||
OdinDocTypeIndex polmorphic_params;
|
||||
|
||||
@@ -675,6 +675,33 @@ OdinDocTypeIndex odin_doc_type(OdinDocWriter *w, Type *type) {
|
||||
types[0] = odin_doc_type(w, type->Proc.params);
|
||||
types[1] = odin_doc_type(w, type->Proc.results);
|
||||
doc_type.types = odin_write_slice(w, types, gb_count_of(types));
|
||||
|
||||
String calling_convention = {};
|
||||
switch (type->Proc.calling_convention) {
|
||||
case ProcCC_Invalid:
|
||||
case ProcCC_Odin:
|
||||
// no need
|
||||
break;
|
||||
case ProcCC_Contextless:
|
||||
calling_convention = str_lit("contextless");
|
||||
break;
|
||||
case ProcCC_CDecl:
|
||||
calling_convention = str_lit("cdecl");
|
||||
break;
|
||||
case ProcCC_StdCall:
|
||||
calling_convention = str_lit("stdcall");
|
||||
break;
|
||||
case ProcCC_FastCall:
|
||||
calling_convention = str_lit("fastcall");
|
||||
break;
|
||||
case ProcCC_None:
|
||||
calling_convention = str_lit("none");
|
||||
break;
|
||||
case ProcCC_InlineAsm:
|
||||
calling_convention = str_lit("inline-assembly");
|
||||
break;
|
||||
}
|
||||
doc_type.calling_convention = odin_doc_write_string(w, calling_convention);
|
||||
}
|
||||
break;
|
||||
case Type_BitSet:
|
||||
|
||||
Reference in New Issue
Block a user