feat(lang): L4 type checker between parse and emit
selfhost/check/ walks every function, the entry, tests, globals' initializers and @On listeners with real scopes, and refuses mixed number kinds, text and numbers, two record types, mismatched slices and fn types, wrong argument counts, wrong returns and wrong push elements - every mix-up at once, each at its line. LUDIC_CHECK_REPORT=1 lists them by category. pointer stays untyped (L7's). What it found is fixed: render3d's HDR scan calling the float-bits extern f_lt with floats; ludic.shooter's right-stick aim overflowing past half a push; prof.ludic storing longs in []int; extern arguments now coerced to their parameters. Text-returning runtime functions say string; Assets.ready says bool. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
0677aee93f
commit
57b66bdf47
52 changed files with 27005 additions and 11844 deletions
|
|
@ -946,7 +946,7 @@ extern function gl_get_doublev(pname: int, params: pointer) = "lgl_GetDoublev"
|
|||
extern function gl_get_error() -> int = "lgl_GetError"
|
||||
extern function gl_get_floatv(pname: int, params: pointer) = "lgl_GetFloatv"
|
||||
extern function gl_get_integerv(pname: int, params: pointer) = "lgl_GetIntegerv"
|
||||
extern function gl_get_string(name: int) -> pointer = "lgl_GetString"
|
||||
extern function gl_get_string(name: int) -> string = "lgl_GetString"
|
||||
extern function gl_get_tex_image(target: int, level: int, format: int, type: int, pixels: pointer) = "lgl_GetTexImage"
|
||||
extern function gl_get_tex_parameterfv(target: int, pname: int, params: pointer) = "lgl_GetTexParameterfv"
|
||||
extern function gl_get_tex_parameteriv(target: int, pname: int, params: pointer) = "lgl_GetTexParameteriv"
|
||||
|
|
@ -1165,7 +1165,7 @@ extern function gl_clear_bufferiv(buffer: int, drawbuffer: int, value: pointer)
|
|||
extern function gl_clear_bufferuiv(buffer: int, drawbuffer: int, value: pointer) = "lgl_ClearBufferuiv"
|
||||
extern function gl_clear_bufferfv(buffer: int, drawbuffer: int, value: pointer) = "lgl_ClearBufferfv"
|
||||
extern function gl_clear_bufferfi(buffer: int, drawbuffer: int, depth: fixed, stencil: int) = "lgl_ClearBufferfi"
|
||||
extern function gl_get_stringi(name: int, index: int) -> pointer = "lgl_GetStringi"
|
||||
extern function gl_get_stringi(name: int, index: int) -> string = "lgl_GetStringi"
|
||||
extern function gl_draw_arrays_instanced(mode: int, first: int, count: int, instancecount: int) = "lgl_DrawArraysInstanced"
|
||||
extern function gl_draw_elements_instanced(mode: int, count: int, type: int, indices: pointer, instancecount: int) = "lgl_DrawElementsInstanced"
|
||||
extern function gl_tex_buffer(target: int, internalformat: int, buffer: int) = "lgl_TexBuffer"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue