cinderx 2026.1.16.2__cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. __static__/__init__.py +641 -0
  2. __static__/compiler_flags.py +8 -0
  3. __static__/enum.py +160 -0
  4. __static__/native_utils.py +77 -0
  5. __static__/type_code.py +48 -0
  6. __strict__/__init__.py +39 -0
  7. _cinderx.so +0 -0
  8. cinderx/__init__.py +577 -0
  9. cinderx/__pycache__/__init__.cpython-314.pyc +0 -0
  10. cinderx/_asyncio.py +156 -0
  11. cinderx/compileall.py +710 -0
  12. cinderx/compiler/__init__.py +40 -0
  13. cinderx/compiler/__main__.py +137 -0
  14. cinderx/compiler/config.py +7 -0
  15. cinderx/compiler/consts.py +72 -0
  16. cinderx/compiler/debug.py +70 -0
  17. cinderx/compiler/dis_stable.py +283 -0
  18. cinderx/compiler/errors.py +151 -0
  19. cinderx/compiler/flow_graph_optimizer.py +1287 -0
  20. cinderx/compiler/future.py +91 -0
  21. cinderx/compiler/misc.py +32 -0
  22. cinderx/compiler/opcode_cinder.py +18 -0
  23. cinderx/compiler/opcode_static.py +100 -0
  24. cinderx/compiler/opcodebase.py +158 -0
  25. cinderx/compiler/opcodes.py +991 -0
  26. cinderx/compiler/optimizer.py +547 -0
  27. cinderx/compiler/pyassem.py +3711 -0
  28. cinderx/compiler/pycodegen.py +7660 -0
  29. cinderx/compiler/pysourceloader.py +62 -0
  30. cinderx/compiler/static/__init__.py +1404 -0
  31. cinderx/compiler/static/compiler.py +629 -0
  32. cinderx/compiler/static/declaration_visitor.py +335 -0
  33. cinderx/compiler/static/definite_assignment_checker.py +280 -0
  34. cinderx/compiler/static/effects.py +160 -0
  35. cinderx/compiler/static/module_table.py +666 -0
  36. cinderx/compiler/static/type_binder.py +2176 -0
  37. cinderx/compiler/static/types.py +10580 -0
  38. cinderx/compiler/static/util.py +81 -0
  39. cinderx/compiler/static/visitor.py +91 -0
  40. cinderx/compiler/strict/__init__.py +69 -0
  41. cinderx/compiler/strict/class_conflict_checker.py +249 -0
  42. cinderx/compiler/strict/code_gen_base.py +409 -0
  43. cinderx/compiler/strict/common.py +507 -0
  44. cinderx/compiler/strict/compiler.py +352 -0
  45. cinderx/compiler/strict/feature_extractor.py +130 -0
  46. cinderx/compiler/strict/flag_extractor.py +97 -0
  47. cinderx/compiler/strict/loader.py +827 -0
  48. cinderx/compiler/strict/preprocessor.py +11 -0
  49. cinderx/compiler/strict/rewriter/__init__.py +5 -0
  50. cinderx/compiler/strict/rewriter/remove_annotations.py +84 -0
  51. cinderx/compiler/strict/rewriter/rewriter.py +975 -0
  52. cinderx/compiler/strict/runtime.py +77 -0
  53. cinderx/compiler/symbols.py +1754 -0
  54. cinderx/compiler/unparse.py +414 -0
  55. cinderx/compiler/visitor.py +194 -0
  56. cinderx/jit.py +230 -0
  57. cinderx/opcode.py +202 -0
  58. cinderx/static.py +113 -0
  59. cinderx/strictmodule.py +6 -0
  60. cinderx/test_support.py +341 -0
  61. cinderx-2026.1.16.2.dist-info/METADATA +15 -0
  62. cinderx-2026.1.16.2.dist-info/RECORD +68 -0
  63. cinderx-2026.1.16.2.dist-info/WHEEL +6 -0
  64. cinderx-2026.1.16.2.dist-info/licenses/LICENSE +21 -0
  65. cinderx-2026.1.16.2.dist-info/top_level.txt +5 -0
  66. opcodes/__init__.py +0 -0
  67. opcodes/assign_opcode_numbers.py +272 -0
  68. opcodes/cinderx_opcodes.py +121 -0
@@ -0,0 +1,62 @@
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # pyre-strict
3
+
4
+ import _imp
5
+ import ast
6
+ import importlib
7
+ import os
8
+ import sys
9
+ import zipimport
10
+ from importlib.machinery import (
11
+ BYTECODE_SUFFIXES,
12
+ ExtensionFileLoader,
13
+ FileFinder,
14
+ SOURCE_SUFFIXES,
15
+ SourceFileLoader,
16
+ SourcelessFileLoader,
17
+ )
18
+ from types import CodeType
19
+
20
+ from .pycodegen import compile_code
21
+
22
+
23
+ # pyre-fixme[13]: path inherited but not initialized
24
+ class PySourceFileLoader(SourceFileLoader):
25
+ # pyre-fixme[14]: source_to_code invalid override
26
+ def source_to_code(
27
+ self,
28
+ data: ast.Expression | ast.Interactive | ast.Module | str,
29
+ path: os.PathLike[str] | str,
30
+ *,
31
+ _optimize: int | list[int] = -1,
32
+ ) -> CodeType:
33
+ """Similar to SourceFileLoader.source_to_code
34
+ but use the python based bytecode generator from
35
+ compiler/pycodegen.py
36
+ """
37
+ # pyre-ignore[16]
38
+ return importlib._bootstrap._call_with_frames_removed(
39
+ compile_code, data, path, "exec", optimize=_optimize
40
+ )
41
+
42
+
43
+ def _install_source_loader_helper(source_loader_type: type[PySourceFileLoader]) -> None:
44
+ extensions = ExtensionFileLoader, _imp.extension_suffixes()
45
+ source = source_loader_type, SOURCE_SUFFIXES
46
+ bytecode = SourcelessFileLoader, BYTECODE_SUFFIXES
47
+ supported_loaders = [extensions, source, bytecode]
48
+ sys.path_hooks[:] = [
49
+ zipimport.zipimporter,
50
+ FileFinder.path_hook(*supported_loaders),
51
+ ]
52
+ sys.path_importer_cache.clear()
53
+
54
+
55
+ def _install_py_loader() -> None:
56
+ _install_source_loader_helper(PySourceFileLoader)
57
+
58
+
59
+ def _install_strict_loader(enable_patching: bool) -> None:
60
+ from .strict.loader import install
61
+
62
+ install(enable_patching)