IncludeCPP 3.7.23__py3-none-any.whl → 3.7.24__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 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__ = "3.7.23"
5
+ __version__ = "3.7.24"
6
6
  __all__ = ["CppApi", "CSSL"]
7
7
 
8
8
  # Module-level cache for C++ modules
@@ -951,6 +951,27 @@ class CSSLParser:
951
951
  self._expect(TokenType.BLOCK_END)
952
952
  return node
953
953
 
954
+ def _looks_like_namespace_call(self) -> bool:
955
+ """Check if current position looks like a namespace function call.
956
+
957
+ Pattern: keyword::identifier(...) like json::write(), string::cut()
958
+ This allows type keywords to be used as namespace prefixes for function calls.
959
+ """
960
+ if not self._check(TokenType.KEYWORD):
961
+ return False
962
+
963
+ # Save position
964
+ saved_pos = self.pos
965
+
966
+ self._advance() # Skip keyword
967
+
968
+ # Must be followed by ::
969
+ result = self._check(TokenType.DOUBLE_COLON)
970
+
971
+ # Restore position
972
+ self.pos = saved_pos
973
+ return result
974
+
954
975
  def _looks_like_typed_variable(self) -> bool:
955
976
  """Check if current position looks like a typed variable declaration:
956
977
  type_name varName; or type_name<T> varName; or type_name varName = value;
@@ -1452,7 +1473,8 @@ class CSSLParser:
1452
1473
  elif (self._check(TokenType.IDENTIFIER) or self._check(TokenType.AT) or
1453
1474
  self._check(TokenType.CAPTURED_REF) or self._check(TokenType.SHARED_REF) or
1454
1475
  self._check(TokenType.GLOBAL_REF) or self._check(TokenType.SELF_REF) or
1455
- (self._check(TokenType.KEYWORD) and self._current().value in ('this', 'new'))):
1476
+ (self._check(TokenType.KEYWORD) and self._current().value in ('this', 'new')) or
1477
+ self._looks_like_namespace_call()):
1456
1478
  return self._parse_expression_statement()
1457
1479
  else:
1458
1480
  self._advance()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: IncludeCPP
3
- Version: 3.7.23
3
+ Version: 3.7.24
4
4
  Summary: Professional C++ Python bindings with type-generic templates, pystubs and native threading
5
5
  Home-page: https://github.com/liliassg/IncludeCPP
6
6
  Author: Lilias Hatterscheidt
@@ -1,4 +1,4 @@
1
- includecpp/__init__.py,sha256=zlBkXO5fb20CjZcrm3aTHXIxpDg3fCujzh3dqpZHM8o,1673
1
+ includecpp/__init__.py,sha256=K_hE3bUggvu5Yzdn0YlmxG3UT8Z3kuyBQDtrj17spAc,1673
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
@@ -25,7 +25,7 @@ includecpp/core/cssl/cssl_builtins.py,sha256=r-FX4WQeKxerkepqodIiwhtL_kxxa4PJym_
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=JJ5mKbKCgevOmShxSpEKpKzo79rjU2_qvnBfxsWlH_w,116431
28
+ includecpp/core/cssl/cssl_parser.py,sha256=fphjjN2MRURMkqi0lFEf6l61xC9IPImlYVjlqonZZHc,117139
29
29
  includecpp/core/cssl/cssl_runtime.py,sha256=iZgNcKDoTeV50-IsXcsrpuTyDPxEHWyQz5uR3s5UVHg,154613
30
30
  includecpp/core/cssl/cssl_syntax.py,sha256=bgo3NFehoPTQa5dqwNd_CstkVGVCNYAXbGYUcu5BEN0,16982
31
31
  includecpp/core/cssl/cssl_types.py,sha256=gVjtfxk0Uzfj-H7_LD79oqspFMYDf79ZrRrlZk8eAEs,50647
@@ -43,9 +43,9 @@ includecpp/vscode/cssl/images/cssl.png,sha256=BxAGsnfS0ZzzCvqV6Zb1OAJAZpDUoXlR86
43
43
  includecpp/vscode/cssl/images/cssl_pl.png,sha256=z4WMk7g6YCTbUUbSFk343BO6yi_OmNEVYkRenWGydwM,799
44
44
  includecpp/vscode/cssl/snippets/cssl.snippets.json,sha256=l4SCEPR3CsPxA8HIVLKYY__I979TfKzYWtH1KYIsboo,33062
45
45
  includecpp/vscode/cssl/syntaxes/cssl.tmLanguage.json,sha256=XKRLBOHlCqDDnGPvmNHDQPsIMR1UD9PBaJIlgZOiPqM,21173
46
- includecpp-3.7.23.dist-info/licenses/LICENSE,sha256=fWCsGGsiWZir0UzDd20Hh-3wtRyk1zqUntvtVuAWhvc,1093
47
- includecpp-3.7.23.dist-info/METADATA,sha256=v4tDVGdh6c2ejyc9w_gUj6LTa0kzrjExECJkyqS-Qd4,32122
48
- includecpp-3.7.23.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
49
- includecpp-3.7.23.dist-info/entry_points.txt,sha256=6A5Mif9gi0139Bf03W5plAb3wnAgbNaEVe1HJoGE-2o,59
50
- includecpp-3.7.23.dist-info/top_level.txt,sha256=RFUaR1KG-M6mCYwP6w4ydP5Cgc8yNbP78jxGAvyjMa8,11
51
- includecpp-3.7.23.dist-info/RECORD,,
46
+ includecpp-3.7.24.dist-info/licenses/LICENSE,sha256=fWCsGGsiWZir0UzDd20Hh-3wtRyk1zqUntvtVuAWhvc,1093
47
+ includecpp-3.7.24.dist-info/METADATA,sha256=SNlhcPVsCICJClGXPl9NgbUVm6jIRHUJqd-xHj-Acs4,32122
48
+ includecpp-3.7.24.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
49
+ includecpp-3.7.24.dist-info/entry_points.txt,sha256=6A5Mif9gi0139Bf03W5plAb3wnAgbNaEVe1HJoGE-2o,59
50
+ includecpp-3.7.24.dist-info/top_level.txt,sha256=RFUaR1KG-M6mCYwP6w4ydP5Cgc8yNbP78jxGAvyjMa8,11
51
+ includecpp-3.7.24.dist-info/RECORD,,