IncludeCPP 4.3.0__py3-none-any.whl → 4.5.2__py3-none-any.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 (30) hide show
  1. includecpp/CHANGELOG.md +22 -0
  2. includecpp/__init__.py +1 -1
  3. includecpp/__init__.pyi +1 -4
  4. includecpp/cli/commands.py +1218 -25
  5. includecpp/core/cpp_api_extensions.pyi +204 -200
  6. includecpp/core/cssl/__init__.py +317 -0
  7. includecpp/core/cssl/cpp/build/api.pyd +0 -0
  8. includecpp/core/cssl/cpp/build/cssl_core.pyi +323 -0
  9. includecpp/core/cssl/cpp/build/libgcc_s_seh-1.dll +0 -0
  10. includecpp/core/cssl/cpp/build/libstdc++-6.dll +0 -0
  11. includecpp/core/cssl/cpp/build/libwinpthread-1.dll +0 -0
  12. includecpp/core/cssl/cpp/cssl_core.cp +108 -0
  13. includecpp/core/cssl/cpp/cssl_lexer.hpp +280 -0
  14. includecpp/core/cssl/cssl_builtins.py +142 -27
  15. includecpp/core/cssl/cssl_compiler.py +448 -0
  16. includecpp/core/cssl/cssl_optimizer.py +833 -0
  17. includecpp/core/cssl/cssl_parser.py +433 -38
  18. includecpp/core/cssl/cssl_runtime.py +294 -15
  19. includecpp/core/cssl/cssl_syntax.py +17 -0
  20. includecpp/core/cssl/cssl_types.py +143 -11
  21. includecpp/core/cssl_bridge.py +36 -2
  22. includecpp/generator/parser.cpp +38 -14
  23. includecpp/vscode/cssl/package.json +15 -0
  24. includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json +96 -0
  25. {includecpp-4.3.0.dist-info → includecpp-4.5.2.dist-info}/METADATA +1 -1
  26. {includecpp-4.3.0.dist-info → includecpp-4.5.2.dist-info}/RECORD +30 -21
  27. {includecpp-4.3.0.dist-info → includecpp-4.5.2.dist-info}/WHEEL +0 -0
  28. {includecpp-4.3.0.dist-info → includecpp-4.5.2.dist-info}/entry_points.txt +0 -0
  29. {includecpp-4.3.0.dist-info → includecpp-4.5.2.dist-info}/licenses/LICENSE +0 -0
  30. {includecpp-4.3.0.dist-info → includecpp-4.5.2.dist-info}/top_level.txt +0 -0
includecpp/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # IncludeCPP Changelog
2
2
 
3
+ ## v4.3.2 (2026-01-08)
4
+
5
+ ### New Features
6
+ - `embedded` keyword now supports enums: `embedded NewName &OldEnum { ... }`
7
+ - Enum values can be any expression (strings, numbers, etc.)
8
+ - `bytearrayed` list pattern matching: `case { ["read", "write"] }` matches list return values
9
+ - `bytearrayed` function references with parameters: `&checkAccess(10);`
10
+ - `bytearrayed` simulation mode: analyzes return values without executing function body (no side effects)
11
+ - `bytearrayed` now correctly handles conditional return paths (if/else)
12
+
13
+ ### Bug Fixes
14
+ - Fixed `global` variables in namespaced payloads not being accessible via `@`
15
+ - Fixed `@module.function()` calls on `include()` results (ServiceDefinition support)
16
+ - Fixed `bytearrayed` case body return statements (CSSLReturn exception handling)
17
+ - Fixed embedded open define syntax: both `open embedded define` and `embedded open define` now work
18
+ - Fixed `switch(variable)` with param conditions: auto-detects param_switch when case uses `&` or `not`
19
+ - Fixed `bytearrayed` pattern parsing for boolean values (`true`/`false`)
20
+ - Enhanced param_switch conditions: `a & b`, `a & not b`, `a || b`, `a & !b` all supported
21
+ - param_switch now checks both kwargs AND OpenFind variables (positional args work with `case text:`)
22
+
23
+ ---
24
+
3
25
  ## v4.3.0 (2026-01-08)
4
26
 
5
27
  ### New Features
includecpp/__init__.py CHANGED
@@ -2,7 +2,7 @@ from .core.cpp_api import CppApi
2
2
  from .core import cssl_bridge as CSSL
3
3
  import warnings
4
4
 
5
- __version__ = "4.3.0"
5
+ __version__ = "4.5.2"
6
6
  __all__ = ["CppApi", "CSSL"]
7
7
 
8
8
  # Module-level cache for C++ modules
includecpp/__init__.pyi CHANGED
@@ -147,10 +147,7 @@ __version__: str
147
147
  # Dynamic module access via: from includecpp import <module_name>
148
148
  # Auto-generated module declarations
149
149
  # These allow: from includecpp import <module_name>
150
- fast_list: Fast_listModuleWrapper
151
- game_math: Game_mathModuleWrapper
152
- solar_system: Solar_systemModuleWrapper
153
- templates: TemplatesModuleWrapper
150
+ cssl_core: Cssl_coreModuleWrapper
154
151
 
155
152
  def __dir__() -> List[str]:
156
153
  """List available modules including dynamically loaded C++ modules."""