IncludeCPP 3.8.5__py3-none-any.whl → 3.8.6__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.
- includecpp/__init__.py +1 -1
- includecpp/core/cssl/CSSL_DOCUMENTATION.md +1 -1
- includecpp/core/cssl/cssl_parser.py +51 -2
- includecpp/core/cssl/cssl_runtime.py +4 -0
- {includecpp-3.8.5.dist-info → includecpp-3.8.6.dist-info}/METADATA +1 -1
- {includecpp-3.8.5.dist-info → includecpp-3.8.6.dist-info}/RECORD +10 -10
- {includecpp-3.8.5.dist-info → includecpp-3.8.6.dist-info}/WHEEL +0 -0
- {includecpp-3.8.5.dist-info → includecpp-3.8.6.dist-info}/entry_points.txt +0 -0
- {includecpp-3.8.5.dist-info → includecpp-3.8.6.dist-info}/licenses/LICENSE +0 -0
- {includecpp-3.8.5.dist-info → includecpp-3.8.6.dist-info}/top_level.txt +0 -0
includecpp/__init__.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# CSSL - C-Style Scripting Language
|
|
2
2
|
|
|
3
|
-
> Version 3.8.
|
|
3
|
+
> Version 3.8.6 | A modern scripting language with C++-style syntax and unique features like CodeInfusion, BruteInjection, and Python Interop.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -1591,6 +1591,54 @@ class CSSLParser:
|
|
|
1591
1591
|
# Just method name, no class qualifier
|
|
1592
1592
|
return class_ref
|
|
1593
1593
|
|
|
1594
|
+
def _parse_parameter_list(self) -> list:
|
|
1595
|
+
"""Parse a list of parameters (without the surrounding parentheses).
|
|
1596
|
+
|
|
1597
|
+
Returns a list of parameter definitions, each can be:
|
|
1598
|
+
- Simple string name: "paramName"
|
|
1599
|
+
- Dict with type info: {'name': 'paramName', 'type': 'string', 'ref': True, ...}
|
|
1600
|
+
"""
|
|
1601
|
+
params = []
|
|
1602
|
+
while not self._check(TokenType.PAREN_END) and not self._is_at_end():
|
|
1603
|
+
param_info = {}
|
|
1604
|
+
|
|
1605
|
+
# Handle 'open' keyword for open parameters
|
|
1606
|
+
if self._match_keyword('open'):
|
|
1607
|
+
param_info['open'] = True
|
|
1608
|
+
|
|
1609
|
+
# Handle type annotations (e.g., string, int, dynamic, etc.)
|
|
1610
|
+
if self._check(TokenType.KEYWORD):
|
|
1611
|
+
param_info['type'] = self._advance().value
|
|
1612
|
+
|
|
1613
|
+
# Handle reference operator &
|
|
1614
|
+
if self._match(TokenType.AMPERSAND):
|
|
1615
|
+
param_info['ref'] = True
|
|
1616
|
+
|
|
1617
|
+
# Handle * prefix for non-null parameters
|
|
1618
|
+
if self._match(TokenType.MULTIPLY):
|
|
1619
|
+
param_info['non_null'] = True
|
|
1620
|
+
|
|
1621
|
+
# Get parameter name
|
|
1622
|
+
if self._check(TokenType.IDENTIFIER):
|
|
1623
|
+
param_name = self._advance().value
|
|
1624
|
+
if param_info:
|
|
1625
|
+
params.append({'name': param_name, **param_info})
|
|
1626
|
+
else:
|
|
1627
|
+
params.append(param_name)
|
|
1628
|
+
self._match(TokenType.COMMA)
|
|
1629
|
+
elif self._check(TokenType.KEYWORD):
|
|
1630
|
+
# Parameter name could be a keyword like 'Params'
|
|
1631
|
+
param_name = self._advance().value
|
|
1632
|
+
if param_info:
|
|
1633
|
+
params.append({'name': param_name, **param_info})
|
|
1634
|
+
else:
|
|
1635
|
+
params.append(param_name)
|
|
1636
|
+
self._match(TokenType.COMMA)
|
|
1637
|
+
else:
|
|
1638
|
+
break
|
|
1639
|
+
|
|
1640
|
+
return params
|
|
1641
|
+
|
|
1594
1642
|
def _parse_define(self) -> ASTNode:
|
|
1595
1643
|
"""Parse define function declaration.
|
|
1596
1644
|
|
|
@@ -1781,8 +1829,9 @@ class CSSLParser:
|
|
|
1781
1829
|
# Super-function for .cssl-pl payload files
|
|
1782
1830
|
return self._parse_super_function()
|
|
1783
1831
|
elif (self._check(TokenType.KEYWORD) and self._current().value == 'super' and
|
|
1784
|
-
self._peek(1).type == TokenType.PAREN_START
|
|
1785
|
-
|
|
1832
|
+
(self._peek(1).type == TokenType.PAREN_START or
|
|
1833
|
+
self._peek(1).type == TokenType.DOUBLE_COLON)):
|
|
1834
|
+
# super() or super::method() call - calls parent constructor/method
|
|
1786
1835
|
return self._parse_super_call()
|
|
1787
1836
|
elif (self._check(TokenType.IDENTIFIER) or self._check(TokenType.AT) or
|
|
1788
1837
|
self._check(TokenType.CAPTURED_REF) or self._check(TokenType.SHARED_REF) or
|
|
@@ -1537,7 +1537,11 @@ class CSSLRuntime:
|
|
|
1537
1537
|
)
|
|
1538
1538
|
|
|
1539
1539
|
instance = self._current_instance
|
|
1540
|
+
|
|
1541
|
+
# Try to get parent from instance first, then from class definition
|
|
1540
1542
|
parent = getattr(instance, '_parent_class', None)
|
|
1543
|
+
if parent is None and hasattr(instance, '_class') and instance._class:
|
|
1544
|
+
parent = getattr(instance._class, 'parent', None)
|
|
1541
1545
|
|
|
1542
1546
|
if parent is None:
|
|
1543
1547
|
raise CSSLRuntimeError(
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
includecpp/__init__.py,sha256=
|
|
1
|
+
includecpp/__init__.py,sha256=siSinhicUem0QnzED-s_SD6_SMPMkqxA-SGOqqN5SGc,1672
|
|
2
2
|
includecpp/__init__.pyi,sha256=uSDYlbqd2TinmrdepmE_zvN25jd3Co2cgyPzXgDpopM,7193
|
|
3
3
|
includecpp/__main__.py,sha256=d6QK0PkvUe1ENofpmHRAg3bwNbZr8PiRscfI3-WRfVg,72
|
|
4
4
|
includecpp/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -19,14 +19,14 @@ includecpp/core/exceptions.py,sha256=szeF4qdzi_q8hBBZi7mJxkliyQ0crplkLYe0ymlBGtk
|
|
|
19
19
|
includecpp/core/path_discovery.py,sha256=jI0oSq6Hsd4LKXmU4dOiGSrXcEO_KWMXfQ5_ylBmXvU,2561
|
|
20
20
|
includecpp/core/project_ui.py,sha256=la2EQZKmUkJGuJxnbs09hH1ZhBh9bfndo6okzZsk2dQ,141134
|
|
21
21
|
includecpp/core/settings_ui.py,sha256=B2SlwgdplF2KiBk5UYf2l8Jjifjd0F-FmBP0DPsVCEQ,11798
|
|
22
|
-
includecpp/core/cssl/CSSL_DOCUMENTATION.md,sha256=
|
|
22
|
+
includecpp/core/cssl/CSSL_DOCUMENTATION.md,sha256=UF2RpPyuUWrU08E49t19OcsGModkwlRvajDWifCxqFo,48051
|
|
23
23
|
includecpp/core/cssl/__init__.py,sha256=scDXRBNK2L6A8qmlpNyaqQj6BFcSfPInBlucdeNfMF0,1975
|
|
24
24
|
includecpp/core/cssl/cssl_builtins.py,sha256=oPsPyQk5b0b1I02Y80oIaDX39GOeG32-nBPEqwbo_Pw,105110
|
|
25
25
|
includecpp/core/cssl/cssl_builtins.pyi,sha256=3ai2V4LyhzPBhAKjRRf0rLVu_bg9ECmTfTkdFKM64iA,127430
|
|
26
26
|
includecpp/core/cssl/cssl_events.py,sha256=nupIcXW_Vjdud7zCU6hdwkQRQ0MujlPM7Tk2u7eDAiY,21013
|
|
27
27
|
includecpp/core/cssl/cssl_modules.py,sha256=cUg0-zdymMnWWTsA_BUrW5dx4R04dHpKcUhm-Wfiwwo,103006
|
|
28
|
-
includecpp/core/cssl/cssl_parser.py,sha256=
|
|
29
|
-
includecpp/core/cssl/cssl_runtime.py,sha256=
|
|
28
|
+
includecpp/core/cssl/cssl_parser.py,sha256=WACgaltY9Ex9m06kDhO7_I6pw8aAEtwP_isNqi4eVHQ,136512
|
|
29
|
+
includecpp/core/cssl/cssl_runtime.py,sha256=wRqvn9VLoS1k_h_oQYqsW0ScBguv0CBYjWLDwk8T6yU,177838
|
|
30
30
|
includecpp/core/cssl/cssl_syntax.py,sha256=bgo3NFehoPTQa5dqwNd_CstkVGVCNYAXbGYUcu5BEN0,16982
|
|
31
31
|
includecpp/core/cssl/cssl_types.py,sha256=7jbrtZf3xmVQJA_mnL9iYrmdjhjuc4--mxxNigi7fsk,53425
|
|
32
32
|
includecpp/generator/__init__.py,sha256=Rsy41bwimaEloD3gDRR_znPfIJzIsCFuWZgCTJBLJlc,62
|
|
@@ -44,9 +44,9 @@ includecpp/vscode/cssl/images/cssl.png,sha256=BxAGsnfS0ZzzCvqV6Zb1OAJAZpDUoXlR86
|
|
|
44
44
|
includecpp/vscode/cssl/images/cssl_pl.png,sha256=z4WMk7g6YCTbUUbSFk343BO6yi_OmNEVYkRenWGydwM,799
|
|
45
45
|
includecpp/vscode/cssl/snippets/cssl.snippets.json,sha256=uV3nHJyQ5f7Pr3FzfbQT2VZOEY3AlGs4wrmqe884jm4,37372
|
|
46
46
|
includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json,sha256=l62jwXdjMx7-awg5X9WNBrGs4m34uP8W1CV7U7cpP4Y,34004
|
|
47
|
-
includecpp-3.8.
|
|
48
|
-
includecpp-3.8.
|
|
49
|
-
includecpp-3.8.
|
|
50
|
-
includecpp-3.8.
|
|
51
|
-
includecpp-3.8.
|
|
52
|
-
includecpp-3.8.
|
|
47
|
+
includecpp-3.8.6.dist-info/licenses/LICENSE,sha256=fWCsGGsiWZir0UzDd20Hh-3wtRyk1zqUntvtVuAWhvc,1093
|
|
48
|
+
includecpp-3.8.6.dist-info/METADATA,sha256=Fa8efBnw1m9W3FOgx4bRUn4KxQyRRtLKN4oB4upVq2U,22510
|
|
49
|
+
includecpp-3.8.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
50
|
+
includecpp-3.8.6.dist-info/entry_points.txt,sha256=6A5Mif9gi0139Bf03W5plAb3wnAgbNaEVe1HJoGE-2o,59
|
|
51
|
+
includecpp-3.8.6.dist-info/top_level.txt,sha256=RFUaR1KG-M6mCYwP6w4ydP5Cgc8yNbP78jxGAvyjMa8,11
|
|
52
|
+
includecpp-3.8.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|