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.
- __static__/__init__.py +641 -0
- __static__/compiler_flags.py +8 -0
- __static__/enum.py +160 -0
- __static__/native_utils.py +77 -0
- __static__/type_code.py +48 -0
- __strict__/__init__.py +39 -0
- _cinderx.so +0 -0
- cinderx/__init__.py +577 -0
- cinderx/__pycache__/__init__.cpython-314.pyc +0 -0
- cinderx/_asyncio.py +156 -0
- cinderx/compileall.py +710 -0
- cinderx/compiler/__init__.py +40 -0
- cinderx/compiler/__main__.py +137 -0
- cinderx/compiler/config.py +7 -0
- cinderx/compiler/consts.py +72 -0
- cinderx/compiler/debug.py +70 -0
- cinderx/compiler/dis_stable.py +283 -0
- cinderx/compiler/errors.py +151 -0
- cinderx/compiler/flow_graph_optimizer.py +1287 -0
- cinderx/compiler/future.py +91 -0
- cinderx/compiler/misc.py +32 -0
- cinderx/compiler/opcode_cinder.py +18 -0
- cinderx/compiler/opcode_static.py +100 -0
- cinderx/compiler/opcodebase.py +158 -0
- cinderx/compiler/opcodes.py +991 -0
- cinderx/compiler/optimizer.py +547 -0
- cinderx/compiler/pyassem.py +3711 -0
- cinderx/compiler/pycodegen.py +7660 -0
- cinderx/compiler/pysourceloader.py +62 -0
- cinderx/compiler/static/__init__.py +1404 -0
- cinderx/compiler/static/compiler.py +629 -0
- cinderx/compiler/static/declaration_visitor.py +335 -0
- cinderx/compiler/static/definite_assignment_checker.py +280 -0
- cinderx/compiler/static/effects.py +160 -0
- cinderx/compiler/static/module_table.py +666 -0
- cinderx/compiler/static/type_binder.py +2176 -0
- cinderx/compiler/static/types.py +10580 -0
- cinderx/compiler/static/util.py +81 -0
- cinderx/compiler/static/visitor.py +91 -0
- cinderx/compiler/strict/__init__.py +69 -0
- cinderx/compiler/strict/class_conflict_checker.py +249 -0
- cinderx/compiler/strict/code_gen_base.py +409 -0
- cinderx/compiler/strict/common.py +507 -0
- cinderx/compiler/strict/compiler.py +352 -0
- cinderx/compiler/strict/feature_extractor.py +130 -0
- cinderx/compiler/strict/flag_extractor.py +97 -0
- cinderx/compiler/strict/loader.py +827 -0
- cinderx/compiler/strict/preprocessor.py +11 -0
- cinderx/compiler/strict/rewriter/__init__.py +5 -0
- cinderx/compiler/strict/rewriter/remove_annotations.py +84 -0
- cinderx/compiler/strict/rewriter/rewriter.py +975 -0
- cinderx/compiler/strict/runtime.py +77 -0
- cinderx/compiler/symbols.py +1754 -0
- cinderx/compiler/unparse.py +414 -0
- cinderx/compiler/visitor.py +194 -0
- cinderx/jit.py +230 -0
- cinderx/opcode.py +202 -0
- cinderx/static.py +113 -0
- cinderx/strictmodule.py +6 -0
- cinderx/test_support.py +341 -0
- cinderx-2026.1.16.2.dist-info/METADATA +15 -0
- cinderx-2026.1.16.2.dist-info/RECORD +68 -0
- cinderx-2026.1.16.2.dist-info/WHEEL +6 -0
- cinderx-2026.1.16.2.dist-info/licenses/LICENSE +21 -0
- cinderx-2026.1.16.2.dist-info/top_level.txt +5 -0
- opcodes/__init__.py +0 -0
- opcodes/assign_opcode_numbers.py +272 -0
- 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)
|