1
0
mirror of https://github.com/exaloop/codon.git synced 2025-06-03 15:03:52 +08:00
codon/stdlib/internal/static.codon
Ibrahim Numanagić 47a2745f06
Better Jupyter support & Polymorphism improvements (#363)
* Remove vtables from objects (use __id__ only); Add static itemgetter

* Migrate to XEUS 3

* Fix XEUS patches

* Fix docs [skip ci]

* Use tuples for RTTI classes

* clang-format

* Add polymorphic to IR RefType

* Pass isPolymorphic to IR

* Update codegen for new poly ref types

* New RTTI memory layout; Fix #346

* Ellipsis class; handle ellipses

* Move all generated magics to Codon (__magic__)

* Fix vars_types

* Update polymorphic setter

* Fix compiler warnings

* Fix pyext assert

* Update ellipsis

* Update pure/derives tags

* Update dataclass order magics

* Add pure/derives tags

* Fix partial printing

* Add extra tuple test

---------

Co-authored-by: A. R. Shajii <ars@ars.me>
2023-05-10 09:28:25 -04:00

43 lines
795 B
Python

# Copyright (C) 2022-2023 Exaloop Inc. <https://exaloop.io>
# Methods for static reflection. Implemented within call.cpp and/or loops.cpp.
# !! Not intended for public use !!
def fn_overloads(T: type, F: Static[str]):
pass
def fn_args(F): # function: (i, name)
pass
def fn_arg_has_type(F, i: Static[int]):
pass
def fn_arg_get_type(F, i: Static[int]):
pass
def fn_can_call(F, *args, **kwargs):
pass
def fn_wrap_call_args(F, *args, **kwargs):
pass
def fn_has_default(F, i: Static[int]):
pass
def fn_get_default(F, i: Static[int]):
pass
@no_type_wrap
def static_print(*args):
pass
def vars(obj, with_index: Static[int] = 0):
pass
def vars_types(T: type, with_index: Static[int] = 0):
pass
def tuple_type(T: type, N: Static[int]):
pass