| # Builtins stubs used implicitly in program transformation test cases. | |
| class object: | |
| def __init__(self) -> None: pass | |
| class type: pass | |
| # str is handy for debugging; allows outputting messages. | |
| class str: pass | |
| # Primitive types int/float have special coercion behaviour (they may have | |
| # a different representation from ordinary values). | |
| class int: pass | |
| class float: pass | |
| # The functions below are special functions used in test cases; their | |
| # implementations are actually in the __dynchk module, but they are defined | |
| # here so that the semantic analyzer and the type checker are happy without | |
| # having to analyze the entire __dynchk module all the time. | |
| # | |
| # The transformation implementation has special case handling for these | |
| # functions; it's a bit ugly but it works for now. | |
| def __print(a1=None, a2=None, a3=None, a4=None): | |
| # Do not use *args since this would require list and break many test | |
| # cases. | |
| pass | |
| class dict: pass |