diff options
| author | gingerBill <bill@gingerbill.org> | 2021-04-18 19:26:21 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-04-18 19:26:21 +0100 |
| commit | 4282688e6057ba491db8b8d6121c09cd12501094 (patch) | |
| tree | 39e5e978165a3a2549186edfeab13bfbcf81d96a /src/docs_writer.cpp | |
| parent | 9b3fb25a41ad21949c21253e1dae87b162ed400f (diff) | |
Add calling_convention to odin-doc Type format
Diffstat (limited to 'src/docs_writer.cpp')
| -rw-r--r-- | src/docs_writer.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/docs_writer.cpp b/src/docs_writer.cpp index 0ae7487fa..2a975e5d0 100644 --- a/src/docs_writer.cpp +++ b/src/docs_writer.cpp @@ -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: |