From 4e038889bba9e231ac3cec42fa2314003c40c6f1 Mon Sep 17 00:00:00 2001 From: Kaizen Conroy Date: Thu, 6 Jun 2024 23:10:05 -0400 Subject: [PATCH 1/6] fix(python): incorrect escaped characters cause warnings --- packages/@jsii/python-runtime/tests/README.md | 2 +- .../jsii-pacmak/lib/targets/dotnet/runtime-type-checking.ts | 4 ++-- packages/jsii-pacmak/lib/targets/python.ts | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/@jsii/python-runtime/tests/README.md b/packages/@jsii/python-runtime/tests/README.md index 8cfb8ba88c..ef07a15395 100644 --- a/packages/@jsii/python-runtime/tests/README.md +++ b/packages/@jsii/python-runtime/tests/README.md @@ -1,7 +1,7 @@ # Python jsii runtime tests ## Development Iteration -When iterating on the jsii runtime for Python, the develomer must run +When iterating on the jsii runtime for Python, the developer must run `yarn build` before making a subsequent attempt at running `pytest` (e.g: via `yarn test`). This is because the tests run on the code installed in `.env` and this is updated only by `yarn build`. diff --git a/packages/jsii-pacmak/lib/targets/dotnet/runtime-type-checking.ts b/packages/jsii-pacmak/lib/targets/dotnet/runtime-type-checking.ts index 50a9082198..8014a86638 100644 --- a/packages/jsii-pacmak/lib/targets/dotnet/runtime-type-checking.ts +++ b/packages/jsii-pacmak/lib/targets/dotnet/runtime-type-checking.ts @@ -242,8 +242,8 @@ abstract class Validation { t.startsWith('"') ? t.slice(1, t.length - 1) : t.startsWith('$"') - ? t.slice(2, t.length - 1) - : `{${t}}`, + ? t.slice(2, t.length - 1) + : `{${t}}`, ) .join(', '); if (allowNull) { diff --git a/packages/jsii-pacmak/lib/targets/python.ts b/packages/jsii-pacmak/lib/targets/python.ts index 3ebd6c05fe..1606d5398a 100644 --- a/packages/jsii-pacmak/lib/targets/python.ts +++ b/packages/jsii-pacmak/lib/targets/python.ts @@ -44,6 +44,7 @@ const requirementsFile = path.resolve( // we use single-quotes for multi-line strings to allow examples within the // docstrings themselves to include double-quotes (see https://github.com/aws/jsii/issues/2569) const DOCSTRING_QUOTES = "'''"; +const RAW_DOCSTRING_QUOTES = `r${DOCSTRING_QUOTES}`; export default class Python extends Target { protected readonly generator: PythonGenerator; @@ -1902,7 +1903,7 @@ class PythonModule implements PythonType { */ private emitModuleDocumentation(code: CodeMaker) { if (this.moduleDocumentation) { - code.line(DOCSTRING_QUOTES); + code.line(RAW_DOCSTRING_QUOTES); // raw string code.line(this.moduleDocumentation); code.line(DOCSTRING_QUOTES); } From c7959f824d5bbc551e23c1359efe208d0b70bb64 Mon Sep 17 00:00:00 2001 From: Kaizen Conroy Date: Fri, 7 Jun 2024 12:14:18 -0400 Subject: [PATCH 2/6] prettier diff --- .../jsii-pacmak/lib/targets/dotnet/runtime-type-checking.ts | 4 ++-- packages/jsii-pacmak/lib/targets/python.ts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/jsii-pacmak/lib/targets/dotnet/runtime-type-checking.ts b/packages/jsii-pacmak/lib/targets/dotnet/runtime-type-checking.ts index 8014a86638..50a9082198 100644 --- a/packages/jsii-pacmak/lib/targets/dotnet/runtime-type-checking.ts +++ b/packages/jsii-pacmak/lib/targets/dotnet/runtime-type-checking.ts @@ -242,8 +242,8 @@ abstract class Validation { t.startsWith('"') ? t.slice(1, t.length - 1) : t.startsWith('$"') - ? t.slice(2, t.length - 1) - : `{${t}}`, + ? t.slice(2, t.length - 1) + : `{${t}}`, ) .join(', '); if (allowNull) { diff --git a/packages/jsii-pacmak/lib/targets/python.ts b/packages/jsii-pacmak/lib/targets/python.ts index 1606d5398a..75ead9988c 100644 --- a/packages/jsii-pacmak/lib/targets/python.ts +++ b/packages/jsii-pacmak/lib/targets/python.ts @@ -1902,6 +1902,7 @@ class PythonModule implements PythonType { * Emit the README as module docstring if this is the entry point module (it loads the assembly) */ private emitModuleDocumentation(code: CodeMaker) { + console.log(this.moduleDocumentation); if (this.moduleDocumentation) { code.line(RAW_DOCSTRING_QUOTES); // raw string code.line(this.moduleDocumentation); From 4f3f06ea60723ff0338843bec4d9eefe7a863bfe Mon Sep 17 00:00:00 2001 From: Kaizen Conroy Date: Fri, 7 Jun 2024 12:15:06 -0400 Subject: [PATCH 3/6] remove doc --- packages/jsii-pacmak/lib/targets/python.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/jsii-pacmak/lib/targets/python.ts b/packages/jsii-pacmak/lib/targets/python.ts index 75ead9988c..1606d5398a 100644 --- a/packages/jsii-pacmak/lib/targets/python.ts +++ b/packages/jsii-pacmak/lib/targets/python.ts @@ -1902,7 +1902,6 @@ class PythonModule implements PythonType { * Emit the README as module docstring if this is the entry point module (it loads the assembly) */ private emitModuleDocumentation(code: CodeMaker) { - console.log(this.moduleDocumentation); if (this.moduleDocumentation) { code.line(RAW_DOCSTRING_QUOTES); // raw string code.line(this.moduleDocumentation); From 1e60cec9980d00d71e4dc2084c12115b7f177332 Mon Sep 17 00:00:00 2001 From: Kaizen Conroy <36202692+kaizencc@users.noreply.github.com> Date: Fri, 7 Jun 2024 12:26:01 -0400 Subject: [PATCH 4/6] Update packages/jsii-pacmak/lib/targets/python.ts --- packages/jsii-pacmak/lib/targets/python.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/jsii-pacmak/lib/targets/python.ts b/packages/jsii-pacmak/lib/targets/python.ts index 1606d5398a..0a1e6542ce 100644 --- a/packages/jsii-pacmak/lib/targets/python.ts +++ b/packages/jsii-pacmak/lib/targets/python.ts @@ -1903,7 +1903,7 @@ class PythonModule implements PythonType { */ private emitModuleDocumentation(code: CodeMaker) { if (this.moduleDocumentation) { - code.line(RAW_DOCSTRING_QUOTES); // raw string + code.line(RAW_DOCSTRING_QUOTES); // raw string so that python does not attempt to interpret invalid escapes that are valid in markdown code.line(this.moduleDocumentation); code.line(DOCSTRING_QUOTES); } From 6883186a6f63865eff348f4bde8be3d711b6f294 Mon Sep 17 00:00:00 2001 From: Kaizen Conroy Date: Fri, 7 Jun 2024 14:38:37 -0400 Subject: [PATCH 5/6] update snaps --- .../__snapshots__/target-python.test.js.snap | 6282 +---------------- 1 file changed, 5 insertions(+), 6277 deletions(-) diff --git a/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap b/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap index 1cbca68ca2..08907b8371 100644 --- a/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap +++ b/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap @@ -497,69 +497,6 @@ exports[`Generated code for "@scope/jsii-calc-base": /python/src/scope/j `; -exports[`Generated code for "@scope/jsii-calc-base": / 1`] = ` - - ┗━ 📁 python - ┗━ 📁 src - ┗━ 📁 scope - ┗━ 📁 jsii_calc_base - ┗━ 📄 __init__.py.diff -`; - -exports[`Generated code for "@scope/jsii-calc-base": /python/src/scope/jsii_calc_base/__init__.py.diff 1`] = ` ---- python/src/scope/jsii_calc_base/__init__.py --no-runtime-type-checking -+++ python/src/scope/jsii_calc_base/__init__.py --runtime-type-checking -@@ -53,10 +53,14 @@ - ) -> None: - ''' - :param foo: - - :param bar: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__e2d8a566db7d86eb1cb511cb869273dae39a21b3ad7041359aabb7bd283dcfef) -+ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) -+ check_type(argname="argument bar", value=bar, expected_type=type_hints["bar"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "foo": foo, - "bar": bar, - } - -@@ -120,10 +124,13 @@ - @builtins.classmethod - def consume(cls, *args: typing.Any) -> None: - ''' - :param args: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__66400f6ebe2f9a3fbb550342b894bebf4f5368890843f3917e2b903f62d48b38) -+ check_type(argname="argument args", value=args, expected_type=typing.Tuple[type_hints["args"], ...]) # pyright: ignore [reportGeneralTypeIssues] - return typing.cast(None, jsii.sinvoke(cls, "consume", [*args])) - - - __all__ = [ - "Base", -@@ -131,5 +138,19 @@ - "IBaseInterface", - "StaticConsumer", - ] - - publication.publish() -+ -+def _typecheckingstub__e2d8a566db7d86eb1cb511cb869273dae39a21b3ad7041359aabb7bd283dcfef( -+ *, -+ foo: _scope_jsii_calc_base_of_base_49fa37fe.Very, -+ bar: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__66400f6ebe2f9a3fbb550342b894bebf4f5368890843f3917e2b903f62d48b38( -+ *args: typing.Any, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - exports[`Generated code for "@scope/jsii-calc-base-of-base": / 1`] = ` ┗━ 📁 python @@ -1028,67 +965,6 @@ exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/src `; -exports[`Generated code for "@scope/jsii-calc-base-of-base": / 1`] = ` - - ┗━ 📁 python - ┗━ 📁 src - ┗━ 📁 scope - ┗━ 📁 jsii_calc_base_of_base - ┗━ 📄 __init__.py.diff -`; - -exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/src/scope/jsii_calc_base_of_base/__init__.py.diff 1`] = ` ---- python/src/scope/jsii_calc_base_of_base/__init__.py --no-runtime-type-checking -+++ python/src/scope/jsii_calc_base_of_base/__init__.py --runtime-type-checking -@@ -42,10 +42,13 @@ - @builtins.classmethod - def consume(cls, *_args: typing.Any) -> None: - ''' - :param _args: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__740535cda6ecbc578919a2921dd1fa0b87c5dd735a2acd391963310cdf59f47c) -+ check_type(argname="argument _args", value=_args, expected_type=typing.Tuple[type_hints["_args"], ...]) # pyright: ignore [reportGeneralTypeIssues] - return typing.cast(None, jsii.sinvoke(cls, "consume", [*_args])) - - - class Very(metaclass=jsii.JSIIMeta, jsii_type="@scope/jsii-calc-base-of-base.Very"): - '''(experimental) Something here. -@@ -72,10 +75,13 @@ - class VeryBaseProps: - def __init__(self, *, foo: Very) -> None: - ''' - :param foo: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c314d9d6951cb6f41a208c5feb55cc9d30da774b67f6d47cb4fa13215b96f2b9) -+ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "foo": foo, - } - - @builtins.property -@@ -102,5 +108,18 @@ - "Very", - "VeryBaseProps", - ] - - publication.publish() -+ -+def _typecheckingstub__740535cda6ecbc578919a2921dd1fa0b87c5dd735a2acd391963310cdf59f47c( -+ *_args: typing.Any, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c314d9d6951cb6f41a208c5feb55cc9d30da774b67f6d47cb4fa13215b96f2b9( -+ *, -+ foo: Very, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - exports[`Generated code for "@scope/jsii-calc-lib": / 1`] = ` ┗━ 📁 python @@ -2072,7 +1948,7 @@ publication.publish() exports[`Generated code for "@scope/jsii-calc-lib": /python/src/scope/jsii_calc_lib/_jsii/jsii-calc-lib@0.0.0.jsii.tgz 1`] = `python/src/scope/jsii_calc_lib/_jsii/jsii-calc-lib@0.0.0.jsii.tgz is a tarball`; exports[`Generated code for "@scope/jsii-calc-lib": /python/src/scope/jsii_calc_lib/custom_submodule_name/__init__.py 1`] = ` -''' +r''' # Submodule Readme This is a submodule readme. @@ -2393,277 +2269,6 @@ exports[`Generated code for "@scope/jsii-calc-lib": /python/src/scope/js `; -exports[`Generated code for "@scope/jsii-calc-lib": / 1`] = ` - - ┗━ 📁 python - ┗━ 📁 src - ┗━ 📁 scope - ┗━ 📁 jsii_calc_lib - ┣━ 📄 __init__.py.diff - ┗━ 📁 custom_submodule_name - ┗━ 📄 __init__.py.diff -`; - -exports[`Generated code for "@scope/jsii-calc-lib": /python/src/scope/jsii_calc_lib/__init__.py.diff 1`] = ` ---- python/src/scope/jsii_calc_lib/__init__.py --no-runtime-type-checking -+++ python/src/scope/jsii_calc_lib/__init__.py --runtime-type-checking -@@ -37,19 +37,25 @@ - ''' - :param very: - - - :stability: deprecated - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__46512218b53da06690990919b41a88d6c2379b11ef0a3243cf6d60add5197ae2) -+ check_type(argname="argument very", value=very, expected_type=type_hints["very"]) - jsii.create(self.__class__, self, [very]) - - @jsii.member(jsii_name="foo") - def foo(self, obj: _scope_jsii_calc_base_734f0262.IBaseInterface) -> None: - ''' - :param obj: - - - :stability: deprecated - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__e721760a6f0cb2ba909986665323a1f1f880769c379ae1f2ad0dbadf80ee9016) -+ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) - return typing.cast(None, jsii.invoke(self, "foo", [obj])) - - - @jsii.data_type( - jsii_type="@scope/jsii-calc-lib.DiamondLeft", -@@ -67,10 +73,14 @@ - :param hoisted_top: - :param left: - - :stability: deprecated - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__969bc4b33aa2d0684b20d440803d81dfda55aa9fa6398ac40f1afafc2114db5a) -+ check_type(argname="argument hoisted_top", value=hoisted_top, expected_type=type_hints["hoisted_top"]) -+ check_type(argname="argument left", value=left, expected_type=type_hints["left"]) - self._values: typing.Dict[builtins.str, typing.Any] = {} - if hoisted_top is not None: - self._values["hoisted_top"] = hoisted_top - if left is not None: - self._values["left"] = left -@@ -119,10 +129,14 @@ - :param hoisted_top: - :param right: - - :stability: deprecated - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__31f7eac552107efa0a4275f6798b003fcc3b6e74e0a463ae709af8b660b91dc4) -+ check_type(argname="argument hoisted_top", value=hoisted_top, expected_type=type_hints["hoisted_top"]) -+ check_type(argname="argument right", value=right, expected_type=type_hints["right"]) - self._values: typing.Dict[builtins.str, typing.Any] = {} - if hoisted_top is not None: - self._values["hoisted_top"] = hoisted_top - if right is not None: - self._values["right"] = right -@@ -194,10 +208,13 @@ - ''' - :param _: - - - :stability: deprecated - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__9f2d965a28491c2347ed53f3f21b6d1e134bd8c506672f5715c44023bddab720) -+ check_type(argname="argument _", value=_, expected_type=type_hints["_"]) - return typing.cast(builtins.str, jsii.invoke(self, "foo", [_])) - - - @jsii.interface(jsii_type="@scope/jsii-calc-lib.IDoublable") - class IDoublable(typing_extensions.Protocol): -@@ -345,10 +362,15 @@ - :param astring: (deprecated) A string value. - :param first_optional: - - :stability: deprecated - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__de81edc65427ea9129fd035388008307a6cae942eefc63cb3d9fd8b42956da06) -+ check_type(argname="argument anumber", value=anumber, expected_type=type_hints["anumber"]) -+ check_type(argname="argument astring", value=astring, expected_type=type_hints["astring"]) -+ check_type(argname="argument first_optional", value=first_optional, expected_type=type_hints["first_optional"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "anumber": anumber, - "astring": astring, - } - if first_optional is not None: -@@ -505,10 +527,15 @@ - :param optional2: - :param optional3: - - :stability: deprecated - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__82b4e5e8f3b46996124a87aac13a874f61bf9660a45a062bafa08046c027da63) -+ check_type(argname="argument optional1", value=optional1, expected_type=type_hints["optional1"]) -+ check_type(argname="argument optional2", value=optional2, expected_type=type_hints["optional2"]) -+ check_type(argname="argument optional3", value=optional3, expected_type=type_hints["optional3"]) - self._values: typing.Dict[builtins.str, typing.Any] = {} - if optional1 is not None: - self._values["optional1"] = optional1 - if optional2 is not None: - self._values["optional2"] = optional2 -@@ -568,10 +595,13 @@ - - :param value: The number. - - :stability: deprecated - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__adff4f4d0383c32ffdeb0bca92ae1ea2ebe0b2ea8d9bf5f5433287cc06e55e07) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.create(self.__class__, self, [value]) - - @builtins.property - @jsii.member(jsii_name="doubleValue") - def double_value(self) -> jsii.Number: -@@ -612,5 +642,63 @@ - publication.publish() - - # Loading modules to ensure their types are registered with the jsii runtime library - from . import custom_submodule_name - from . import deprecation_removal -+ -+def _typecheckingstub__46512218b53da06690990919b41a88d6c2379b11ef0a3243cf6d60add5197ae2( -+ very: _scope_jsii_calc_base_of_base_49fa37fe.Very, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__e721760a6f0cb2ba909986665323a1f1f880769c379ae1f2ad0dbadf80ee9016( -+ obj: _scope_jsii_calc_base_734f0262.IBaseInterface, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__969bc4b33aa2d0684b20d440803d81dfda55aa9fa6398ac40f1afafc2114db5a( -+ *, -+ hoisted_top: typing.Optional[builtins.str] = None, -+ left: typing.Optional[jsii.Number] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__31f7eac552107efa0a4275f6798b003fcc3b6e74e0a463ae709af8b660b91dc4( -+ *, -+ hoisted_top: typing.Optional[builtins.str] = None, -+ right: typing.Optional[builtins.bool] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__9f2d965a28491c2347ed53f3f21b6d1e134bd8c506672f5715c44023bddab720( -+ _: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__de81edc65427ea9129fd035388008307a6cae942eefc63cb3d9fd8b42956da06( -+ *, -+ anumber: jsii.Number, -+ astring: builtins.str, -+ first_optional: typing.Optional[typing.Sequence[builtins.str]] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__82b4e5e8f3b46996124a87aac13a874f61bf9660a45a062bafa08046c027da63( -+ *, -+ optional1: typing.Optional[builtins.str] = None, -+ optional2: typing.Optional[jsii.Number] = None, -+ optional3: typing.Optional[builtins.bool] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__adff4f4d0383c32ffdeb0bca92ae1ea2ebe0b2ea8d9bf5f5433287cc06e55e07( -+ value: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "@scope/jsii-calc-lib": /python/src/scope/jsii_calc_lib/custom_submodule_name/__init__.py.diff 1`] = ` ---- python/src/scope/jsii_calc_lib/custom_submodule_name/__init__.py --no-runtime-type-checking -+++ python/src/scope/jsii_calc_lib/custom_submodule_name/__init__.py --runtime-type-checking -@@ -100,10 +100,13 @@ - - :param name: - - :stability: deprecated - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5c03ed6e0d395f6fa262d12c7831dd2893af2098bf580a0c602a20f92c1ad24b) -+ check_type(argname="argument name", value=name, expected_type=type_hints["name"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "name": name, - } - - @builtins.property -@@ -138,10 +141,14 @@ - :param key: - :param value: - - :stability: deprecated - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__301126f287c0bfbbd3cb015833c5e0b2ced77e73d25597215c917612b67c3331) -+ check_type(argname="argument key", value=key, expected_type=type_hints["key"]) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "key": key, - "value": value, - } - -@@ -197,10 +204,13 @@ - ''' - :param reflectable: - - - :stability: deprecated - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__bed3b5b08c611933987ef5d9dfc131289e09ebcd26286417337c3708ca054e9f) -+ check_type(argname="argument reflectable", value=reflectable, expected_type=type_hints["reflectable"]) - return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "asMap", [reflectable])) - - - __all__ = [ - "IReflectable", -@@ -208,5 +218,26 @@ - "ReflectableEntry", - "Reflector", - ] - - publication.publish() -+ -+def _typecheckingstub__5c03ed6e0d395f6fa262d12c7831dd2893af2098bf580a0c602a20f92c1ad24b( -+ *, -+ name: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__301126f287c0bfbbd3cb015833c5e0b2ced77e73d25597215c917612b67c3331( -+ *, -+ key: builtins.str, -+ value: typing.Any, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__bed3b5b08c611933987ef5d9dfc131289e09ebcd26286417337c3708ca054e9f( -+ reflectable: IReflectable, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - exports[`Generated code for "jsii-calc": / 1`] = ` ┗━ 📁 python @@ -3131,7 +2736,7 @@ setuptools.setup(**kwargs) `; exports[`Generated code for "jsii-calc": /python/src/jsii_calc/__init__.py 1`] = ` -''' +r''' # jsii Calculator This library is used to demonstrate and test the features of JSII @@ -12265,7 +11870,7 @@ publication.publish() `; exports[`Generated code for "jsii-calc": /python/src/jsii_calc/homonymous_forward_references/__init__.py 1`] = ` -''' +r''' Verifies homonymous forward references don't trip the Python type checker This has been an issue when stub functions were introduced to create a reliable source for type checking @@ -14019,7 +13624,7 @@ publication.publish() `; exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/__init__.py 1`] = ` -''' +r''' # Read you, read me This is the readme of the \`jsii-calc.submodule\` module. @@ -14416,7 +14021,7 @@ publication.publish() `; exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/isolated/__init__.py 1`] = ` -''' +r''' # Read you, read me This is the readme of the \`jsii-calc.submodule.isolated\` module. @@ -14749,5880 +14354,3 @@ __all__ = [ publication.publish() `; - -exports[`Generated code for "jsii-calc": / 1`] = ` - - ┗━ 📁 python - ┗━ 📁 src - ┗━ 📁 jsii_calc - ┣━ 📄 __init__.py.diff - ┣━ 📁 anonymous - ┃ ┗━ 📄 __init__.py.diff - ┣━ 📁 cdk16625 - ┃ ┣━ 📄 __init__.py.diff - ┃ ┗━ 📁 donotimport - ┃ ┗━ 📄 __init__.py.diff - ┣━ 📁 cdk22369 - ┃ ┗━ 📄 __init__.py.diff - ┣━ 📁 composition - ┃ ┗━ 📄 __init__.py.diff - ┣━ 📁 derived_class_has_no_properties - ┃ ┗━ 📄 __init__.py.diff - ┣━ 📁 homonymous_forward_references - ┃ ┣━ 📁 bar - ┃ ┃ ┗━ 📄 __init__.py.diff - ┃ ┗━ 📁 foo - ┃ ┗━ 📄 __init__.py.diff - ┣━ 📁 interface_in_namespace_includes_classes - ┃ ┗━ 📄 __init__.py.diff - ┣━ 📁 interface_in_namespace_only_interface - ┃ ┗━ 📄 __init__.py.diff - ┣━ 📁 jsii3656 - ┃ ┗━ 📄 __init__.py.diff - ┣━ 📁 module2530 - ┃ ┗━ 📄 __init__.py.diff - ┣━ 📁 module2647 - ┃ ┗━ 📄 __init__.py.diff - ┣━ 📁 module2689 - ┃ ┣━ 📁 methods - ┃ ┃ ┗━ 📄 __init__.py.diff - ┃ ┗━ 📁 structs - ┃ ┗━ 📄 __init__.py.diff - ┣━ 📁 module2692 - ┃ ┣━ 📁 submodule1 - ┃ ┃ ┗━ 📄 __init__.py.diff - ┃ ┗━ 📁 submodule2 - ┃ ┗━ 📄 __init__.py.diff - ┣━ 📁 python_self - ┃ ┗━ 📄 __init__.py.diff - ┣━ 📁 submodule - ┃ ┣━ 📄 __init__.py.diff - ┃ ┣━ 📁 back_references - ┃ ┃ ┗━ 📄 __init__.py.diff - ┃ ┣━ 📁 child - ┃ ┃ ┗━ 📄 __init__.py.diff - ┃ ┗━ 📁 param - ┃ ┗━ 📄 __init__.py.diff - ┗━ 📁 union - ┗━ 📄 __init__.py.diff -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/__init__.py --runtime-type-checking -@@ -114,10 +114,13 @@ - def work_it_all(self, seed: builtins.str) -> builtins.str: - '''Sets \`\`seed\`\` to \`\`this.property\`\`, then calls \`\`someMethod\`\` with \`\`this.property\`\` and returns the result. - - :param seed: a \`\`string\`\`. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__8348af6419fc01178f78ba59cea59d0c7437626169866d772f4e957d09e6e13a) -+ check_type(argname="argument seed", value=seed, expected_type=type_hints["seed"]) - return typing.cast(builtins.str, jsii.invoke(self, "workItAll", [seed])) - - @builtins.property - @jsii.member(jsii_name="property") - @abc.abstractmethod -@@ -134,19 +137,25 @@ - @jsii.member(jsii_name="someMethod") - def _some_method(self, str: builtins.str) -> builtins.str: - ''' - :param str: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__06c06b97e36be962012901c4c1f542b3f51b377154f91bf1154d1bd475221829) -+ check_type(argname="argument str", value=str, expected_type=type_hints["str"]) - return typing.cast(builtins.str, jsii.invoke(self, "someMethod", [str])) - - @builtins.property - @jsii.member(jsii_name="property") - def _property(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "property")) - - @_property.setter - def _property(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__0f076015f51de68c2d0e6902c0d199c9058ad0bff9c11f58b2aae99578ece6ae) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "property", value) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class - typing.cast(typing.Any, AbstractSuite).__jsii_proxy_class__ = lambda : _AbstractSuiteProxy - -@@ -164,10 +173,13 @@ - @jsii.member(jsii_name="anyIn") - def any_in(self, inp: typing.Any) -> None: - ''' - :param inp: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__81a2d86a9598fa10dde4af8bd70d369967edc6febb332dc788702f6aea07f33c) -+ check_type(argname="argument inp", value=inp, expected_type=type_hints["inp"]) - return typing.cast(None, jsii.invoke(self, "anyIn", [inp])) - - @jsii.member(jsii_name="anyOut") - def any_out(self) -> typing.Any: - return typing.cast(typing.Any, jsii.invoke(self, "anyOut", [])) -@@ -175,10 +187,13 @@ - @jsii.member(jsii_name="enumMethod") - def enum_method(self, value: "StringEnum") -> "StringEnum": - ''' - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__56056c33132184bd4ad46f69c534777112c49b9a987cc7b962d4026cf550998c) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - return typing.cast("StringEnum", jsii.invoke(self, "enumMethod", [value])) - - @builtins.property - @jsii.member(jsii_name="enumPropertyValue") - def enum_property_value(self) -> jsii.Number: -@@ -189,73 +204,97 @@ - def any_array_property(self) -> typing.List[typing.Any]: - return typing.cast(typing.List[typing.Any], jsii.get(self, "anyArrayProperty")) - - @any_array_property.setter - def any_array_property(self, value: typing.List[typing.Any]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__1ab9ae75c746f751d2bf2ac254bcd1bee8eae7281ec936e222c9f29765fdcfa4) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "anyArrayProperty", value) - - @builtins.property - @jsii.member(jsii_name="anyMapProperty") - def any_map_property(self) -> typing.Mapping[builtins.str, typing.Any]: - return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "anyMapProperty")) - - @any_map_property.setter - def any_map_property(self, value: typing.Mapping[builtins.str, typing.Any]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__f88e356a91a703923e622c02850435cc7f632a66f49ca79f00d42590d2928a5e) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "anyMapProperty", value) - - @builtins.property - @jsii.member(jsii_name="anyProperty") - def any_property(self) -> typing.Any: - return typing.cast(typing.Any, jsii.get(self, "anyProperty")) - - @any_property.setter - def any_property(self, value: typing.Any) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__d81f1a89ccd850ccdb0b96a43000dfcde30f3542bf797051c754610d641f2316) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "anyProperty", value) - - @builtins.property - @jsii.member(jsii_name="arrayProperty") - def array_property(self) -> typing.List[builtins.str]: - return typing.cast(typing.List[builtins.str], jsii.get(self, "arrayProperty")) - - @array_property.setter - def array_property(self, value: typing.List[builtins.str]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__0c663902e9a8a1db9aff59eb8642a68c944dc2e3385744098d2b51ecf2e2e11f) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "arrayProperty", value) - - @builtins.property - @jsii.member(jsii_name="booleanProperty") - def boolean_property(self) -> builtins.bool: - return typing.cast(builtins.bool, jsii.get(self, "booleanProperty")) - - @boolean_property.setter - def boolean_property(self, value: builtins.bool) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__106a83d3c77dbb6dbc6fcd706bca888d57ec37cd4beedf7dcc9d7d4428f44845) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "booleanProperty", value) - - @builtins.property - @jsii.member(jsii_name="dateProperty") - def date_property(self) -> datetime.datetime: - return typing.cast(datetime.datetime, jsii.get(self, "dateProperty")) - - @date_property.setter - def date_property(self, value: datetime.datetime) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5e62ea2f9629943c1138cad77629f47906644279c178b9436e4303e5a5f74c8a) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "dateProperty", value) - - @builtins.property - @jsii.member(jsii_name="enumProperty") - def enum_property(self) -> "AllTypesEnum": - return typing.cast("AllTypesEnum", jsii.get(self, "enumProperty")) - - @enum_property.setter - def enum_property(self, value: "AllTypesEnum") -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__f0d83d5dde352e12690bd34359b2272194b20ad0d4585d4cd235a62a68413cc7) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "enumProperty", value) - - @builtins.property - @jsii.member(jsii_name="jsonProperty") - def json_property(self) -> typing.Mapping[typing.Any, typing.Any]: - return typing.cast(typing.Mapping[typing.Any, typing.Any], jsii.get(self, "jsonProperty")) - - @json_property.setter - def json_property(self, value: typing.Mapping[typing.Any, typing.Any]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__8cddc5c03b0b87366a7bf274aedf92ced502b23fe811780c7f8c3da532cba3fc) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "jsonProperty", value) - - @builtins.property - @jsii.member(jsii_name="mapProperty") - def map_property( -@@ -266,28 +305,37 @@ - @map_property.setter - def map_property( - self, - value: typing.Mapping[builtins.str, _scope_jsii_calc_lib_c61f082f.Number], - ) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__ce34799b1443789feb28cffe434f5bcbb9cb940065992aa75dbb30eb89cd78e6) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "mapProperty", value) - - @builtins.property - @jsii.member(jsii_name="numberProperty") - def number_property(self) -> jsii.Number: - return typing.cast(jsii.Number, jsii.get(self, "numberProperty")) - - @number_property.setter - def number_property(self, value: jsii.Number) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c8fb4d044e2e7432d7e661aafdb286ebf21dfe5a82b9908dee57945f6892a63e) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "numberProperty", value) - - @builtins.property - @jsii.member(jsii_name="stringProperty") - def string_property(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "stringProperty")) - - @string_property.setter - def string_property(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__4e3dc199e54a9fbd40ceb20cecf887aa2aeca670e9ba223707466d9670eec9b9) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "stringProperty", value) - - @builtins.property - @jsii.member(jsii_name="unionArrayProperty") - def union_array_property( -@@ -298,10 +346,13 @@ - @union_array_property.setter - def union_array_property( - self, - value: typing.List[typing.Union[jsii.Number, _scope_jsii_calc_lib_c61f082f.NumericValue]], - ) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__4a9e87035008a2c1b649b911c8cfc02f2723230d8ced957948b2948c76caf61a) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "unionArrayProperty", value) - - @builtins.property - @jsii.member(jsii_name="unionMapProperty") - def union_map_property( -@@ -312,10 +363,13 @@ - @union_map_property.setter - def union_map_property( - self, - value: typing.Mapping[builtins.str, typing.Union[builtins.str, jsii.Number, _scope_jsii_calc_lib_c61f082f.Number]], - ) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__62ebee42e1871545bc2e82cfb9c7fe43b5a607c8f662caff89dda0f0ed99a3df) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "unionMapProperty", value) - - @builtins.property - @jsii.member(jsii_name="unionProperty") - def union_property( -@@ -326,19 +380,25 @@ - @union_property.setter - def union_property( - self, - value: typing.Union[builtins.str, jsii.Number, _scope_jsii_calc_lib_c61f082f.Number, "Multiply"], - ) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c9be2756a18e8a40eb03cf55231201574f76abf02996a73d0d75fefd1393473d) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "unionProperty", value) - - @builtins.property - @jsii.member(jsii_name="unknownArrayProperty") - def unknown_array_property(self) -> typing.List[typing.Any]: - return typing.cast(typing.List[typing.Any], jsii.get(self, "unknownArrayProperty")) - - @unknown_array_property.setter - def unknown_array_property(self, value: typing.List[typing.Any]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__e49729a44c21aef8c75584ff0991ddba3ee45184cacf816eb1a6a13b99e99ecc) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "unknownArrayProperty", value) - - @builtins.property - @jsii.member(jsii_name="unknownMapProperty") - def unknown_map_property(self) -> typing.Mapping[builtins.str, typing.Any]: -@@ -347,28 +407,37 @@ - @unknown_map_property.setter - def unknown_map_property( - self, - value: typing.Mapping[builtins.str, typing.Any], - ) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__f8de6b30de9bfa884f9de02e2abe57e9394fb7a387b5691f858b7b98817b1db7) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "unknownMapProperty", value) - - @builtins.property - @jsii.member(jsii_name="unknownProperty") - def unknown_property(self) -> typing.Any: - return typing.cast(typing.Any, jsii.get(self, "unknownProperty")) - - @unknown_property.setter - def unknown_property(self, value: typing.Any) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__901c3574a81e006fdf36f73e34f66b34f65ada4bddcb11cd15a51d6e3d9b59e4) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "unknownProperty", value) - - @builtins.property - @jsii.member(jsii_name="optionalEnumValue") - def optional_enum_value(self) -> typing.Optional["StringEnum"]: - return typing.cast(typing.Optional["StringEnum"], jsii.get(self, "optionalEnumValue")) - - @optional_enum_value.setter - def optional_enum_value(self, value: typing.Optional["StringEnum"]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__705bed55c0dbc20a3a1bad9a21931270f0c285e5b3b276e13bca645ffa7ccb0f) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "optionalEnumValue", value) - - - @jsii.enum(jsii_type="jsii-calc.AllTypesEnum") - class AllTypesEnum(enum.Enum): -@@ -388,36 +457,52 @@ - def get_bar(self, _p1: builtins.str, _p2: jsii.Number) -> None: - ''' - :param _p1: - - :param _p2: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__99730dd857f01c8e93755d3e4f1e04f44efd2e63487e37db32f0fae8d36c618e) -+ check_type(argname="argument _p1", value=_p1, expected_type=type_hints["_p1"]) -+ check_type(argname="argument _p2", value=_p2, expected_type=type_hints["_p2"]) - return typing.cast(None, jsii.invoke(self, "getBar", [_p1, _p2])) - - @jsii.member(jsii_name="getFoo") - def get_foo(self, with_param: builtins.str) -> builtins.str: - '''getXxx() is not allowed (see negatives), but getXxx(a, ...) is okay. - - :param with_param: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__7f25304a2274ca1691dbe05a223f32126250948b15187c5095780e5c9af08c2a) -+ check_type(argname="argument with_param", value=with_param, expected_type=type_hints["with_param"]) - return typing.cast(builtins.str, jsii.invoke(self, "getFoo", [with_param])) - - @jsii.member(jsii_name="setBar") - def set_bar(self, _x: builtins.str, _y: jsii.Number, _z: builtins.bool) -> None: - ''' - :param _x: - - :param _y: - - :param _z: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__12f6979e6d88948e4aebfe8c25ed814c21d19b4b549d6bc2db4620794e706238) -+ check_type(argname="argument _x", value=_x, expected_type=type_hints["_x"]) -+ check_type(argname="argument _y", value=_y, expected_type=type_hints["_y"]) -+ check_type(argname="argument _z", value=_z, expected_type=type_hints["_z"]) - return typing.cast(None, jsii.invoke(self, "setBar", [_x, _y, _z])) - - @jsii.member(jsii_name="setFoo") - def set_foo(self, _x: builtins.str, _y: jsii.Number) -> None: - '''setFoo(x) is not allowed (see negatives), but setXxx(a, b, ...) is okay. - - :param _x: - - :param _y: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__ca978ab380897c8607252c370202d45bc72e8b5cdc52549bb53b870299333d52) -+ check_type(argname="argument _x", value=_x, expected_type=type_hints["_x"]) -+ check_type(argname="argument _y", value=_y, expected_type=type_hints["_y"]) - return typing.cast(None, jsii.invoke(self, "setFoo", [_x, _y])) - - - class AmbiguousParameters( - metaclass=jsii.JSIIMeta, -@@ -433,10 +518,13 @@ - ''' - :param scope_: - - :param scope: - :param props: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__35fb7428c2ad70583f7b280c07cec184905b51e8e896efe6cc88eaf83a6f65c3) -+ check_type(argname="argument scope_", value=scope_, expected_type=type_hints["scope_"]) - props_ = StructParameterType(scope=scope, props=props) - - jsii.create(self.__class__, self, [scope_, props_]) - - @builtins.property -@@ -468,10 +556,16 @@ - :param obj: the receiver object. - :param prop_a: the first property to read. - :param prop_b: the second property to read. - :param result_prop: the property to write into. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__2e74ece926d1cff82c3a42c02b35b0b5b4427369dfc17caf49b658e36503a986) -+ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) -+ check_type(argname="argument prop_a", value=prop_a, expected_type=type_hints["prop_a"]) -+ check_type(argname="argument prop_b", value=prop_b, expected_type=type_hints["prop_b"]) -+ check_type(argname="argument result_prop", value=result_prop, expected_type=type_hints["result_prop"]) - return typing.cast(None, jsii.sinvoke(cls, "mutateProperties", [obj, prop_a, prop_b, result_prop])) - - - class AsyncVirtualMethods( - metaclass=jsii.JSIIMeta, -@@ -506,10 +600,13 @@ - @jsii.member(jsii_name="overrideMe") - def override_me(self, mult: jsii.Number) -> jsii.Number: - ''' - :param mult: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__49537950cbbeb6e2c62cb1b8a079cc9bb5cc6d06d95cf2229128539d2be886a3) -+ check_type(argname="argument mult", value=mult, expected_type=type_hints["mult"]) - return typing.cast(jsii.Number, jsii.ainvoke(self, "overrideMe", [mult])) - - @jsii.member(jsii_name="overrideMeToo") - def override_me_too(self) -> jsii.Number: - return typing.cast(jsii.Number, jsii.ainvoke(self, "overrideMeToo", [])) -@@ -570,10 +667,14 @@ - '''Creates a BinaryOperation. - - :param lhs: Left-hand side operand. - :param rhs: Right-hand side operand. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__408890be1949f7684db536e79081b85d00d72250ca9eb19c74db6ad226564784) -+ check_type(argname="argument lhs", value=lhs, expected_type=type_hints["lhs"]) -+ check_type(argname="argument rhs", value=rhs, expected_type=type_hints["rhs"]) - jsii.create(self.__class__, self, [lhs, rhs]) - - @jsii.member(jsii_name="hello") - def hello(self) -> builtins.str: - '''Say hello!''' -@@ -634,10 +735,13 @@ - - :param value: the value that should be returned. - - :return: \`\`value\`\` - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__67894f861ef38d2769b440d2fe71f549cb9e333247b385c5d6ae862b2eb04fc5) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - return typing.cast(typing.Any, jsii.invoke(self, "giveItBack", [value])) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class - typing.cast(typing.Any, BurriedAnonymousObject).__jsii_proxy_class__ = lambda : _BurriedAnonymousObjectProxy - -@@ -687,18 +791,24 @@ - def add(self, value: jsii.Number) -> None: - '''Adds a number to the current value. - - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__106b87a3d0b194bda7cee057654f752c82d9a92a3775bcc3b2dc5cf7814ba84d) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - return typing.cast(None, jsii.invoke(self, "add", [value])) - - @jsii.member(jsii_name="mul") - def mul(self, value: jsii.Number) -> None: - '''Multiplies the current value by a number. - - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__b0e9a9c8546dd024e1568b2e6d11bd847e53548d624f33afffdffacc77fe01ef) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - return typing.cast(None, jsii.invoke(self, "mul", [value])) - - @jsii.member(jsii_name="neg") - def neg(self) -> None: - '''Negates the current value.''' -@@ -708,10 +818,13 @@ - def pow(self, value: jsii.Number) -> None: - '''Raises the current value by a power. - - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c62707f1a80d6bc26c0b74205f8892c1777e6ed97359263df05628018d8ef6fc) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - return typing.cast(None, jsii.invoke(self, "pow", [value])) - - @jsii.member(jsii_name="readUnionValue") - def read_union_value(self) -> jsii.Number: - '''Returns teh value of the union property (if defined).''' -@@ -743,20 +856,26 @@ - '''The current value.''' - return typing.cast(_scope_jsii_calc_lib_c61f082f.NumericValue, jsii.get(self, "curr")) - - @curr.setter - def curr(self, value: _scope_jsii_calc_lib_c61f082f.NumericValue) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c74abb191c66f86aed2c139ec3e50b0442b6d3bdcd41beb06db17c9b3c5d93d0) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "curr", value) - - @builtins.property - @jsii.member(jsii_name="maxValue") - def max_value(self) -> typing.Optional[jsii.Number]: - '''The maximum value allows in this calculator.''' - return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "maxValue")) - - @max_value.setter - def max_value(self, value: typing.Optional[jsii.Number]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__1af5d9bb897bd9bfc2029e92d33fc306fc090e2d0a9bc0bd70fb01762e798fe6) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "maxValue", value) - - @builtins.property - @jsii.member(jsii_name="unionProperty") - def union_property( -@@ -768,10 +887,13 @@ - @union_property.setter - def union_property( - self, - value: typing.Optional[typing.Union["Add", "Multiply", "Power"]], - ) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__349b2a1dce95cb7ff4c5a7772d81772697767c5f4e7e5fd709847ff5e526c3c1) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "unionProperty", value) - - - @jsii.data_type( - jsii_type="jsii-calc.CalculatorProps", -@@ -788,10 +910,14 @@ - '''Properties for Calculator. - - :param initial_value: The initial value of the calculator. NOTE: Any number works here, it's fine. Default: 0 - :param maximum_value: The maximum value the calculator can store. Default: none - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__21033948ed66f89716ed818c4cf9e5a38a9252e042231e1e8e1672356d403bef) -+ check_type(argname="argument initial_value", value=initial_value, expected_type=type_hints["initial_value"]) -+ check_type(argname="argument maximum_value", value=maximum_value, expected_type=type_hints["maximum_value"]) - self._values: typing.Dict[builtins.str, typing.Any] = {} - if initial_value is not None: - self._values["initial_value"] = initial_value - if maximum_value is not None: - self._values["maximum_value"] = maximum_value -@@ -837,10 +963,13 @@ - union_property: typing.Sequence[typing.Mapping[builtins.str, typing.Union[typing.Union["StructA", typing.Dict[builtins.str, typing.Any]], typing.Union["StructB", typing.Dict[builtins.str, typing.Any]]]]], - ) -> None: - ''' - :param union_property: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__9e749834c2e46eee6370de7b60daabbff6e5c16febe9775b98a2b961b0d4e335) -+ check_type(argname="argument union_property", value=union_property, expected_type=type_hints["union_property"]) - jsii.create(self.__class__, self, [union_property]) - - @builtins.property - @jsii.member(jsii_name="unionProperty") - def union_property( -@@ -851,10 +980,13 @@ - @union_property.setter - def union_property( - self, - value: typing.List[typing.Mapping[builtins.str, typing.Union["StructA", "StructB"]]], - ) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__80b80f78c4ac7fda46ac2aec7ab826a87bef3eaaba64661c90f346972800baf5) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "unionProperty", value) - - - class ClassWithCollections( - metaclass=jsii.JSIIMeta, -@@ -867,10 +999,14 @@ - ) -> None: - ''' - :param map: - - :param array: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__7eb49cfb1282d7f1bd28096ff0407c0806693194f02f5c053936f99756a2a8fd) -+ check_type(argname="argument map", value=map, expected_type=type_hints["map"]) -+ check_type(argname="argument array", value=array, expected_type=type_hints["array"]) - jsii.create(self.__class__, self, [map, array]) - - @jsii.member(jsii_name="createAList") - @builtins.classmethod - def create_a_list(cls) -> typing.List[builtins.str]: -@@ -886,37 +1022,49 @@ - def static_array(cls) -> typing.List[builtins.str]: # pyright: ignore [reportGeneralTypeIssues] - return typing.cast(typing.List[builtins.str], jsii.sget(cls, "staticArray")) - - @static_array.setter # type: ignore[no-redef] - def static_array(cls, value: typing.List[builtins.str]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__964903eb68623806c91fc9026cacfdc726cfbb287698530724c5a9938a7bb2ca) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.sset(cls, "staticArray", value) - - @jsii.python.classproperty - @jsii.member(jsii_name="staticMap") - def static_map(cls) -> typing.Mapping[builtins.str, builtins.str]: # pyright: ignore [reportGeneralTypeIssues] - return typing.cast(typing.Mapping[builtins.str, builtins.str], jsii.sget(cls, "staticMap")) - - @static_map.setter # type: ignore[no-redef] - def static_map(cls, value: typing.Mapping[builtins.str, builtins.str]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__8dd7203701e4915203e4778820ee40fe6bdd6f0bb2855c200f375606277e06c8) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.sset(cls, "staticMap", value) - - @builtins.property - @jsii.member(jsii_name="array") - def array(self) -> typing.List[builtins.str]: - return typing.cast(typing.List[builtins.str], jsii.get(self, "array")) - - @array.setter - def array(self, value: typing.List[builtins.str]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c0c76fec28076841e36c26581c26385de1e984d96e91ea434a61c4bf36c9b4d9) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "array", value) - - @builtins.property - @jsii.member(jsii_name="map") - def map(self) -> typing.Mapping[builtins.str, builtins.str]: - return typing.cast(typing.Mapping[builtins.str, builtins.str], jsii.get(self, "map")) - - @map.setter - def map(self, value: typing.Mapping[builtins.str, builtins.str]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5461a3c7bb81040765e4ca2e9effb12cc7f5fb018e5e1b8b21501a3f9cd6a8b3) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "map", value) - - - class ClassWithContainerTypes( - metaclass=jsii.JSIIMeta, -@@ -938,10 +1086,15 @@ - :param obj: - - :param array_prop: - :param obj_prop: - :param record_prop: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__11d94174b1d488125abef65967a384ceb599f4948eca6cb9be3d55e1979fb64f) -+ check_type(argname="argument array", value=array, expected_type=type_hints["array"]) -+ check_type(argname="argument record", value=record, expected_type=type_hints["record"]) -+ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) - props = ContainerProps( - array_prop=array_prop, obj_prop=obj_prop, record_prop=record_prop - ) - - jsii.create(self.__class__, self, [array, record, obj, props]) -@@ -991,17 +1144,23 @@ - ): - def __init__(self, int: builtins.str) -> None: - ''' - :param int: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c017a39e0da5d21f3a9acbfd00f6a5c84eb4cad306148504e7c835359d35537e) -+ check_type(argname="argument int", value=int, expected_type=type_hints["int"]) - jsii.create(self.__class__, self, [int]) - - @jsii.member(jsii_name="import") - def import_(self, assert_: builtins.str) -> builtins.str: - ''' - :param assert_: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__7a756cab89b47a2ae4c08f36162482b60fdf963b8ba638917a63c5e110b4d33e) -+ check_type(argname="argument assert_", value=assert_, expected_type=type_hints["assert_"]) - return typing.cast(builtins.str, jsii.invoke(self, "import", [assert_])) - - @builtins.property - @jsii.member(jsii_name="int") - def int(self) -> builtins.str: -@@ -1020,10 +1179,13 @@ - def mutable_object(self) -> "IMutableObjectLiteral": - return typing.cast("IMutableObjectLiteral", jsii.get(self, "mutableObject")) - - @mutable_object.setter - def mutable_object(self, value: "IMutableObjectLiteral") -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__3afbef7e05ef43a18b9260b86660c09b15be66fabeae128c9a9f99b729da7143) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "mutableObject", value) - - - class ClassWithNestedUnion( - metaclass=jsii.JSIIMeta, -@@ -1034,10 +1196,13 @@ - union_property: typing.Sequence[typing.Union[typing.Mapping[builtins.str, typing.Union[typing.Union["StructA", typing.Dict[builtins.str, typing.Any]], typing.Union["StructB", typing.Dict[builtins.str, typing.Any]]]], typing.Sequence[typing.Union[typing.Union["StructA", typing.Dict[builtins.str, typing.Any]], typing.Union["StructB", typing.Dict[builtins.str, typing.Any]]]]]], - ) -> None: - ''' - :param union_property: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__0b8f0f729686dad01c8555a3b1bc47509e495bd18f1560ef045b558884b2a1fb) -+ check_type(argname="argument union_property", value=union_property, expected_type=type_hints["union_property"]) - jsii.create(self.__class__, self, [union_property]) - - @builtins.property - @jsii.member(jsii_name="unionProperty") - def union_property( -@@ -1048,10 +1213,13 @@ - @union_property.setter - def union_property( - self, - value: typing.List[typing.Union[typing.Mapping[builtins.str, typing.Union["StructA", "StructB"]], typing.List[typing.Union["StructA", "StructB"]]]], - ) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__a8a15eb37393d5188c71779e29278367f7b3600c6dd48bdbcd502cdf510c3c15) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "unionProperty", value) - - - class ConfusingToJackson( - metaclass=jsii.JSIIMeta, -@@ -1082,10 +1250,13 @@ - @union_property.setter - def union_property( - self, - value: typing.Optional[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, typing.List[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, "AbstractClass"]]]], - ) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__ec229cc92e04670f4dca9546759b3b39ee813eb1aa18057135bb155d08971e6a) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "unionProperty", value) - - - @jsii.data_type( - jsii_type="jsii-calc.ConfusingToJacksonStruct", -@@ -1099,10 +1270,13 @@ - union_property: typing.Optional[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, typing.Sequence[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, "AbstractClass"]]]] = None, - ) -> None: - ''' - :param union_property: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__481b1113b85e6dc9d7ba31c3ef5654e3550abac1edef9204348ab0f9554f61c1) -+ check_type(argname="argument union_property", value=union_property, expected_type=type_hints["union_property"]) - self._values: typing.Dict[builtins.str, typing.Any] = {} - if union_property is not None: - self._values["union_property"] = union_property - - @builtins.property -@@ -1130,10 +1304,13 @@ - ): - def __init__(self, consumer: "PartiallyInitializedThisConsumer") -> None: - ''' - :param consumer: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5676fcb3395f1db1a013537fa52220553e5e418c2a9d97aa2f9541c00ffe259e) -+ check_type(argname="argument consumer", value=consumer, expected_type=type_hints["consumer"]) - jsii.create(self.__class__, self, [consumer]) - - - class Constructors(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Constructors"): - def __init__(self) -> None: -@@ -1181,10 +1358,13 @@ - ): - def __init__(self, delegate: "IStructReturningDelegate") -> None: - ''' - :param delegate: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5c5defc6d683ee91707f8b7770d8d2fb11d381b9c928d7e5d6e2c5c495395f38) -+ check_type(argname="argument delegate", value=delegate, expected_type=type_hints["delegate"]) - jsii.create(self.__class__, self, [delegate]) - - @jsii.member(jsii_name="workItBaby") - def work_it_baby(self) -> "StructB": - return typing.cast("StructB", jsii.invoke(self, "workItBaby", [])) -@@ -1213,10 +1393,13 @@ - - Returns whether the bell was rung. - - :param ringer: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__1df814299f3f9720be108d84bdfd61bc591699a79a3c8ac6d450bfb0a9610278) -+ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) - return typing.cast(builtins.bool, jsii.sinvoke(cls, "staticImplementedByObjectLiteral", [ringer])) - - @jsii.member(jsii_name="staticImplementedByPrivateClass") - @builtins.classmethod - def static_implemented_by_private_class( -@@ -1227,10 +1410,13 @@ - - Return whether the bell was rung. - - :param ringer: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__2f08bd2d56e856071db5f777b63fe2577f9e96dbfcd91e4044d0eda2d26f9017) -+ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) - return typing.cast(builtins.bool, jsii.sinvoke(cls, "staticImplementedByPrivateClass", [ringer])) - - @jsii.member(jsii_name="staticImplementedByPublicClass") - @builtins.classmethod - def static_implemented_by_public_class(cls, ringer: "IBellRinger") -> builtins.bool: -@@ -1238,10 +1424,13 @@ - - Return whether the bell was rung. - - :param ringer: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__4a2b7f0a05298ddaec112cb088cc71cfa2856aaa1d8414a5157d581b6d5a7293) -+ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) - return typing.cast(builtins.bool, jsii.sinvoke(cls, "staticImplementedByPublicClass", [ringer])) - - @jsii.member(jsii_name="staticWhenTypedAsClass") - @builtins.classmethod - def static_when_typed_as_class(cls, ringer: "IConcreteBellRinger") -> builtins.bool: -@@ -1249,50 +1438,65 @@ - - Return whether the bell was rung. - - :param ringer: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__f751da3f5766ea4973eb2d89086565259f0a3cd626425a7eec723afd7b64f392) -+ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) - return typing.cast(builtins.bool, jsii.sinvoke(cls, "staticWhenTypedAsClass", [ringer])) - - @jsii.member(jsii_name="implementedByObjectLiteral") - def implemented_by_object_literal(self, ringer: "IBellRinger") -> builtins.bool: - '''...if the interface is implemented using an object literal. - - Returns whether the bell was rung. - - :param ringer: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__cca04fe4a4c41a0034087ab0c574d1d2f1d0427d87a806fc660446b6a7e5290a) -+ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) - return typing.cast(builtins.bool, jsii.invoke(self, "implementedByObjectLiteral", [ringer])) - - @jsii.member(jsii_name="implementedByPrivateClass") - def implemented_by_private_class(self, ringer: "IBellRinger") -> builtins.bool: - '''...if the interface is implemented using a private class. - - Return whether the bell was rung. - - :param ringer: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__7bde53b867de290d21a419baa46b8e833a0d394835a1ce2be3b429179b2ddce5) -+ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) - return typing.cast(builtins.bool, jsii.invoke(self, "implementedByPrivateClass", [ringer])) - - @jsii.member(jsii_name="implementedByPublicClass") - def implemented_by_public_class(self, ringer: "IBellRinger") -> builtins.bool: - '''...if the interface is implemented using a public class. - - Return whether the bell was rung. - - :param ringer: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__988e53d92b16fb4b7224c654f985a074cbfa7dd5f567df005b41522641ad92ac) -+ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) - return typing.cast(builtins.bool, jsii.invoke(self, "implementedByPublicClass", [ringer])) - - @jsii.member(jsii_name="whenTypedAsClass") - def when_typed_as_class(self, ringer: "IConcreteBellRinger") -> builtins.bool: - '''If the parameter is a concrete class instead of an interface. - - Return whether the bell was rung. - - :param ringer: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__1d786308546ae61deacb465c6f501fe7e0be028973494548b57e0480759ed460) -+ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) - return typing.cast(builtins.bool, jsii.invoke(self, "whenTypedAsClass", [ringer])) - - - class ConsumersOfThisCrazyTypeSystem( - metaclass=jsii.JSIIMeta, -@@ -1307,20 +1511,26 @@ - obj: "IAnotherPublicInterface", - ) -> builtins.str: - ''' - :param obj: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__83037a3f429b90a38d2d9532a347144030578d83f68817b1a5677ebcd1b38e12) -+ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) - return typing.cast(builtins.str, jsii.invoke(self, "consumeAnotherPublicInterface", [obj])) - - @jsii.member(jsii_name="consumeNonInternalInterface") - def consume_non_internal_interface( - self, - obj: "INonInternalInterface", - ) -> typing.Any: - ''' - :param obj: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__139bf4e63e56bef32e364c5972e055de5cba153d49cc821740fba1d51f73ef70) -+ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) - return typing.cast(typing.Any, jsii.invoke(self, "consumeNonInternalInterface", [obj])) - - - @jsii.data_type( - jsii_type="jsii-calc.ContainerProps", -@@ -1342,10 +1552,15 @@ - ''' - :param array_prop: - :param obj_prop: - :param record_prop: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__2be181b08e5a2c0e1e3f3a84732a423af31039117701d35431ee251d343ca9d5) -+ check_type(argname="argument array_prop", value=array_prop, expected_type=type_hints["array_prop"]) -+ check_type(argname="argument obj_prop", value=obj_prop, expected_type=type_hints["obj_prop"]) -+ check_type(argname="argument record_prop", value=record_prop, expected_type=type_hints["record_prop"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "array_prop": array_prop, - "obj_prop": obj_prop, - "record_prop": record_prop, - } -@@ -1411,17 +1626,23 @@ - data: typing.Mapping[builtins.str, typing.Any], - ) -> builtins.str: - ''' - :param data: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__dd941dcba8415b4b4dbb95bc3f55ac3404bdaf303822dfc7093fb615dc66b2cf) -+ check_type(argname="argument data", value=data, expected_type=type_hints["data"]) - return typing.cast(builtins.str, jsii.invoke(self, "renderArbitrary", [data])) - - @jsii.member(jsii_name="renderMap") - def render_map(self, map: typing.Mapping[builtins.str, typing.Any]) -> builtins.str: - ''' - :param map: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__9008dfc97234c0f2895caaa88d20a94de081c3cd97c38f9a012f13cdae75fbd6) -+ check_type(argname="argument map", value=map, expected_type=type_hints["map"]) - return typing.cast(builtins.str, jsii.invoke(self, "renderMap", [map])) - - - class Default(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Default"): - '''A class named "Default". -@@ -1450,10 +1671,15 @@ - ''' - :param arg1: - - :param arg2: - - :param arg3: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__019e6ec86ae7ee325dc404a7025eaf0edcb164e166535a831bccf6658adfbb10) -+ check_type(argname="argument arg1", value=arg1, expected_type=type_hints["arg1"]) -+ check_type(argname="argument arg2", value=arg2, expected_type=type_hints["arg2"]) -+ check_type(argname="argument arg3", value=arg3, expected_type=type_hints["arg3"]) - jsii.create(self.__class__, self, [arg1, arg2, arg3]) - - @builtins.property - @jsii.member(jsii_name="arg1") - def arg1(self) -> jsii.Number: -@@ -1511,10 +1737,14 @@ - - :deprecated: this constructor is "just" okay - - :stability: deprecated - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__f64945b01dd806fcd872f369983e1fa6b3db8811cb0682ac6adf88aebb0aabda) -+ check_type(argname="argument readonly_string", value=readonly_string, expected_type=type_hints["readonly_string"]) -+ check_type(argname="argument mutable_number", value=mutable_number, expected_type=type_hints["mutable_number"]) - jsii.create(self.__class__, self, [readonly_string, mutable_number]) - - @jsii.member(jsii_name="method") - def method(self) -> None: - ''' -@@ -1544,10 +1774,13 @@ - ''' - return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__3aef3220b38be7daf4208453b1766d9eafb6a74bd51dfb351d21235a205afa34) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "mutableProperty", value) - - - @jsii.enum(jsii_type="jsii-calc.DeprecatedEnum") - class DeprecatedEnum(enum.Enum): -@@ -1583,10 +1816,13 @@ - - :deprecated: it just wraps a string - - :stability: deprecated - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__cdee1d6893b4921a8d7cf0a9c957a543b69f7a98eb3cedd7ece84871fc81c767) -+ check_type(argname="argument readonly_property", value=readonly_property, expected_type=type_hints["readonly_property"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "readonly_property": readonly_property, - } - - @builtins.property -@@ -1651,10 +1887,21 @@ - :param non_primitive: An example of a non primitive property. - :param another_optional: This is optional. - :param optional_any: - :param optional_array: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c544311353634d5a2f08144f0c184afbcb700d8304b9f49deae99f19e1e7b0af) -+ check_type(argname="argument anumber", value=anumber, expected_type=type_hints["anumber"]) -+ check_type(argname="argument astring", value=astring, expected_type=type_hints["astring"]) -+ check_type(argname="argument first_optional", value=first_optional, expected_type=type_hints["first_optional"]) -+ check_type(argname="argument another_required", value=another_required, expected_type=type_hints["another_required"]) -+ check_type(argname="argument bool", value=bool, expected_type=type_hints["bool"]) -+ check_type(argname="argument non_primitive", value=non_primitive, expected_type=type_hints["non_primitive"]) -+ check_type(argname="argument another_optional", value=another_optional, expected_type=type_hints["another_optional"]) -+ check_type(argname="argument optional_any", value=optional_any, expected_type=type_hints["optional_any"]) -+ check_type(argname="argument optional_array", value=optional_array, expected_type=type_hints["optional_array"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "anumber": anumber, - "astring": astring, - "another_required": another_required, - "bool": bool, -@@ -1775,10 +2022,16 @@ - :param hoisted_top: - :param left: - :param right: - :param bottom: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__865cdfdd094ca753189170221ee7d6a0e59c2c0bcfdeff3dc37bb87dd39515ca) -+ check_type(argname="argument hoisted_top", value=hoisted_top, expected_type=type_hints["hoisted_top"]) -+ check_type(argname="argument left", value=left, expected_type=type_hints["left"]) -+ check_type(argname="argument right", value=right, expected_type=type_hints["right"]) -+ check_type(argname="argument bottom", value=bottom, expected_type=type_hints["bottom"]) - self._values: typing.Dict[builtins.str, typing.Any] = {} - if hoisted_top is not None: - self._values["hoisted_top"] = hoisted_top - if left is not None: - self._values["left"] = left -@@ -1836,10 +2089,13 @@ - class DiamondInheritanceBaseLevelStruct: - def __init__(self, *, base_level_property: builtins.str) -> None: - ''' - :param base_level_property: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__cfa52ba952c3d4a7e6df7fba3f619bf3ac14c52e829cce862a5fa495e45d0e70) -+ check_type(argname="argument base_level_property", value=base_level_property, expected_type=type_hints["base_level_property"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "base_level_property": base_level_property, - } - - @builtins.property -@@ -1877,10 +2133,14 @@ - ) -> None: - ''' - :param base_level_property: - :param first_mid_level_property: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__354311bd3d60d2b3b4ea927d6a96bdf66aa6d1109c29bfcd96266051c7c30a5e) -+ check_type(argname="argument base_level_property", value=base_level_property, expected_type=type_hints["base_level_property"]) -+ check_type(argname="argument first_mid_level_property", value=first_mid_level_property, expected_type=type_hints["first_mid_level_property"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "base_level_property": base_level_property, - "first_mid_level_property": first_mid_level_property, - } - -@@ -1925,10 +2185,14 @@ - ) -> None: - ''' - :param base_level_property: - :param second_mid_level_property: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__8074c5f38699399b9e6f8708c125bef5d7c89118c36ffcce8582d66cac2197da) -+ check_type(argname="argument base_level_property", value=base_level_property, expected_type=type_hints["base_level_property"]) -+ check_type(argname="argument second_mid_level_property", value=second_mid_level_property, expected_type=type_hints["second_mid_level_property"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "base_level_property": base_level_property, - "second_mid_level_property": second_mid_level_property, - } - -@@ -1984,10 +2248,16 @@ - :param base_level_property: - :param first_mid_level_property: - :param second_mid_level_property: - :param top_level_property: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__9384691e88dd3ab7e55516762b2076445d94bd6d9348db1b93f79de9f4ae0ea1) -+ check_type(argname="argument base_level_property", value=base_level_property, expected_type=type_hints["base_level_property"]) -+ check_type(argname="argument first_mid_level_property", value=first_mid_level_property, expected_type=type_hints["first_mid_level_property"]) -+ check_type(argname="argument second_mid_level_property", value=second_mid_level_property, expected_type=type_hints["second_mid_level_property"]) -+ check_type(argname="argument top_level_property", value=top_level_property, expected_type=type_hints["top_level_property"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "base_level_property": base_level_property, - "first_mid_level_property": first_mid_level_property, - "second_mid_level_property": second_mid_level_property, - "top_level_property": top_level_property, -@@ -2067,10 +2337,13 @@ - @jsii.member(jsii_name="changePrivatePropertyValue") - def change_private_property_value(self, new_value: builtins.str) -> None: - ''' - :param new_value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5ae2124576c295a0c88fc75be0e57258f0f72e63c733e7493367b8558266510e) -+ check_type(argname="argument new_value", value=new_value, expected_type=type_hints["new_value"]) - return typing.cast(None, jsii.invoke(self, "changePrivatePropertyValue", [new_value])) - - @jsii.member(jsii_name="privateMethodValue") - def private_method_value(self) -> builtins.str: - return typing.cast(builtins.str, jsii.invoke(self, "privateMethodValue", [])) -@@ -2099,10 +2372,15 @@ - ''' - :param _required_any: - - :param _optional_any: - - :param _optional_string: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__8ffaadb351f5c2c48a7368068d5c88e0c7836deefe0e13aa9fe53ac104052fd5) -+ check_type(argname="argument _required_any", value=_required_any, expected_type=type_hints["_required_any"]) -+ check_type(argname="argument _optional_any", value=_optional_any, expected_type=type_hints["_optional_any"]) -+ check_type(argname="argument _optional_string", value=_optional_string, expected_type=type_hints["_optional_string"]) - return typing.cast(None, jsii.invoke(self, "method", [_required_any, _optional_any, _optional_string])) - - - class DocumentedClass(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.DocumentedClass"): - '''Here's the first line of the TSDoc comment. -@@ -2174,10 +2452,14 @@ - ) -> builtins.str: - ''' - :param optional: - - :param things: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5af7b38b9b5c170ebd3e05c215e05f10e6843b03868850dad87a5a149b90e790) -+ check_type(argname="argument optional", value=optional, expected_type=type_hints["optional"]) -+ check_type(argname="argument things", value=things, expected_type=typing.Tuple[type_hints["things"], ...]) # pyright: ignore [reportGeneralTypeIssues] - return typing.cast(builtins.str, jsii.invoke(self, "optionalAndVariadic", [optional, *things])) - - - @jsii.data_type( - jsii_type="jsii-calc.DontUseMe", -@@ -2190,10 +2472,13 @@ - - Don't use this interface An interface that shouldn't be used, with the annotation in a weird place. - - :param dont_set_me: .. epigraph:: Don't set this parameter. A parameter that shouldn't be set, with the annotation in a weird place. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__feb33b34fd05e771c7e47c132104c701042acfdf4eb6753873c4463e01f3cd9c) -+ check_type(argname="argument dont_set_me", value=dont_set_me, expected_type=type_hints["dont_set_me"]) - self._values: typing.Dict[builtins.str, typing.Any] = {} - if dont_set_me is not None: - self._values["dont_set_me"] = dont_set_me - - @builtins.property -@@ -2227,10 +2512,13 @@ - class DummyObj: - def __init__(self, *, example: builtins.str) -> None: - ''' - :param example: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__ae5d543014149876cec8b005abbb94c112981cccaf318870c7fe4e8353c2c675) -+ check_type(argname="argument example", value=example, expected_type=type_hints["example"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "example": example, - } - - @builtins.property -@@ -2259,28 +2547,37 @@ - - def __init__(self, value_store: builtins.str) -> None: - ''' - :param value_store: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c0d457497f870b36d210f01af9890c6624684d1e53da833858e801c18baf9fbb) -+ check_type(argname="argument value_store", value=value_store, expected_type=type_hints["value_store"]) - jsii.create(self.__class__, self, [value_store]) - - @builtins.property - @jsii.member(jsii_name="dynamicProperty") - def dynamic_property(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "dynamicProperty")) - - @dynamic_property.setter - def dynamic_property(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__4f40c12fae2ef2673f3f324c0c452f65c187c1b3e6552b86768465a2d20de051) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "dynamicProperty", value) - - @builtins.property - @jsii.member(jsii_name="valueStore") - def value_store(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "valueStore")) - - @value_store.setter - def value_store(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__9106fb2a86e944ce0c61537852ab2d310a8a53448c6946af051de0325a67fa1a) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "valueStore", value) - - - class DynamicPropertyBearerChild( - DynamicPropertyBearer, -@@ -2289,20 +2586,26 @@ - ): - def __init__(self, original_value: builtins.str) -> None: - ''' - :param original_value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__ad557fbd0532aa4220227645f5aae3e73ebae6b529cfe074430abf30d18cd5e9) -+ check_type(argname="argument original_value", value=original_value, expected_type=type_hints["original_value"]) - jsii.create(self.__class__, self, [original_value]) - - @jsii.member(jsii_name="overrideValue") - def override_value(self, new_value: builtins.str) -> builtins.str: - '''Sets \`\`this.dynamicProperty\`\` to the new value, and returns the old value. - - :param new_value: the new value to be set. - - :return: the old value that was set. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__a4026611d197b83d9a37b973ba97c69254e674921a7d89d0eb57ac41a19b636e) -+ check_type(argname="argument new_value", value=new_value, expected_type=type_hints["new_value"]) - return typing.cast(builtins.str, jsii.invoke(self, "overrideValue", [new_value])) - - @builtins.property - @jsii.member(jsii_name="originalValue") - def original_value(self) -> builtins.str: -@@ -2315,10 +2618,13 @@ - def __init__(self, clock: "IWallClock") -> None: - '''Creates a new instance of Entropy. - - :param clock: your implementation of \`\`WallClock\`\`. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__2a7f203302b2610301f1b36f34453db0f5572f2e02b0bc4c9933fd670e594222) -+ check_type(argname="argument clock", value=clock, expected_type=type_hints["clock"]) - jsii.create(self.__class__, self, [clock]) - - @jsii.member(jsii_name="increase") - def increase(self) -> builtins.str: - '''Increases entropy by consuming time from the clock (yes, this is a long shot, please don't judge). -@@ -2346,10 +2652,13 @@ - - :param word: the value to return. - - :return: \`\`word\`\`. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__a90d161fb7d47a195a192cf987ac6968fc2c6fbe27005bdd7684478a3d956e66) -+ check_type(argname="argument word", value=word, expected_type=type_hints["word"]) - return typing.cast(builtins.str, jsii.invoke(self, "repeat", [word])) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class - typing.cast(typing.Any, Entropy).__jsii_proxy_class__ = lambda : _EntropyProxy - -@@ -2386,10 +2695,14 @@ - are being erased when sending values from native code to JS. - - :param opts: - - :param key: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__b87cc89f87e9b1c180227625f3aba9395da5a8b258a88e605d466edb9004d709) -+ check_type(argname="argument opts", value=opts, expected_type=type_hints["opts"]) -+ check_type(argname="argument key", value=key, expected_type=type_hints["key"]) - return typing.cast(builtins.bool, jsii.sinvoke(cls, "doesKeyExist", [opts, key])) - - @jsii.member(jsii_name="prop1IsNull") - @builtins.classmethod - def prop1_is_null(cls) -> typing.Mapping[builtins.str, typing.Any]: -@@ -2417,10 +2730,14 @@ - ) -> None: - ''' - :param option1: - :param option2: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__d34e4f5dab670ec3ea298ec2cda50be32700f7f52dcef6a618ca9cb3706062ee) -+ check_type(argname="argument option1", value=option1, expected_type=type_hints["option1"]) -+ check_type(argname="argument option2", value=option2, expected_type=type_hints["option2"]) - self._values: typing.Dict[builtins.str, typing.Any] = {} - if option1 is not None: - self._values["option1"] = option1 - if option2 is not None: - self._values["option2"] = option2 -@@ -2464,10 +2781,14 @@ - :param readonly_string: - - :param mutable_number: - - - :stability: experimental - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__6a92c7223d00e7a0a2f0611cbb689671885b835bb26eedc8eb4a4d12e4ed5021) -+ check_type(argname="argument readonly_string", value=readonly_string, expected_type=type_hints["readonly_string"]) -+ check_type(argname="argument mutable_number", value=mutable_number, expected_type=type_hints["mutable_number"]) - jsii.create(self.__class__, self, [readonly_string, mutable_number]) - - @jsii.member(jsii_name="method") - def method(self) -> None: - ''' -@@ -2491,10 +2812,13 @@ - ''' - return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__52559292c6e04ad49e53e443b1a4c56149833b8f12876d779bb8860fcb231b41) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "mutableProperty", value) - - - @jsii.enum(jsii_type="jsii-calc.ExperimentalEnum") - class ExperimentalEnum(enum.Enum): -@@ -2522,10 +2846,13 @@ - ''' - :param readonly_property: - - :stability: experimental - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__b0c8f4c6eca5af7072a4a7c737950b39e75c61a56c505deb94edc5cd0995ed7d) -+ check_type(argname="argument readonly_property", value=readonly_property, expected_type=type_hints["readonly_property"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "readonly_property": readonly_property, - } - - @builtins.property -@@ -2555,10 +2882,13 @@ - ): - def __init__(self, success: builtins.bool) -> None: - ''' - :param success: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__dad018fa707514e8023df185b5e6e0a4b611bec563fe57abd9b81939b8833ebb) -+ check_type(argname="argument success", value=success, expected_type=type_hints["success"]) - jsii.create(self.__class__, self, [success]) - - @builtins.property - @jsii.member(jsii_name="success") - def success(self) -> builtins.bool: -@@ -2574,10 +2904,14 @@ - def __init__(self, *, boom: builtins.bool, prop: builtins.str) -> None: - ''' - :param boom: - :param prop: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__861a5ec03219f6c9fecd1b039faa2e53075227ff0d28f8eb66929909bc0c3096) -+ check_type(argname="argument boom", value=boom, expected_type=type_hints["boom"]) -+ check_type(argname="argument prop", value=prop, expected_type=type_hints["prop"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "boom": boom, - "prop": prop, - } - -@@ -2619,10 +2953,14 @@ - :param readonly_string: - - :param mutable_number: - - - :external: true - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__82149b1f61aca58419f6ba4c74c8bb1c5c241433707e64ea4626937b294d8fe5) -+ check_type(argname="argument readonly_string", value=readonly_string, expected_type=type_hints["readonly_string"]) -+ check_type(argname="argument mutable_number", value=mutable_number, expected_type=type_hints["mutable_number"]) - jsii.create(self.__class__, self, [readonly_string, mutable_number]) - - @jsii.member(jsii_name="method") - def method(self) -> None: - ''' -@@ -2646,10 +2984,13 @@ - ''' - return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__8380ec30b1f8773df7b5b27be8811be79b04f1d17c8eca83f83927eb56cdfd34) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "mutableProperty", value) - - - @jsii.enum(jsii_type="jsii-calc.ExternalEnum") - class ExternalEnum(enum.Enum): -@@ -2677,10 +3018,13 @@ - ''' - :param readonly_property: - - :external: true - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__8e8843a5fc914ec2c1e3baccdad526ea4d48eee37296f6812f3c0673ef86794f) -+ check_type(argname="argument readonly_property", value=readonly_property, expected_type=type_hints["readonly_property"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "readonly_property": readonly_property, - } - - @builtins.property -@@ -2823,10 +3167,13 @@ - def __init__(self, *, name: typing.Optional[builtins.str] = None) -> None: - '''These are some arguments you can pass to a method. - - :param name: The name of the greetee. Default: world - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__3dce87825e36304d54521ce5524aa7e230fa5d505b0abbc79101fd9014f2cbd9) -+ check_type(argname="argument name", value=name, expected_type=type_hints["name"]) - self._values: typing.Dict[builtins.str, typing.Any] = {} - if name is not None: - self._values["name"] = name - - @builtins.property -@@ -2863,10 +3210,13 @@ - friendly: _scope_jsii_calc_lib_c61f082f.IFriendly, - ) -> builtins.str: - ''' - :param friendly: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__d17f0544be961cba6cabfbb40f28c196963de107fcaef9c56d8227bdcb359431) -+ check_type(argname="argument friendly", value=friendly, expected_type=type_hints["friendly"]) - return typing.cast(builtins.str, jsii.invoke(self, "betterGreeting", [friendly])) - - - @jsii.interface(jsii_type="jsii-calc.IAnonymousImplementationProvider") - class IAnonymousImplementationProvider(typing_extensions.Protocol): -@@ -2946,10 +3296,13 @@ - def a(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "a")) - - @a.setter - def a(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__3eabfcad9a21b26024f4c1480ca127a3d6c6888067f0ae991d5922a49bfe81d4) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "a", value) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface - typing.cast(typing.Any, IAnotherPublicInterface).__jsii_proxy_class__ = lambda : _IAnotherPublicInterfaceProxy - -@@ -2992,10 +3345,13 @@ - @jsii.member(jsii_name="yourTurn") - def your_turn(self, bell: IBell) -> None: - ''' - :param bell: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__d127476ce3b6e59ff9f375f547c1b6e1826d7a3969612c0605ebd0017d2b985d) -+ check_type(argname="argument bell", value=bell, expected_type=type_hints["bell"]) - return typing.cast(None, jsii.invoke(self, "yourTurn", [bell])) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface - typing.cast(typing.Any, IBellRinger).__jsii_proxy_class__ = lambda : _IBellRingerProxy - -@@ -3020,10 +3376,13 @@ - @jsii.member(jsii_name="yourTurn") - def your_turn(self, bell: "Bell") -> None: - ''' - :param bell: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__2c34aaac5945bdc61c4f56492dee5608e1852940835d94d3e991fed377db66f2) -+ check_type(argname="argument bell", value=bell, expected_type=type_hints["bell"]) - return typing.cast(None, jsii.invoke(self, "yourTurn", [bell])) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface - typing.cast(typing.Any, IConcreteBellRinger).__jsii_proxy_class__ = lambda : _IConcreteBellRingerProxy - -@@ -3079,10 +3438,13 @@ - ''' - return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__e4d76200a6c5bdbdd51f208229da8bfd8f6f4c967af28e1e733579780e9d4a0e) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "mutableProperty", value) - - @jsii.member(jsii_name="method") - def method(self) -> None: - ''' -@@ -3137,10 +3499,13 @@ - ''' - return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__6e68d313f3254be7145220b211c66f45749aa8efc15aaf93d96330eb3cb7c6c7) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "mutableProperty", value) - - @jsii.member(jsii_name="method") - def method(self) -> None: - ''' -@@ -3182,10 +3547,13 @@ - def private(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "private")) - - @private.setter - def private(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__8199a83e86f8a4cf29ddc53d2b2151c37c7fa10d29562b454127376d1867d6da) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "private", value) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface - typing.cast(typing.Any, IExtendsPrivateInterface).__jsii_proxy_class__ = lambda : _IExtendsPrivateInterfaceProxy - -@@ -3231,10 +3599,13 @@ - ''' - return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__a904d745cb9f037de717ed7a2b1d3a207493564662fdbe1d7c63e60a24f9bace) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "mutableProperty", value) - - @jsii.member(jsii_name="method") - def method(self) -> None: - ''' -@@ -3416,10 +3787,14 @@ - ) -> None: - ''' - :param arg1: - - :param arg2: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5568c72c746dd5221cb6fb7b741ed7a3346c346d7a30863c5abe3d99ada53098) -+ check_type(argname="argument arg1", value=arg1, expected_type=type_hints["arg1"]) -+ check_type(argname="argument arg2", value=arg2, expected_type=type_hints["arg2"]) - return typing.cast(None, jsii.invoke(self, "hello", [arg1, arg2])) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface - typing.cast(typing.Any, IInterfaceWithOptionalMethodArguments).__jsii_proxy_class__ = lambda : _IInterfaceWithOptionalMethodArgumentsProxy - -@@ -3454,10 +3829,13 @@ - def read_write_string(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "readWriteString")) - - @read_write_string.setter - def read_write_string(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__858de6e8785f18ad264a158ca83a0fc1e0a6299efa9f77a0b31eaaffaa5b086c) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "readWriteString", value) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface - typing.cast(typing.Any, IInterfaceWithProperties).__jsii_proxy_class__ = lambda : _IInterfaceWithPropertiesProxy - -@@ -3487,10 +3865,13 @@ - def foo(self) -> jsii.Number: - return typing.cast(jsii.Number, jsii.get(self, "foo")) - - @foo.setter - def foo(self, value: jsii.Number) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c571c6749392bc04e123a99b926edaf10b88be6b6d6b6a3937cae9893af5119e) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "foo", value) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface - typing.cast(typing.Any, IInterfaceWithPropertiesExtension).__jsii_proxy_class__ = lambda : _IInterfaceWithPropertiesExtensionProxy - -@@ -4010,10 +4391,13 @@ - def value(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "value")) - - @value.setter - def value(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__e0395944061fad9d5156b633dc20682ff9759ae0acb88df574b159f4919ab3a5) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "value", value) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface - typing.cast(typing.Any, IMutableObjectLiteral).__jsii_proxy_class__ = lambda : _IMutableObjectLiteralProxy - -@@ -4049,19 +4433,25 @@ - def b(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "b")) - - @b.setter - def b(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__9d1e4198ba3f4e6b6a6f4ce0a4a185223ec216368c0c3304c69b029aba13ca49) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "b", value) - - @builtins.property - @jsii.member(jsii_name="c") - def c(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "c")) - - @c.setter - def c(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__6774e195ab25dab5790e1d187eb30be56997804d5186753a9928f2575f81977b) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "c", value) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface - typing.cast(typing.Any, INonInternalInterface).__jsii_proxy_class__ = lambda : _INonInternalInterfaceProxy - -@@ -4094,10 +4484,13 @@ - def property(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "property")) - - @property.setter - def property(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__831f664cd567fd4e707fd175e9c9e13519f3ca587b792d7d5bc79f427589a802) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "property", value) - - @jsii.member(jsii_name="wasSet") - def was_set(self) -> builtins.bool: - return typing.cast(builtins.bool, jsii.invoke(self, "wasSet", [])) -@@ -4290,10 +4683,13 @@ - def mutable_property(self) -> typing.Optional[jsii.Number]: - return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__254a58386276f7b7d5a41dddd674375b8942c2cad4deb6c2d24b55d240d14350) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "mutableProperty", value) - - @jsii.member(jsii_name="method") - def method(self) -> None: - return typing.cast(None, jsii.invoke(self, "method", [])) -@@ -4360,10 +4756,13 @@ - def prop(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "prop")) - - @prop.setter - def prop(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__10bb8b026d6c8368d479cf0da8b27c049c5f9088f173a63624e515dd36607439) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "prop", value) - - - class Implementation(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Implementation"): - def __init__(self) -> None: -@@ -4409,10 +4808,13 @@ - def private(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "private")) - - @private.setter - def private(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__2df4d055b033cdfdf7ad915b451ddc787ad68fb64b7e02386a9d8e591c1657af) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "private", value) - - - @jsii.data_type( - jsii_type="jsii-calc.ImplictBaseOfBase", -@@ -4430,10 +4832,15 @@ - ''' - :param foo: - - :param bar: - - :param goo: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__b70592e4d080897239bf5f8b0de5b6b464cd9e888e39fca1082c04b5cbeca890) -+ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) -+ check_type(argname="argument bar", value=bar, expected_type=type_hints["bar"]) -+ check_type(argname="argument goo", value=goo, expected_type=type_hints["goo"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "foo": foo, - "bar": bar, - "goo": goo, - } -@@ -4508,10 +4915,13 @@ - count: jsii.Number, - ) -> typing.List[_scope_jsii_calc_lib_c61f082f.IDoublable]: - ''' - :param count: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__1d6e348a61ed27bfc8b7928365798b43e0130ca2b720c1105baca04fa093d194) -+ check_type(argname="argument count", value=count, expected_type=type_hints["count"]) - return typing.cast(typing.List[_scope_jsii_calc_lib_c61f082f.IDoublable], jsii.sinvoke(cls, "makeInterfaces", [count])) - - - class Isomorphism(metaclass=jsii.JSIIAbstractClass, jsii_type="jsii-calc.Isomorphism"): - '''Checks the "same instance" isomorphism is preserved within the constructor. -@@ -4616,19 +5026,25 @@ - def prop_a(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "propA")) - - @prop_a.setter - def prop_a(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__30ce308abdc1d2462c00bf7a4acc194ec05d61ddee24b2e79c674aa7034e5ffa) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "propA", value) - - @builtins.property - @jsii.member(jsii_name="propB") - def prop_b(self) -> jsii.Number: - return typing.cast(jsii.Number, jsii.get(self, "propB")) - - @prop_b.setter - def prop_b(self, value: jsii.Number) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__eef7c487e6f0c4d81dd633cf70121104ff8f3458fa52a418df64bcab9fe4bd3e) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "propB", value) - - - class JavaReservedWords( - metaclass=jsii.JSIIMeta, -@@ -4850,10 +5266,13 @@ - def while_(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "while")) - - @while_.setter - def while_(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__a7654af9a241e67ad498c3eb33b98e6cdb1558487bb9b02dcce41f75334b76ad) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "while", value) - - - @jsii.implements(IJsii487External2, IJsii487External) - class Jsii487Derived(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Jsii487Derived"): -@@ -4955,10 +5374,13 @@ - @builtins.classmethod - def stringify(cls, value: typing.Any = None) -> typing.Optional[builtins.str]: - ''' - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__43f45c49ecee3d08351b82aa5cdc3548d9dafa534cd2d99da8b5c5c9188e9a54) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - return typing.cast(typing.Optional[builtins.str], jsii.sinvoke(cls, "stringify", [value])) - - - class LevelOne(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.LevelOne"): - '''Validates that nested classes get correct code generation for the occasional forward reference.''' -@@ -4988,10 +5410,13 @@ - class PropBooleanValue: - def __init__(self, *, value: builtins.bool) -> None: - ''' - :param value: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__ef705a05998260349d35c748c557e65cf539d53e136eb9191250080bdce852c3) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "value": value, - } - - @builtins.property -@@ -5025,10 +5450,13 @@ - ''' - :param prop: - ''' - if isinstance(prop, dict): - prop = LevelOne.PropBooleanValue(**prop) -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__2a9e65060bf85c3d49b79ada1f9394ae146c380a4212c190065e031098d570b8) -+ check_type(argname="argument prop", value=prop, expected_type=type_hints["prop"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "prop": prop, - } - - @builtins.property -@@ -5063,10 +5491,13 @@ - ''' - :param prop: - ''' - if isinstance(prop, dict): - prop = LevelOne.PropProperty(**prop) -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__479be5d5625f656c28cf12ffdc2cef9d6d74aae555551630f440fcb05351d261) -+ check_type(argname="argument prop", value=prop, expected_type=type_hints["prop"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "prop": prop, - } - - @builtins.property -@@ -5114,10 +5545,17 @@ - :param cpu: The number of cpu units used by the task. Valid values, which determines your range of valid values for the memory parameter: 256 (.25 vCPU) - Available memory values: 0.5GB, 1GB, 2GB 512 (.5 vCPU) - Available memory values: 1GB, 2GB, 3GB, 4GB 1024 (1 vCPU) - Available memory values: 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB 2048 (2 vCPU) - Available memory values: Between 4GB and 16GB in 1GB increments 4096 (4 vCPU) - Available memory values: Between 8GB and 30GB in 1GB increments This default is set in the underlying FargateTaskDefinition construct. Default: 256 - :param memory_mib: The amount (in MiB) of memory used by the task. This field is required and you must use one of the following values, which determines your range of valid values for the cpu parameter: 0.5GB, 1GB, 2GB - Available cpu values: 256 (.25 vCPU) 1GB, 2GB, 3GB, 4GB - Available cpu values: 512 (.5 vCPU) 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB - Available cpu values: 1024 (1 vCPU) Between 4GB and 16GB in 1GB increments - Available cpu values: 2048 (2 vCPU) Between 8GB and 30GB in 1GB increments - Available cpu values: 4096 (4 vCPU) This default is set in the underlying FargateTaskDefinition construct. Default: 512 - :param public_load_balancer: Determines whether the Application Load Balancer will be internet-facing. Default: true - :param public_tasks: Determines whether your Fargate Service will be assigned a public IP address. Default: false - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__b3d89a25beb0ebd10c196d941aa924197ae9a2def08f1f414c190a2a6d943d9c) -+ check_type(argname="argument container_port", value=container_port, expected_type=type_hints["container_port"]) -+ check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"]) -+ check_type(argname="argument memory_mib", value=memory_mib, expected_type=type_hints["memory_mib"]) -+ check_type(argname="argument public_load_balancer", value=public_load_balancer, expected_type=type_hints["public_load_balancer"]) -+ check_type(argname="argument public_tasks", value=public_tasks, expected_type=type_hints["public_tasks"]) - self._values: typing.Dict[builtins.str, typing.Any] = {} - if container_port is not None: - self._values["container_port"] = container_port - if cpu is not None: - self._values["cpu"] = cpu -@@ -5244,10 +5682,14 @@ - '''Creates a BinaryOperation. - - :param lhs: Left-hand side operand. - :param rhs: Right-hand side operand. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__7e73465ea858e34d4df8697d34f29a53ca3c3a41c47946382e5d49f498e3747d) -+ check_type(argname="argument lhs", value=lhs, expected_type=type_hints["lhs"]) -+ check_type(argname="argument rhs", value=rhs, expected_type=type_hints["rhs"]) - jsii.create(self.__class__, self, [lhs, rhs]) - - @jsii.member(jsii_name="farewell") - def farewell(self) -> builtins.str: - '''Say farewell.''' -@@ -5295,10 +5737,13 @@ - class NestedStruct: - def __init__(self, *, number_prop: jsii.Number) -> None: - ''' - :param number_prop: When provided, must be > 0. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__04dae031a5097183ccda93eb91ec51a8a6fa1133134a6a398f1f05c581bc0091) -+ check_type(argname="argument number_prop", value=number_prop, expected_type=type_hints["number_prop"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "number_prop": number_prop, - } - - @builtins.property -@@ -5369,17 +5814,24 @@ - def __init__(self, _param1: builtins.str, optional: typing.Any = None) -> None: - ''' - :param _param1: - - :param optional: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__218107d38285901ff40e08163f0de0bac5d835bd64c21c0a735e8d72399ebe35) -+ check_type(argname="argument _param1", value=_param1, expected_type=type_hints["_param1"]) -+ check_type(argname="argument optional", value=optional, expected_type=type_hints["optional"]) - jsii.create(self.__class__, self, [_param1, optional]) - - @jsii.member(jsii_name="giveMeUndefined") - def give_me_undefined(self, value: typing.Any = None) -> None: - ''' - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__a109cd8429db09172895a3eb04ca7e9d5c92129c7ca7a50f85fa89b6f6ab366b) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - return typing.cast(None, jsii.invoke(self, "giveMeUndefined", [value])) - - @jsii.member(jsii_name="giveMeUndefinedInsideAnObject") - def give_me_undefined_inside_an_object( - self, -@@ -5407,10 +5859,13 @@ - def change_me_to_undefined(self) -> typing.Optional[builtins.str]: - return typing.cast(typing.Optional[builtins.str], jsii.get(self, "changeMeToUndefined")) - - @change_me_to_undefined.setter - def change_me_to_undefined(self, value: typing.Optional[builtins.str]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__7102c29a709c4297fb88615c74a3e42a584364ac4ccba5c1db42a65e05184d1b) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "changeMeToUndefined", value) - - - @jsii.data_type( - jsii_type="jsii-calc.NullShouldBeTreatedAsUndefinedData", -@@ -5429,10 +5884,14 @@ - ) -> None: - ''' - :param array_with_three_elements_and_undefined_as_second_argument: - :param this_should_be_undefined: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__ae8d47cabe4d36f88c891d250d7e792432b0d153223789ec3687e714ba92a5f3) -+ check_type(argname="argument array_with_three_elements_and_undefined_as_second_argument", value=array_with_three_elements_and_undefined_as_second_argument, expected_type=type_hints["array_with_three_elements_and_undefined_as_second_argument"]) -+ check_type(argname="argument this_should_be_undefined", value=this_should_be_undefined, expected_type=type_hints["this_should_be_undefined"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "array_with_three_elements_and_undefined_as_second_argument": array_with_three_elements_and_undefined_as_second_argument, - } - if this_should_be_undefined is not None: - self._values["this_should_be_undefined"] = this_should_be_undefined -@@ -5467,17 +5926,23 @@ - - def __init__(self, generator: IRandomNumberGenerator) -> None: - ''' - :param generator: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__3c1812783ba0b3b2146a3dd9609a6e12af404502ff5fbb9b9a9be49bf576122b) -+ check_type(argname="argument generator", value=generator, expected_type=type_hints["generator"]) - jsii.create(self.__class__, self, [generator]) - - @jsii.member(jsii_name="isSameGenerator") - def is_same_generator(self, gen: IRandomNumberGenerator) -> builtins.bool: - ''' - :param gen: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__151b90e9765ce9a05ae13e568f4ba7c9e36e34c1cd991c5c1ee0249869fd4cce) -+ check_type(argname="argument gen", value=gen, expected_type=type_hints["gen"]) - return typing.cast(builtins.bool, jsii.invoke(self, "isSameGenerator", [gen])) - - @jsii.member(jsii_name="nextTimes100") - def next_times100(self) -> jsii.Number: - return typing.cast(jsii.Number, jsii.invoke(self, "nextTimes100", [])) -@@ -5487,10 +5952,13 @@ - def generator(self) -> IRandomNumberGenerator: - return typing.cast(IRandomNumberGenerator, jsii.get(self, "generator")) - - @generator.setter - def generator(self, value: IRandomNumberGenerator) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__0f5a1cc548d3db6e156cec5671bc04b980132e529c77f3bb5aaa58427db35e7c) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "generator", value) - - - class ObjectRefsInCollections( - metaclass=jsii.JSIIMeta, -@@ -5508,10 +5976,13 @@ - ) -> jsii.Number: - '''Returns the sum of all values. - - :param values: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__f5cb9f9511b0248cd4c0c4bec4eed9e75e7690012237fdb1b39b3f7b3bb0392e) -+ check_type(argname="argument values", value=values, expected_type=type_hints["values"]) - return typing.cast(jsii.Number, jsii.invoke(self, "sumFromArray", [values])) - - @jsii.member(jsii_name="sumFromMap") - def sum_from_map( - self, -@@ -5519,10 +5990,13 @@ - ) -> jsii.Number: - '''Returns the sum of all values in a map. - - :param values: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__ca5199647728e53a1ec89d4fd7dad9aeb7239f8c1213c51b4e2eda734daa4cf4) -+ check_type(argname="argument values", value=values, expected_type=type_hints["values"]) - return typing.cast(jsii.Number, jsii.invoke(self, "sumFromMap", [values])) - - - class ObjectWithPropertyProvider( - metaclass=jsii.JSIIMeta, -@@ -5563,10 +6037,13 @@ - ): - def __init__(self, delegate: IInterfaceWithOptionalMethodArguments) -> None: - ''' - :param delegate: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__da93d15e57e6e2a1857cd7df156fb2a55ec91715c97323f20268def40f72137c) -+ check_type(argname="argument delegate", value=delegate, expected_type=type_hints["delegate"]) - jsii.create(self.__class__, self, [delegate]) - - @jsii.member(jsii_name="invokeWithOptional") - def invoke_with_optional(self) -> None: - return typing.cast(None, jsii.invoke(self, "invokeWithOptional", [])) -@@ -5589,10 +6066,15 @@ - ''' - :param arg1: - - :param arg2: - - :param arg3: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5f6c5e5b55379123a8bd2bc457d9a5e9a0d34dd512b2bd2f59c6a5bec2a95f14) -+ check_type(argname="argument arg1", value=arg1, expected_type=type_hints["arg1"]) -+ check_type(argname="argument arg2", value=arg2, expected_type=type_hints["arg2"]) -+ check_type(argname="argument arg3", value=arg3, expected_type=type_hints["arg3"]) - jsii.create(self.__class__, self, [arg1, arg2, arg3]) - - @builtins.property - @jsii.member(jsii_name="arg1") - def arg1(self) -> jsii.Number: -@@ -5617,10 +6099,13 @@ - class OptionalStruct: - def __init__(self, *, field: typing.Optional[builtins.str] = None) -> None: - ''' - :param field: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__26ecd0d4ea200acf388a8b91f17bfd3c09b6c7f8e0a84228b89c27ace672d0b1) -+ check_type(argname="argument field", value=field, expected_type=type_hints["field"]) - self._values: typing.Dict[builtins.str, typing.Any] = {} - if field is not None: - self._values["field"] = field - - @builtins.property -@@ -5696,10 +6181,13 @@ - def _override_read_write(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "overrideReadWrite")) - - @_override_read_write.setter - def _override_read_write(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__72ca8c3c148afe2b76dc14b63b8e2baf0bbf28802add3f88490cb5d3792825fb) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "overrideReadWrite", value) - - - class OverrideReturnsObject( - metaclass=jsii.JSIIMeta, -@@ -5711,10 +6199,13 @@ - @jsii.member(jsii_name="test") - def test(self, obj: IReturnsNumber) -> jsii.Number: - ''' - :param obj: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__ca8d417ddf787890441d6903718eebaf7fde3508b3466202724fdac3a17ba79b) -+ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) - return typing.cast(jsii.Number, jsii.invoke(self, "test", [obj])) - - - class ParamShadowsBuiltins( - metaclass=jsii.JSIIMeta, -@@ -5736,10 +6227,14 @@ - :param str: should be set to something that is NOT a valid expression in Python (e.g: "\${NOPE}""). - :param boolean_property: - :param string_property: - :param struct_property: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__32a51b5d61d5ca58d33e8f6b9d9e1c4f16b39bf431a669250d4c290de0bbf46f) -+ check_type(argname="argument builtins", value=builtins, expected_type=type_hints["builtins"]) -+ check_type(argname="argument str", value=str, expected_type=type_hints["str"]) - props = ParamShadowsBuiltinsProps( - boolean_property=boolean_property, - string_property=string_property, - struct_property=struct_property, - ) -@@ -5769,10 +6264,15 @@ - :param string_property: - :param struct_property: - ''' - if isinstance(struct_property, dict): - struct_property = StructA(**struct_property) -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c93d69c5c8307eec2d1c6e8d5f9892234fbdd24bb5cce3f5ea1e210276bc58c1) -+ check_type(argname="argument boolean_property", value=boolean_property, expected_type=type_hints["boolean_property"]) -+ check_type(argname="argument string_property", value=string_property, expected_type=type_hints["string_property"]) -+ check_type(argname="argument struct_property", value=struct_property, expected_type=type_hints["struct_property"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "boolean_property": boolean_property, - "string_property": string_property, - "struct_property": struct_property, - } -@@ -5825,10 +6325,13 @@ - scope: _scope_jsii_calc_lib_c61f082f.Number, - ) -> _scope_jsii_calc_lib_c61f082f.Number: - ''' - :param scope: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__ae63c91319764cabd02536ac5b03026eb3f4071497b2a04adf93ca02985507ae) -+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"]) - return typing.cast(_scope_jsii_calc_lib_c61f082f.Number, jsii.invoke(self, "useScope", [scope])) - - - @jsii.data_type( - jsii_type="jsii-calc.ParentStruct982", -@@ -5839,10 +6342,13 @@ - def __init__(self, *, foo: builtins.str) -> None: - '''https://github.com/aws/jsii/issues/982. - - :param foo: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__f6db465208dd616dc4f171643676a159b21fe5963ec9a3d1fd752e5cb291868d) -+ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "foo": foo, - } - - @builtins.property -@@ -5897,10 +6403,15 @@ - ''' - :param obj: - - :param dt: - - :param ev: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__85c3ad65f24d8d5af99d7777a0379b793f45ac0e0e39714f279b8f2d58dbcfdb) -+ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) -+ check_type(argname="argument dt", value=dt, expected_type=type_hints["dt"]) -+ check_type(argname="argument ev", value=ev, expected_type=type_hints["ev"]) - return typing.cast(builtins.str, jsii.invoke(self, "consumePartiallyInitializedThis", [obj, dt, ev])) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class - typing.cast(typing.Any, PartiallyInitializedThisConsumer).__jsii_proxy_class__ = lambda : _PartiallyInitializedThisConsumerProxy - -@@ -5915,10 +6426,13 @@ - friendly: _scope_jsii_calc_lib_c61f082f.IFriendly, - ) -> builtins.str: - ''' - :param friendly: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__edbbf85a7c4217635da7418d28aa61c4e11f7a0c1e9c960528ed4e7bee1ad541) -+ check_type(argname="argument friendly", value=friendly, expected_type=type_hints["friendly"]) - return typing.cast(builtins.str, jsii.invoke(self, "sayHello", [friendly])) - - - class Power( - _CompositeOperation_1c4d123b, -@@ -5935,10 +6449,14 @@ - '''Creates a Power operation. - - :param base: The base of the power. - :param pow: The number of times to multiply. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__df4f41b4c003b9ba61f07f4d41a4059f167ea41c03ea29933966d2caeb831d8c) -+ check_type(argname="argument base", value=base, expected_type=type_hints["base"]) -+ check_type(argname="argument pow", value=pow, expected_type=type_hints["pow"]) - jsii.create(self.__class__, self, [base, pow]) - - @builtins.property - @jsii.member(jsii_name="base") - def base(self) -> _scope_jsii_calc_lib_c61f082f.NumericValue: -@@ -6161,10 +6679,13 @@ - value: _scope_jsii_calc_lib_c61f082f.EnumFromScopedModule, - ) -> None: - ''' - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__235768085718ab33214221cff3145bb2a82c28916350f273995760a428a1aba3) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - return typing.cast(None, jsii.invoke(self, "saveFoo", [value])) - - @builtins.property - @jsii.member(jsii_name="foo") - def foo( -@@ -6175,10 +6696,13 @@ - @foo.setter - def foo( - self, - value: typing.Optional[_scope_jsii_calc_lib_c61f082f.EnumFromScopedModule], - ) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__100c679fa10c1938fc087475a1e5fcdf7c2cbff383b1c02b1d09471cb4f23123) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "foo", value) - - - class ReturnsPrivateImplementationOfInterface( - metaclass=jsii.JSIIMeta, -@@ -6220,10 +6744,14 @@ - :param string_prop: May not be empty. - :param nested_struct: - ''' - if isinstance(nested_struct, dict): - nested_struct = NestedStruct(**nested_struct) -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__cf66d7b4f4a567aefacbafc24f61d33a942afde3d167676ed65ea82da95cd36e) -+ check_type(argname="argument string_prop", value=string_prop, expected_type=type_hints["string_prop"]) -+ check_type(argname="argument nested_struct", value=nested_struct, expected_type=type_hints["nested_struct"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "string_prop": string_prop, - } - if nested_struct is not None: - self._values["nested_struct"] = nested_struct -@@ -6290,17 +6818,25 @@ - ''' - :param arg1: - - :param arg2: - - :param arg3: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__6db501e892de783af62ff728e59cc3155afc51ddc2dff77cce61ffe698e2e1f3) -+ check_type(argname="argument arg1", value=arg1, expected_type=type_hints["arg1"]) -+ check_type(argname="argument arg2", value=arg2, expected_type=type_hints["arg2"]) -+ check_type(argname="argument arg3", value=arg3, expected_type=type_hints["arg3"]) - return typing.cast(None, jsii.invoke(self, "methodWithDefaultedArguments", [arg1, arg2, arg3])) - - @jsii.member(jsii_name="methodWithOptionalAnyArgument") - def method_with_optional_any_argument(self, arg: typing.Any = None) -> None: - ''' - :param arg: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5978f09aaa3317742377437d5735571f672119325c2b5d69f26153bae6764c85) -+ check_type(argname="argument arg", value=arg, expected_type=type_hints["arg"]) - return typing.cast(None, jsii.invoke(self, "methodWithOptionalAnyArgument", [arg])) - - @jsii.member(jsii_name="methodWithOptionalArguments") - def method_with_optional_arguments( - self, -@@ -6312,10 +6848,15 @@ - - :param arg1: - - :param arg2: - - :param arg3: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c894904fd4904d7e110da91df846a8ec0970051a274bba5ad95c2b7dc1125cc2) -+ check_type(argname="argument arg1", value=arg1, expected_type=type_hints["arg1"]) -+ check_type(argname="argument arg2", value=arg2, expected_type=type_hints["arg2"]) -+ check_type(argname="argument arg3", value=arg3, expected_type=type_hints["arg3"]) - return typing.cast(None, jsii.invoke(self, "methodWithOptionalArguments", [arg1, arg2, arg3])) - - - @jsii.data_type( - jsii_type="jsii-calc.SecondLevelStruct", -@@ -6334,10 +6875,14 @@ - ) -> None: - ''' - :param deeper_required_prop: It's long and required. - :param deeper_optional_prop: It's long, but you'll almost never pass it. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__e7383b9a36a10b88815e6c310c7b13c611260f5ccb143b75dac114873643350d) -+ check_type(argname="argument deeper_required_prop", value=deeper_required_prop, expected_type=type_hints["deeper_required_prop"]) -+ check_type(argname="argument deeper_optional_prop", value=deeper_optional_prop, expected_type=type_hints["deeper_optional_prop"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "deeper_required_prop": deeper_required_prop, - } - if deeper_optional_prop is not None: - self._values["deeper_optional_prop"] = deeper_optional_prop -@@ -6399,10 +6944,13 @@ - @jsii.member(jsii_name="isSingletonInt") - def is_singleton_int(self, value: jsii.Number) -> builtins.bool: - ''' - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__2ccde09a2986c421795069d44c46d9e2d7470609094b8b7177c6b154360f7435) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - return typing.cast(builtins.bool, jsii.invoke(self, "isSingletonInt", [value])) - - - @jsii.enum(jsii_type="jsii-calc.SingletonIntEnum") - class SingletonIntEnum(enum.Enum): -@@ -6421,10 +6969,13 @@ - @jsii.member(jsii_name="isSingletonString") - def is_singleton_string(self, value: builtins.str) -> builtins.bool: - ''' - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__76cbdc0bba36d674ab013a40d091c1f3ccb139f10e78844ebc868bfa5d707ef8) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - return typing.cast(builtins.bool, jsii.invoke(self, "isSingletonString", [value])) - - - @jsii.enum(jsii_type="jsii-calc.SingletonStringEnum") - class SingletonStringEnum(enum.Enum): -@@ -6448,10 +6999,14 @@ - ) -> None: - ''' - :param property: - :param yet_anoter_one: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__1b795ca2a3052da38144d10d87f230e74bcfa497af1262580f53908be48f6710) -+ check_type(argname="argument property", value=property, expected_type=type_hints["property"]) -+ check_type(argname="argument yet_anoter_one", value=yet_anoter_one, expected_type=type_hints["yet_anoter_one"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "property": property, - "yet_anoter_one": yet_anoter_one, - } - -@@ -6502,10 +7057,14 @@ - ) -> None: - ''' - :param readonly_string: - - :param mutable_number: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__8c577a76d55e32f4b62a2a005d0c321bf9d0784b2f6cea5f10e297f3f79fc4bb) -+ check_type(argname="argument readonly_string", value=readonly_string, expected_type=type_hints["readonly_string"]) -+ check_type(argname="argument mutable_number", value=mutable_number, expected_type=type_hints["mutable_number"]) - jsii.create(self.__class__, self, [readonly_string, mutable_number]) - - @jsii.member(jsii_name="method") - def method(self) -> None: - return typing.cast(None, jsii.invoke(self, "method", [])) -@@ -6520,10 +7079,13 @@ - def mutable_property(self) -> typing.Optional[jsii.Number]: - return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__737be2f0376e64bd8c0980aee9fc6afd796bb4d0cb3415eab28d054f15881752) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "mutableProperty", value) - - - @jsii.enum(jsii_type="jsii-calc.StableEnum") - class StableEnum(enum.Enum): -@@ -6539,10 +7101,13 @@ - class StableStruct: - def __init__(self, *, readonly_property: builtins.str) -> None: - ''' - :param readonly_property: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__4bbf1eebbce12768b1d2ef90968ffdbe749e42ce8bcdaf4c8750314d2160c5ea) -+ check_type(argname="argument readonly_property", value=readonly_property, expected_type=type_hints["readonly_property"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "readonly_property": readonly_property, - } - - @builtins.property -@@ -6579,10 +7144,13 @@ - def static_variable(cls) -> builtins.bool: # pyright: ignore [reportGeneralTypeIssues] - return typing.cast(builtins.bool, jsii.sget(cls, "staticVariable")) - - @static_variable.setter # type: ignore[no-redef] - def static_variable(cls, value: builtins.bool) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__cf00e16ec45ebcadc1f7003eb344ecf452096a12a1a76ff0e15fce1066d716d2) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.sset(cls, "staticVariable", value) - - - class StaticHelloParent( - metaclass=jsii.JSIIMeta, -@@ -6612,19 +7180,25 @@ - class Statics(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Statics"): - def __init__(self, value: builtins.str) -> None: - ''' - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__69df39c5fc3367bba974a46518d9122ce067721f56037ef6e1faedf479222822) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.create(self.__class__, self, [value]) - - @jsii.member(jsii_name="staticMethod") - @builtins.classmethod - def static_method(cls, name: builtins.str) -> builtins.str: - '''Jsdocs for static method. - - :param name: The name of the person to say hello to. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c4597464b7867e98bf0052f7808e080b75874d088aeac980865a4fc19e47a6d1) -+ check_type(argname="argument name", value=name, expected_type=type_hints["name"]) - return typing.cast(builtins.str, jsii.sinvoke(cls, "staticMethod", [name])) - - @jsii.member(jsii_name="justMethod") - def just_method(self) -> builtins.str: - return typing.cast(builtins.str, jsii.invoke(self, "justMethod", [])) -@@ -6661,19 +7235,25 @@ - ''' - return typing.cast("Statics", jsii.sget(cls, "instance")) - - @instance.setter # type: ignore[no-redef] - def instance(cls, value: "Statics") -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__748a4d0813e4a3ab750bd52215b9ff4dee315d39b160d47884780ea7c4b10daf) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.sset(cls, "instance", value) - - @jsii.python.classproperty - @jsii.member(jsii_name="nonConstStatic") - def non_const_static(cls) -> jsii.Number: # pyright: ignore [reportGeneralTypeIssues] - return typing.cast(jsii.Number, jsii.sget(cls, "nonConstStatic")) - - @non_const_static.setter # type: ignore[no-redef] - def non_const_static(cls, value: jsii.Number) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5d0ed37ae4b7f5bd294a768da342f4735c6636e0197883a5727e46ed81deec69) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.sset(cls, "nonConstStatic", value) - - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> builtins.str: -@@ -6696,10 +7276,13 @@ - def you_see_me(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "youSeeMe")) - - @you_see_me.setter - def you_see_me(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__aa3b9a5342b6fe1366fac3279219c5bae15389881ddd050c544c1d0001853482) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "youSeeMe", value) - - - @jsii.data_type( - jsii_type="jsii-calc.StructA", -@@ -6722,10 +7305,15 @@ - - :param required_string: - :param optional_number: - :param optional_string: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c9e4f6413d6ce49f4a289256d84d0fa97f7abac1877fc8d49f80f4a7d83a4972) -+ check_type(argname="argument required_string", value=required_string, expected_type=type_hints["required_string"]) -+ check_type(argname="argument optional_number", value=optional_number, expected_type=type_hints["optional_number"]) -+ check_type(argname="argument optional_string", value=optional_string, expected_type=type_hints["optional_string"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "required_string": required_string, - } - if optional_number is not None: - self._values["optional_number"] = optional_number -@@ -6783,10 +7371,15 @@ - :param optional_boolean: - :param optional_struct_a: - ''' - if isinstance(optional_struct_a, dict): - optional_struct_a = StructA(**optional_struct_a) -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__4d335a3a7bbc35ed76509a5e85466d6d29221efebdd6dd4de639ef040628f332) -+ check_type(argname="argument required_string", value=required_string, expected_type=type_hints["required_string"]) -+ check_type(argname="argument optional_boolean", value=optional_boolean, expected_type=type_hints["optional_boolean"]) -+ check_type(argname="argument optional_struct_a", value=optional_struct_a, expected_type=type_hints["optional_struct_a"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "required_string": required_string, - } - if optional_boolean is not None: - self._values["optional_boolean"] = optional_boolean -@@ -6838,10 +7431,14 @@ - See: https://github.com/aws/aws-cdk/issues/4302 - - :param scope: - :param props: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__7eb7b6caeb33bbd3740ca0fc027022df9d4fade4a7d1943a334f2869ab44bd98) -+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"]) -+ check_type(argname="argument props", value=props, expected_type=type_hints["props"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "scope": scope, - } - if props is not None: - self._values["props"] = props -@@ -6884,10 +7481,14 @@ - ) -> jsii.Number: - ''' - :param _positional: - - :param inputs: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__e3587fc6359e7cd1adf0bb70ed66e1cd69faa462a530e07c8d25a96b942cb943) -+ check_type(argname="argument _positional", value=_positional, expected_type=type_hints["_positional"]) -+ check_type(argname="argument inputs", value=inputs, expected_type=typing.Tuple[type_hints["inputs"], ...]) # pyright: ignore [reportGeneralTypeIssues] - return typing.cast(jsii.Number, jsii.sinvoke(cls, "howManyVarArgsDidIPass", [_positional, *inputs])) - - @jsii.member(jsii_name="roundTrip") - @builtins.classmethod - def round_trip( -@@ -6902,10 +7503,13 @@ - :param _positional: - - :param required: This is a required field. - :param second_level: A union to really stress test our serialization. - :param optional: You don't have to pass this. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__b60fd8dad9496da93546e0555f2f8a7a34711e7160c06dc64a47f095f1539d02) -+ check_type(argname="argument _positional", value=_positional, expected_type=type_hints["_positional"]) - input = TopLevelStruct( - required=required, second_level=second_level, optional=optional - ) - - return typing.cast("TopLevelStruct", jsii.sinvoke(cls, "roundTrip", [_positional, input])) -@@ -6922,10 +7526,13 @@ - struct: typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]], - ) -> builtins.bool: - ''' - :param struct: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__1c22dd35a08877498e4c2c0ed61e220c19d83da3b6a1e278dfcb7af4d76d2df8) -+ check_type(argname="argument struct", value=struct, expected_type=type_hints["struct"]) - return typing.cast(builtins.bool, jsii.sinvoke(cls, "isStructA", [struct])) - - @jsii.member(jsii_name="isStructB") - @builtins.classmethod - def is_struct_b( -@@ -6933,18 +7540,24 @@ - struct: typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]], - ) -> builtins.bool: - ''' - :param struct: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__bfb5d0235b42940b9a17c7bb3182f454c7652fdb031f8993719a701d42833623) -+ check_type(argname="argument struct", value=struct, expected_type=type_hints["struct"]) - return typing.cast(builtins.bool, jsii.sinvoke(cls, "isStructB", [struct])) - - @jsii.member(jsii_name="provideStruct") - @builtins.classmethod - def provide_struct(cls, which: builtins.str) -> typing.Union[StructA, StructB]: - ''' - :param which: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__e3e3d0b072ef214d95806fb0366dd1f4a92b97932f845c9364616c9348bce502) -+ check_type(argname="argument which", value=which, expected_type=type_hints["which"]) - return typing.cast(typing.Union[StructA, StructB], jsii.sinvoke(cls, "provideStruct", [which])) - - - @jsii.data_type( - jsii_type="jsii-calc.StructWithCollectionOfUnionts", -@@ -6958,10 +7571,13 @@ - union_property: typing.Sequence[typing.Mapping[builtins.str, typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]]]], - ) -> None: - ''' - :param union_property: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__06173422e8b2a410ef992bee26115592516245e72f1a99397919d18bfebc1259) -+ check_type(argname="argument union_property", value=union_property, expected_type=type_hints["union_property"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "union_property": union_property, - } - - @builtins.property -@@ -6998,10 +7614,14 @@ - ) -> None: - ''' - :param foo: An enum value. - :param bar: Optional enum value (of type integer). Default: AllTypesEnum.YOUR_ENUM_VALUE - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__9fac60639e71eb35a422d891e6b571b3ba2118da50de35e8ba784bbb73928be9) -+ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) -+ check_type(argname="argument bar", value=bar, expected_type=type_hints["bar"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "foo": foo, - } - if bar is not None: - self._values["bar"] = bar -@@ -7057,10 +7677,16 @@ - :param default: - :param assert_: - :param result: - :param that: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__21b11cdfe2d95237cdddef417a67936ff8529ea3cef4bd7e80fe498f1e27527d) -+ check_type(argname="argument default", value=default, expected_type=type_hints["default"]) -+ check_type(argname="argument assert_", value=assert_, expected_type=type_hints["assert_"]) -+ check_type(argname="argument result", value=result, expected_type=type_hints["result"]) -+ check_type(argname="argument that", value=that, expected_type=type_hints["that"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "default": default, - } - if assert_ is not None: - self._values["assert_"] = assert_ -@@ -7130,10 +7756,13 @@ - @parts.setter - def parts( - self, - value: typing.List[_scope_jsii_calc_lib_c61f082f.NumericValue], - ) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__e2e14d04b1a68f16d9aef0965aa4ffbc51af3cbd2d201ac6e236d861b10c2fbf) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "parts", value) - - - @jsii.data_type( - jsii_type="jsii-calc.SupportsNiceJavaBuilderProps", -@@ -7149,10 +7778,14 @@ - ) -> None: - ''' - :param bar: Some number, like 42. - :param id: An \`\`id\`\` field here is terrible API design, because the constructor of \`\`SupportsNiceJavaBuilder\`\` already has a parameter named \`\`id\`\`. But here we are, doing it like we didn't care. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__11e78aa6557af36be636eea7a1a9b1d6ebf38d63d876b270de65a5f23152b605) -+ check_type(argname="argument bar", value=bar, expected_type=type_hints["bar"]) -+ check_type(argname="argument id", value=id, expected_type=type_hints["id"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "bar": bar, - } - if id is not None: - self._values["id"] = id -@@ -7201,10 +7834,13 @@ - ''' - :param id_: some identifier of your choice. - :param bar: Some number, like 42. - :param id: An \`\`id\`\` field here is terrible API design, because the constructor of \`\`SupportsNiceJavaBuilder\`\` already has a parameter named \`\`id\`\`. But here we are, doing it like we didn't care. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__46b91a4f1b85f01437aa8a6dda82c7c9e02f0b2ae5324f8c1591fa7ff74feaa0) -+ check_type(argname="argument id_", value=id_, expected_type=type_hints["id_"]) - props = SupportsNiceJavaBuilderProps(bar=bar, id=id) - - jsii.create(self.__class__, self, [id_, props]) - - @builtins.property -@@ -7242,17 +7878,23 @@ - @jsii.member(jsii_name="modifyOtherProperty") - def modify_other_property(self, value: builtins.str) -> None: - ''' - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__a961c6dee96c75a70470863d82c09136094c1d72d47aafe7f105c7733536dd4d) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - return typing.cast(None, jsii.invoke(self, "modifyOtherProperty", [value])) - - @jsii.member(jsii_name="modifyValueOfTheProperty") - def modify_value_of_the_property(self, value: builtins.str) -> None: - ''' - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__f3d4d3109122672e8fa17c64fb60787d84a098ee0ee0857d4a10ffe5345a1908) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - return typing.cast(None, jsii.invoke(self, "modifyValueOfTheProperty", [value])) - - @jsii.member(jsii_name="readA") - def read_a(self) -> jsii.Number: - return typing.cast(jsii.Number, jsii.invoke(self, "readA", [])) -@@ -7272,17 +7914,23 @@ - @jsii.member(jsii_name="virtualMethod") - def virtual_method(self, n: jsii.Number) -> jsii.Number: - ''' - :param n: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__ba36c4cb32b9551fe1c3e91bd834b2e97f7ee93d0b5919acfb1c4fd3d6161295) -+ check_type(argname="argument n", value=n, expected_type=type_hints["n"]) - return typing.cast(jsii.Number, jsii.invoke(self, "virtualMethod", [n])) - - @jsii.member(jsii_name="writeA") - def write_a(self, value: jsii.Number) -> None: - ''' - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__7118412729d7ec6272cded791897b09f12ee70e1ca550853121f98ceb30ee0e7) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - return typing.cast(None, jsii.invoke(self, "writeA", [value])) - - @builtins.property - @jsii.member(jsii_name="readonlyProperty") - def readonly_property(self) -> builtins.str: -@@ -7293,46 +7941,61 @@ - def a(self) -> jsii.Number: - return typing.cast(jsii.Number, jsii.get(self, "a")) - - @a.setter - def a(self, value: jsii.Number) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c361a6694d6564ff5c16af012cfaf94cac0a971928a1d0fb014c27f971287836) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "a", value) - - @builtins.property - @jsii.member(jsii_name="callerIsProperty") - def caller_is_property(self) -> jsii.Number: - return typing.cast(jsii.Number, jsii.get(self, "callerIsProperty")) - - @caller_is_property.setter - def caller_is_property(self, value: jsii.Number) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__d5d44f6e3395b0db421bab95a6dd7d1560538c63f136025c6b216ffb01eae179) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "callerIsProperty", value) - - @builtins.property - @jsii.member(jsii_name="otherProperty") - def other_property(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "otherProperty")) - - @other_property.setter - def other_property(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__64c8c65ae76fcafb4b6d28e75f8fd31efad60ab9e71d11cbd5877c28c45d8f70) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "otherProperty", value) - - @builtins.property - @jsii.member(jsii_name="theProperty") - def the_property(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "theProperty")) - - @the_property.setter - def the_property(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__52ea95020be0094da769c873214a182768aa2de47b1c4c3dff43f1226edfe281) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "theProperty", value) - - @builtins.property - @jsii.member(jsii_name="valueOfOtherProperty") - def value_of_other_property(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "valueOfOtherProperty")) - - @value_of_other_property.setter - def value_of_other_property(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__21d6ffe465a7e42c257c8318bf2bee38ecbc6b1959e6e945e769e365afb3e55d) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "valueOfOtherProperty", value) - - - class TestStructWithEnum( - metaclass=jsii.JSIIMeta, -@@ -7415,10 +8078,15 @@ - ''' - :param required: This is a required field. - :param second_level: A union to really stress test our serialization. - :param optional: You don't have to pass this. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__74359fdf4e6a6505a1c0bc4c2c687826dde0a7696de75fc39f9ed57d89137f96) -+ check_type(argname="argument required", value=required, expected_type=type_hints["required"]) -+ check_type(argname="argument second_level", value=second_level, expected_type=type_hints["second_level"]) -+ check_type(argname="argument optional", value=optional, expected_type=type_hints["optional"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "required": required, - "second_level": second_level, - } - if optional is not None: -@@ -7509,10 +8177,13 @@ - - def __init__(self, operand: _scope_jsii_calc_lib_c61f082f.NumericValue) -> None: - ''' - :param operand: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__e31f878fe14747887a58683a15ca9c8ab54ec35cd6e3a665ad70dd53deadb573) -+ check_type(argname="argument operand", value=operand, expected_type=type_hints["operand"]) - jsii.create(self.__class__, self, [operand]) - - @builtins.property - @jsii.member(jsii_name="operand") - def operand(self) -> _scope_jsii_calc_lib_c61f082f.NumericValue: -@@ -7543,10 +8214,14 @@ - ) -> None: - ''' - :param bar: - :param foo: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__223de5294ccc50da976adb8794cb8556981e31d63a2c8b249f7dfbd9e2d99eac) -+ check_type(argname="argument bar", value=bar, expected_type=type_hints["bar"]) -+ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "bar": bar, - } - if foo is not None: - self._values["foo"] = foo -@@ -7583,10 +8258,13 @@ - - def __init__(self, delegate: typing.Mapping[builtins.str, typing.Any]) -> None: - ''' - :param delegate: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__aaaf822e80c6473bff9b1da58151a278cd846ae0614db9af97bc57ea6f899ce2) -+ check_type(argname="argument delegate", value=delegate, expected_type=type_hints["delegate"]) - jsii.create(self.__class__, self, [delegate]) - - @jsii.python.classproperty - @jsii.member(jsii_name="reflector") - def REFLECTOR(cls) -> _scope_jsii_calc_lib_custom_submodule_name_c61f082f.Reflector: -@@ -7629,10 +8307,13 @@ - ): - def __init__(self, obj: IInterfaceWithProperties) -> None: - ''' - :param obj: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__73d1545891c65d400938add489402441cb083c61d214ad7a922b6417d3984732) -+ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) - jsii.create(self.__class__, self, [obj]) - - @jsii.member(jsii_name="justRead") - def just_read(self) -> builtins.str: - return typing.cast(builtins.str, jsii.invoke(self, "justRead", [])) -@@ -7643,17 +8324,23 @@ - ext: IInterfaceWithPropertiesExtension, - ) -> builtins.str: - ''' - :param ext: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__60f3870a6dceb3773397b75ec3f3b664f38c2cc3d2f37dc055262663d12f41a8) -+ check_type(argname="argument ext", value=ext, expected_type=type_hints["ext"]) - return typing.cast(builtins.str, jsii.invoke(self, "readStringAndNumber", [ext])) - - @jsii.member(jsii_name="writeAndRead") - def write_and_read(self, value: builtins.str) -> builtins.str: - ''' - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__42edcb376aed0b6e6fec7d7df016bda9e3a31df0e47ecabb5465d1c84d16a414) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - return typing.cast(builtins.str, jsii.invoke(self, "writeAndRead", [value])) - - @builtins.property - @jsii.member(jsii_name="obj") - def obj(self) -> IInterfaceWithProperties: -@@ -7663,25 +8350,34 @@ - class VariadicInvoker(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.VariadicInvoker"): - def __init__(self, method: "VariadicMethod") -> None: - ''' - :param method: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__6d238d6a2f6e464c570c3176db3d78d62e0be9908b705705c8f6d7b6b2385c54) -+ check_type(argname="argument method", value=method, expected_type=type_hints["method"]) - jsii.create(self.__class__, self, [method]) - - @jsii.member(jsii_name="asArray") - def as_array(self, *values: jsii.Number) -> typing.List[jsii.Number]: - ''' - :param values: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__43f32dfb73f1a7fe9c86c00bbc381391db4812c13b5b72363ddcfcd57638c368) -+ check_type(argname="argument values", value=values, expected_type=typing.Tuple[type_hints["values"], ...]) # pyright: ignore [reportGeneralTypeIssues] - return typing.cast(typing.List[jsii.Number], jsii.invoke(self, "asArray", [*values])) - - - class VariadicMethod(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.VariadicMethod"): - def __init__(self, *prefix: jsii.Number) -> None: - ''' - :param prefix: a prefix that will be use for all values returned by \`\`#asArray\`\`. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__a33769c23320f9f6bce3e3a70c594135cf44ca5c9c6d1de1cae8cc62a99d49e9) -+ check_type(argname="argument prefix", value=prefix, expected_type=typing.Tuple[type_hints["prefix"], ...]) # pyright: ignore [reportGeneralTypeIssues] - jsii.create(self.__class__, self, [*prefix]) - - @jsii.member(jsii_name="asArray") - def as_array( - self, -@@ -7690,10 +8386,14 @@ - ) -> typing.List[jsii.Number]: - ''' - :param first: the first element of the array to be returned (after the \`\`prefix\`\` provided at construction time). - :param others: other elements to be included in the array. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__1c18f2c7d91dcdc13843ff1637ed95a1f1c1ed99384d6276ee493b0ca579b4a4) -+ check_type(argname="argument first", value=first, expected_type=type_hints["first"]) -+ check_type(argname="argument others", value=others, expected_type=typing.Tuple[type_hints["others"], ...]) # pyright: ignore [reportGeneralTypeIssues] - return typing.cast(typing.List[jsii.Number], jsii.invoke(self, "asArray", [first, *others])) - - - class VariadicTypeUnion( - metaclass=jsii.JSIIMeta, -@@ -7701,19 +8401,25 @@ - ): - def __init__(self, *union: typing.Union[StructA, StructB]) -> None: - ''' - :param union: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__f18ff2aa5c744d99cc2b37e705d6ed44823660f714c20539c148c9e34e123752) -+ check_type(argname="argument union", value=union, expected_type=typing.Tuple[type_hints["union"], ...]) # pyright: ignore [reportGeneralTypeIssues] - jsii.create(self.__class__, self, [*union]) - - @builtins.property - @jsii.member(jsii_name="union") - def union(self) -> typing.List[typing.Union[StructA, StructB]]: - return typing.cast(typing.List[typing.Union[StructA, StructB]], jsii.get(self, "union")) - - @union.setter - def union(self, value: typing.List[typing.Union[StructA, StructB]]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__01944feab2feb5a9fdf3d356f62de139685f520d3bb3a38ddc5c42d0b03963fe) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "union", value) - - - class VirtualMethodPlayground( - metaclass=jsii.JSIIMeta, -@@ -7725,38 +8431,53 @@ - @jsii.member(jsii_name="overrideMeAsync") - def override_me_async(self, index: jsii.Number) -> jsii.Number: - ''' - :param index: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5efa2ef42e261d5c38c59d5e216e587cb3005bbbb5b4a62e926087ee58478a36) -+ check_type(argname="argument index", value=index, expected_type=type_hints["index"]) - return typing.cast(jsii.Number, jsii.ainvoke(self, "overrideMeAsync", [index])) - - @jsii.member(jsii_name="overrideMeSync") - def override_me_sync(self, index: jsii.Number) -> jsii.Number: - ''' - :param index: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__ca8f2360b0292d0b5329ac52818673aece7fb01cf2f09567e60ff65b7728c9cc) -+ check_type(argname="argument index", value=index, expected_type=type_hints["index"]) - return typing.cast(jsii.Number, jsii.invoke(self, "overrideMeSync", [index])) - - @jsii.member(jsii_name="parallelSumAsync") - def parallel_sum_async(self, count: jsii.Number) -> jsii.Number: - ''' - :param count: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5bc99fd66b59152ee7799cf716c91bec428d7091eb33ece69057f9ca9b9fdb19) -+ check_type(argname="argument count", value=count, expected_type=type_hints["count"]) - return typing.cast(jsii.Number, jsii.ainvoke(self, "parallelSumAsync", [count])) - - @jsii.member(jsii_name="serialSumAsync") - def serial_sum_async(self, count: jsii.Number) -> jsii.Number: - ''' - :param count: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__58451fb4813d1aa8877a55de41f1ef8bd30300048337edb2bcf16985abbb6f45) -+ check_type(argname="argument count", value=count, expected_type=type_hints["count"]) - return typing.cast(jsii.Number, jsii.ainvoke(self, "serialSumAsync", [count])) - - @jsii.member(jsii_name="sumSync") - def sum_sync(self, count: jsii.Number) -> jsii.Number: - ''' - :param count: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__7ac4c09636b11fefb0a54fbd52b88fc2b4c5c356eb07189a0d2545601f3bef9c) -+ check_type(argname="argument count", value=count, expected_type=type_hints["count"]) - return typing.cast(jsii.Number, jsii.invoke(self, "sumSync", [count])) - - - class VoidCallback( - metaclass=jsii.JSIIAbstractClass, -@@ -7818,10 +8539,13 @@ - ''' - return typing.cast(typing.Optional[builtins.str], jsii.get(self, "dontReadMe")) - - @dont_read_me.setter - def dont_read_me(self, value: typing.Optional[builtins.str]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__54f5b2f0a61a7f2fafae719635a1408f7ff0a8f8a503e559bf0d6bc99772471f) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "dontReadMe", value) - - - class WithPrivatePropertyInConstructor( - metaclass=jsii.JSIIMeta, -@@ -7831,10 +8555,13 @@ - - def __init__(self, private_field: typing.Optional[builtins.str] = None) -> None: - ''' - :param private_field: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__01fcbc911a24b1fa352275e1273526114db562d2c278b742181eba6e8cb11ad4) -+ check_type(argname="argument private_field", value=private_field, expected_type=type_hints["private_field"]) - jsii.create(self.__class__, self, [private_field]) - - @builtins.property - @jsii.member(jsii_name="success") - def success(self) -> builtins.bool: -@@ -7875,10 +8602,13 @@ - @jsii.member(jsii_name="abstractMethod") - def abstract_method(self, name: builtins.str) -> builtins.str: - ''' - :param name: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__af1f574dee5c4eb581961518ccf32b4060094ed2f9b7e60bece1ed48e3fc45a1) -+ check_type(argname="argument name", value=name, expected_type=type_hints["name"]) - return typing.cast(builtins.str, jsii.invoke(self, "abstractMethod", [name])) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class - typing.cast(typing.Any, AbstractClass).__jsii_proxy_class__ = lambda : _AbstractClassProxy - -@@ -7894,10 +8624,14 @@ - '''Creates a BinaryOperation. - - :param lhs: Left-hand side operand. - :param rhs: Right-hand side operand. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__c0e59e6ea7e78215051bf4fe6b69de179aefb4116a344decdfaab4b6b15189b8) -+ check_type(argname="argument lhs", value=lhs, expected_type=type_hints["lhs"]) -+ check_type(argname="argument rhs", value=rhs, expected_type=type_hints["rhs"]) - jsii.create(self.__class__, self, [lhs, rhs]) - - @jsii.member(jsii_name="toString") - def to_string(self) -> builtins.str: - '''String representation of the value.''' -@@ -7941,10 +8675,13 @@ - def rung(self) -> builtins.bool: - return typing.cast(builtins.bool, jsii.get(self, "rung")) - - @rung.setter - def rung(self, value: builtins.bool) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__fa23831ecd0b539d7689616a0557240dc1a45f924fafe58c0d5f0ac464eecf94) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "rung", value) - - - @jsii.data_type( - jsii_type="jsii-calc.ChildStruct982", -@@ -7955,10 +8692,14 @@ - def __init__(self, *, foo: builtins.str, bar: jsii.Number) -> None: - ''' - :param foo: - :param bar: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__84a0b7e93c52a4977e9726c1186b64f57ff35c59c5bc0e7250da1d3236e70208) -+ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) -+ check_type(argname="argument bar", value=bar, expected_type=type_hints["bar"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "foo": foo, - "bar": bar, - } - -@@ -7999,37 +8740,49 @@ - def a(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "a")) - - @a.setter - def a(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__720d53a768711730e792d129fcff6272627608d1d3942f42e3010e61a3463b31) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "a", value) - - @builtins.property - @jsii.member(jsii_name="b") - def b(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "b")) - - @b.setter - def b(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5236e267a6763b672404dac13a3d5e50c03eb03d35fe2c18cbe7f649933301f1) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "b", value) - - @builtins.property - @jsii.member(jsii_name="c") - def c(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "c")) - - @c.setter - def c(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__1bd3b16d1aaf127e7610a230095bced32c4c3ef1cadc73f6b24c76b3ebffdd8e) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "c", value) - - @builtins.property - @jsii.member(jsii_name="d") - def d(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "d")) - - @d.setter - def d(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__4e685d8185af60a2f5c9bcffe812224568fe893228304e510b4d989f92c19b90) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "d", value) - - - @jsii.implements(INonInternalInterface) - class ClassThatImplementsThePrivateInterface( -@@ -8044,37 +8797,49 @@ - def a(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "a")) - - @a.setter - def a(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__6499a25aa5ac6723e26c4c716dd2d62a1f9ecd75ae2a476d3213fa5fe8792a1d) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "a", value) - - @builtins.property - @jsii.member(jsii_name="b") - def b(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "b")) - - @b.setter - def b(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5da75e226d085b0daac7742a86525ea697c77a044896ce80d48677f5fadb2d57) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "b", value) - - @builtins.property - @jsii.member(jsii_name="c") - def c(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "c")) - - @c.setter - def c(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__538f9410afd2d028ca599a233896016121b326bd90d69693e949aff75d72caf3) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "c", value) - - @builtins.property - @jsii.member(jsii_name="e") - def e(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "e")) - - @e.setter - def e(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__ba8bf3471001981f03d1ad5b84a1b0a4a4d7d556c72734d25d96637a60ad2477) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "e", value) - - - @jsii.implements(IInterfaceWithProperties) - class ClassWithPrivateConstructorAndAutomaticProperties( -@@ -8092,10 +8857,14 @@ - ) -> "ClassWithPrivateConstructorAndAutomaticProperties": - ''' - :param read_only_string: - - :param read_write_string: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__71399b17d07223b2b83f0d7b33d5172c49eb3d0cf3fe38d6059d4c9b7f471113) -+ check_type(argname="argument read_only_string", value=read_only_string, expected_type=type_hints["read_only_string"]) -+ check_type(argname="argument read_write_string", value=read_write_string, expected_type=type_hints["read_write_string"]) - return typing.cast("ClassWithPrivateConstructorAndAutomaticProperties", jsii.sinvoke(cls, "create", [read_only_string, read_write_string])) - - @builtins.property - @jsii.member(jsii_name="readOnlyString") - def read_only_string(self) -> builtins.str: -@@ -8106,10 +8875,13 @@ - def read_write_string(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "readWriteString")) - - @read_write_string.setter - def read_write_string(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__e308499c7b9268c91ee3dc9e4a9c975efdfaa0cd72bd877383c6c64e8f2768d0) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "readWriteString", value) - - - @jsii.implements(IIndirectlyImplemented) - class FullCombo(BaseClass, metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.FullCombo"): -@@ -8224,10 +8996,13 @@ - ): - def __init__(self, property: builtins.str) -> None: - ''' - :param property: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__148cd823b5de47723c8a76d0553f3ff6c880ba8ecec14b9a86bd89025a18f4d3) -+ check_type(argname="argument property", value=property, expected_type=type_hints["property"]) - jsii.create(self.__class__, self, [property]) - - @jsii.member(jsii_name="bar") - def bar(self) -> None: - return typing.cast(None, jsii.invoke(self, "bar", [])) -@@ -8248,10 +9023,13 @@ - - def __init__(self, operand: _scope_jsii_calc_lib_c61f082f.NumericValue) -> None: - ''' - :param operand: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__e7aa949631662ae6f6ab2804e4a231fa264a1c879d86efa8267e53158c50e647) -+ check_type(argname="argument operand", value=operand, expected_type=type_hints["operand"]) - jsii.create(self.__class__, self, [operand]) - - @jsii.member(jsii_name="farewell") - def farewell(self) -> builtins.str: - '''Say farewell.''' -@@ -8311,10 +9089,16 @@ - :param id: some identifier. - :param default_bar: the default value of \`\`bar\`\`. - :param props: some props once can provide. - :param rest: a variadic continuation. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__2f90423a63bd0fc04016022e622b4bf01d35f365e38b15153d0a4d6fa014ee5b) -+ check_type(argname="argument id", value=id, expected_type=type_hints["id"]) -+ check_type(argname="argument default_bar", value=default_bar, expected_type=type_hints["default_bar"]) -+ check_type(argname="argument props", value=props, expected_type=type_hints["props"]) -+ check_type(argname="argument rest", value=rest, expected_type=typing.Tuple[type_hints["rest"], ...]) # pyright: ignore [reportGeneralTypeIssues] - jsii.create(self.__class__, self, [id, default_bar, props, *rest]) - - @builtins.property - @jsii.member(jsii_name="id") - def id(self) -> jsii.Number: -@@ -8613,5 +9397,1544 @@ - from . import nodirect - from . import onlystatic - from . import python_self - from . import submodule - from . import union -+ -+def _typecheckingstub__8348af6419fc01178f78ba59cea59d0c7437626169866d772f4e957d09e6e13a( -+ seed: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__06c06b97e36be962012901c4c1f542b3f51b377154f91bf1154d1bd475221829( -+ str: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__0f076015f51de68c2d0e6902c0d199c9058ad0bff9c11f58b2aae99578ece6ae( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__81a2d86a9598fa10dde4af8bd70d369967edc6febb332dc788702f6aea07f33c( -+ inp: typing.Any, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__56056c33132184bd4ad46f69c534777112c49b9a987cc7b962d4026cf550998c( -+ value: StringEnum, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__1ab9ae75c746f751d2bf2ac254bcd1bee8eae7281ec936e222c9f29765fdcfa4( -+ value: typing.List[typing.Any], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__f88e356a91a703923e622c02850435cc7f632a66f49ca79f00d42590d2928a5e( -+ value: typing.Mapping[builtins.str, typing.Any], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__d81f1a89ccd850ccdb0b96a43000dfcde30f3542bf797051c754610d641f2316( -+ value: typing.Any, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__0c663902e9a8a1db9aff59eb8642a68c944dc2e3385744098d2b51ecf2e2e11f( -+ value: typing.List[builtins.str], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__106a83d3c77dbb6dbc6fcd706bca888d57ec37cd4beedf7dcc9d7d4428f44845( -+ value: builtins.bool, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5e62ea2f9629943c1138cad77629f47906644279c178b9436e4303e5a5f74c8a( -+ value: datetime.datetime, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__f0d83d5dde352e12690bd34359b2272194b20ad0d4585d4cd235a62a68413cc7( -+ value: AllTypesEnum, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__8cddc5c03b0b87366a7bf274aedf92ced502b23fe811780c7f8c3da532cba3fc( -+ value: typing.Mapping[typing.Any, typing.Any], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__ce34799b1443789feb28cffe434f5bcbb9cb940065992aa75dbb30eb89cd78e6( -+ value: typing.Mapping[builtins.str, _scope_jsii_calc_lib_c61f082f.Number], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c8fb4d044e2e7432d7e661aafdb286ebf21dfe5a82b9908dee57945f6892a63e( -+ value: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__4e3dc199e54a9fbd40ceb20cecf887aa2aeca670e9ba223707466d9670eec9b9( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__4a9e87035008a2c1b649b911c8cfc02f2723230d8ced957948b2948c76caf61a( -+ value: typing.List[typing.Union[jsii.Number, _scope_jsii_calc_lib_c61f082f.NumericValue]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__62ebee42e1871545bc2e82cfb9c7fe43b5a607c8f662caff89dda0f0ed99a3df( -+ value: typing.Mapping[builtins.str, typing.Union[builtins.str, jsii.Number, _scope_jsii_calc_lib_c61f082f.Number]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c9be2756a18e8a40eb03cf55231201574f76abf02996a73d0d75fefd1393473d( -+ value: typing.Union[builtins.str, jsii.Number, _scope_jsii_calc_lib_c61f082f.Number, Multiply], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__e49729a44c21aef8c75584ff0991ddba3ee45184cacf816eb1a6a13b99e99ecc( -+ value: typing.List[typing.Any], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__f8de6b30de9bfa884f9de02e2abe57e9394fb7a387b5691f858b7b98817b1db7( -+ value: typing.Mapping[builtins.str, typing.Any], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__901c3574a81e006fdf36f73e34f66b34f65ada4bddcb11cd15a51d6e3d9b59e4( -+ value: typing.Any, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__705bed55c0dbc20a3a1bad9a21931270f0c285e5b3b276e13bca645ffa7ccb0f( -+ value: typing.Optional[StringEnum], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__99730dd857f01c8e93755d3e4f1e04f44efd2e63487e37db32f0fae8d36c618e( -+ _p1: builtins.str, -+ _p2: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__7f25304a2274ca1691dbe05a223f32126250948b15187c5095780e5c9af08c2a( -+ with_param: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__12f6979e6d88948e4aebfe8c25ed814c21d19b4b549d6bc2db4620794e706238( -+ _x: builtins.str, -+ _y: jsii.Number, -+ _z: builtins.bool, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__ca978ab380897c8607252c370202d45bc72e8b5cdc52549bb53b870299333d52( -+ _x: builtins.str, -+ _y: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__35fb7428c2ad70583f7b280c07cec184905b51e8e896efe6cc88eaf83a6f65c3( -+ scope_: Bell, -+ *, -+ scope: builtins.str, -+ props: typing.Optional[builtins.bool] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__2e74ece926d1cff82c3a42c02b35b0b5b4427369dfc17caf49b658e36503a986( -+ obj: typing.Any, -+ prop_a: builtins.str, -+ prop_b: builtins.str, -+ result_prop: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__49537950cbbeb6e2c62cb1b8a079cc9bb5cc6d06d95cf2229128539d2be886a3( -+ mult: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__408890be1949f7684db536e79081b85d00d72250ca9eb19c74db6ad226564784( -+ lhs: _scope_jsii_calc_lib_c61f082f.NumericValue, -+ rhs: _scope_jsii_calc_lib_c61f082f.NumericValue, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__67894f861ef38d2769b440d2fe71f549cb9e333247b385c5d6ae862b2eb04fc5( -+ value: typing.Any, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__106b87a3d0b194bda7cee057654f752c82d9a92a3775bcc3b2dc5cf7814ba84d( -+ value: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__b0e9a9c8546dd024e1568b2e6d11bd847e53548d624f33afffdffacc77fe01ef( -+ value: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c62707f1a80d6bc26c0b74205f8892c1777e6ed97359263df05628018d8ef6fc( -+ value: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c74abb191c66f86aed2c139ec3e50b0442b6d3bdcd41beb06db17c9b3c5d93d0( -+ value: _scope_jsii_calc_lib_c61f082f.NumericValue, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__1af5d9bb897bd9bfc2029e92d33fc306fc090e2d0a9bc0bd70fb01762e798fe6( -+ value: typing.Optional[jsii.Number], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__349b2a1dce95cb7ff4c5a7772d81772697767c5f4e7e5fd709847ff5e526c3c1( -+ value: typing.Optional[typing.Union[Add, Multiply, Power]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__21033948ed66f89716ed818c4cf9e5a38a9252e042231e1e8e1672356d403bef( -+ *, -+ initial_value: typing.Optional[jsii.Number] = None, -+ maximum_value: typing.Optional[jsii.Number] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__9e749834c2e46eee6370de7b60daabbff6e5c16febe9775b98a2b961b0d4e335( -+ union_property: typing.Sequence[typing.Mapping[builtins.str, typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]]]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__80b80f78c4ac7fda46ac2aec7ab826a87bef3eaaba64661c90f346972800baf5( -+ value: typing.List[typing.Mapping[builtins.str, typing.Union[StructA, StructB]]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__7eb49cfb1282d7f1bd28096ff0407c0806693194f02f5c053936f99756a2a8fd( -+ map: typing.Mapping[builtins.str, builtins.str], -+ array: typing.Sequence[builtins.str], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__964903eb68623806c91fc9026cacfdc726cfbb287698530724c5a9938a7bb2ca( -+ value: typing.List[builtins.str], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__8dd7203701e4915203e4778820ee40fe6bdd6f0bb2855c200f375606277e06c8( -+ value: typing.Mapping[builtins.str, builtins.str], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c0c76fec28076841e36c26581c26385de1e984d96e91ea434a61c4bf36c9b4d9( -+ value: typing.List[builtins.str], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5461a3c7bb81040765e4ca2e9effb12cc7f5fb018e5e1b8b21501a3f9cd6a8b3( -+ value: typing.Mapping[builtins.str, builtins.str], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__11d94174b1d488125abef65967a384ceb599f4948eca6cb9be3d55e1979fb64f( -+ array: typing.Sequence[typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], -+ record: typing.Mapping[builtins.str, typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], -+ obj: typing.Mapping[builtins.str, typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], -+ *, -+ array_prop: typing.Sequence[typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], -+ obj_prop: typing.Mapping[builtins.str, typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], -+ record_prop: typing.Mapping[builtins.str, typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c017a39e0da5d21f3a9acbfd00f6a5c84eb4cad306148504e7c835359d35537e( -+ int: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__7a756cab89b47a2ae4c08f36162482b60fdf963b8ba638917a63c5e110b4d33e( -+ assert_: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__3afbef7e05ef43a18b9260b86660c09b15be66fabeae128c9a9f99b729da7143( -+ value: IMutableObjectLiteral, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__0b8f0f729686dad01c8555a3b1bc47509e495bd18f1560ef045b558884b2a1fb( -+ union_property: typing.Sequence[typing.Union[typing.Mapping[builtins.str, typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]]], typing.Sequence[typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]]]]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__a8a15eb37393d5188c71779e29278367f7b3600c6dd48bdbcd502cdf510c3c15( -+ value: typing.List[typing.Union[typing.Mapping[builtins.str, typing.Union[StructA, StructB]], typing.List[typing.Union[StructA, StructB]]]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__ec229cc92e04670f4dca9546759b3b39ee813eb1aa18057135bb155d08971e6a( -+ value: typing.Optional[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, typing.List[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, AbstractClass]]]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__481b1113b85e6dc9d7ba31c3ef5654e3550abac1edef9204348ab0f9554f61c1( -+ *, -+ union_property: typing.Optional[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, typing.Sequence[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, AbstractClass]]]] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5676fcb3395f1db1a013537fa52220553e5e418c2a9d97aa2f9541c00ffe259e( -+ consumer: PartiallyInitializedThisConsumer, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5c5defc6d683ee91707f8b7770d8d2fb11d381b9c928d7e5d6e2c5c495395f38( -+ delegate: IStructReturningDelegate, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__1df814299f3f9720be108d84bdfd61bc591699a79a3c8ac6d450bfb0a9610278( -+ ringer: IBellRinger, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__2f08bd2d56e856071db5f777b63fe2577f9e96dbfcd91e4044d0eda2d26f9017( -+ ringer: IBellRinger, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__4a2b7f0a05298ddaec112cb088cc71cfa2856aaa1d8414a5157d581b6d5a7293( -+ ringer: IBellRinger, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__f751da3f5766ea4973eb2d89086565259f0a3cd626425a7eec723afd7b64f392( -+ ringer: IConcreteBellRinger, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__cca04fe4a4c41a0034087ab0c574d1d2f1d0427d87a806fc660446b6a7e5290a( -+ ringer: IBellRinger, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__7bde53b867de290d21a419baa46b8e833a0d394835a1ce2be3b429179b2ddce5( -+ ringer: IBellRinger, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__988e53d92b16fb4b7224c654f985a074cbfa7dd5f567df005b41522641ad92ac( -+ ringer: IBellRinger, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__1d786308546ae61deacb465c6f501fe7e0be028973494548b57e0480759ed460( -+ ringer: IConcreteBellRinger, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__83037a3f429b90a38d2d9532a347144030578d83f68817b1a5677ebcd1b38e12( -+ obj: IAnotherPublicInterface, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__139bf4e63e56bef32e364c5972e055de5cba153d49cc821740fba1d51f73ef70( -+ obj: INonInternalInterface, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__2be181b08e5a2c0e1e3f3a84732a423af31039117701d35431ee251d343ca9d5( -+ *, -+ array_prop: typing.Sequence[typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], -+ obj_prop: typing.Mapping[builtins.str, typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], -+ record_prop: typing.Mapping[builtins.str, typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__dd941dcba8415b4b4dbb95bc3f55ac3404bdaf303822dfc7093fb615dc66b2cf( -+ data: typing.Mapping[builtins.str, typing.Any], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__9008dfc97234c0f2895caaa88d20a94de081c3cd97c38f9a012f13cdae75fbd6( -+ map: typing.Mapping[builtins.str, typing.Any], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__019e6ec86ae7ee325dc404a7025eaf0edcb164e166535a831bccf6658adfbb10( -+ arg1: typing.Optional[jsii.Number] = None, -+ arg2: typing.Optional[builtins.str] = None, -+ arg3: typing.Optional[datetime.datetime] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__f64945b01dd806fcd872f369983e1fa6b3db8811cb0682ac6adf88aebb0aabda( -+ readonly_string: builtins.str, -+ mutable_number: typing.Optional[jsii.Number] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__3aef3220b38be7daf4208453b1766d9eafb6a74bd51dfb351d21235a205afa34( -+ value: typing.Optional[jsii.Number], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__cdee1d6893b4921a8d7cf0a9c957a543b69f7a98eb3cedd7ece84871fc81c767( -+ *, -+ readonly_property: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c544311353634d5a2f08144f0c184afbcb700d8304b9f49deae99f19e1e7b0af( -+ *, -+ anumber: jsii.Number, -+ astring: builtins.str, -+ first_optional: typing.Optional[typing.Sequence[builtins.str]] = None, -+ another_required: datetime.datetime, -+ bool: builtins.bool, -+ non_primitive: DoubleTrouble, -+ another_optional: typing.Optional[typing.Mapping[builtins.str, _scope_jsii_calc_lib_c61f082f.NumericValue]] = None, -+ optional_any: typing.Any = None, -+ optional_array: typing.Optional[typing.Sequence[builtins.str]] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__865cdfdd094ca753189170221ee7d6a0e59c2c0bcfdeff3dc37bb87dd39515ca( -+ *, -+ hoisted_top: typing.Optional[builtins.str] = None, -+ left: typing.Optional[jsii.Number] = None, -+ right: typing.Optional[builtins.bool] = None, -+ bottom: typing.Optional[datetime.datetime] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__cfa52ba952c3d4a7e6df7fba3f619bf3ac14c52e829cce862a5fa495e45d0e70( -+ *, -+ base_level_property: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__354311bd3d60d2b3b4ea927d6a96bdf66aa6d1109c29bfcd96266051c7c30a5e( -+ *, -+ base_level_property: builtins.str, -+ first_mid_level_property: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__8074c5f38699399b9e6f8708c125bef5d7c89118c36ffcce8582d66cac2197da( -+ *, -+ base_level_property: builtins.str, -+ second_mid_level_property: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__9384691e88dd3ab7e55516762b2076445d94bd6d9348db1b93f79de9f4ae0ea1( -+ *, -+ base_level_property: builtins.str, -+ first_mid_level_property: builtins.str, -+ second_mid_level_property: builtins.str, -+ top_level_property: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5ae2124576c295a0c88fc75be0e57258f0f72e63c733e7493367b8558266510e( -+ new_value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__8ffaadb351f5c2c48a7368068d5c88e0c7836deefe0e13aa9fe53ac104052fd5( -+ _required_any: typing.Any, -+ _optional_any: typing.Any = None, -+ _optional_string: typing.Optional[builtins.str] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5af7b38b9b5c170ebd3e05c215e05f10e6843b03868850dad87a5a149b90e790( -+ optional: typing.Optional[builtins.str] = None, -+ *things: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__feb33b34fd05e771c7e47c132104c701042acfdf4eb6753873c4463e01f3cd9c( -+ *, -+ dont_set_me: typing.Optional[builtins.str] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__ae5d543014149876cec8b005abbb94c112981cccaf318870c7fe4e8353c2c675( -+ *, -+ example: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c0d457497f870b36d210f01af9890c6624684d1e53da833858e801c18baf9fbb( -+ value_store: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__4f40c12fae2ef2673f3f324c0c452f65c187c1b3e6552b86768465a2d20de051( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__9106fb2a86e944ce0c61537852ab2d310a8a53448c6946af051de0325a67fa1a( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__ad557fbd0532aa4220227645f5aae3e73ebae6b529cfe074430abf30d18cd5e9( -+ original_value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__a4026611d197b83d9a37b973ba97c69254e674921a7d89d0eb57ac41a19b636e( -+ new_value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__2a7f203302b2610301f1b36f34453db0f5572f2e02b0bc4c9933fd670e594222( -+ clock: IWallClock, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__a90d161fb7d47a195a192cf987ac6968fc2c6fbe27005bdd7684478a3d956e66( -+ word: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__b87cc89f87e9b1c180227625f3aba9395da5a8b258a88e605d466edb9004d709( -+ opts: typing.Union[EraseUndefinedHashValuesOptions, typing.Dict[builtins.str, typing.Any]], -+ key: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__d34e4f5dab670ec3ea298ec2cda50be32700f7f52dcef6a618ca9cb3706062ee( -+ *, -+ option1: typing.Optional[builtins.str] = None, -+ option2: typing.Optional[builtins.str] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__6a92c7223d00e7a0a2f0611cbb689671885b835bb26eedc8eb4a4d12e4ed5021( -+ readonly_string: builtins.str, -+ mutable_number: typing.Optional[jsii.Number] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__52559292c6e04ad49e53e443b1a4c56149833b8f12876d779bb8860fcb231b41( -+ value: typing.Optional[jsii.Number], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__b0c8f4c6eca5af7072a4a7c737950b39e75c61a56c505deb94edc5cd0995ed7d( -+ *, -+ readonly_property: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__dad018fa707514e8023df185b5e6e0a4b611bec563fe57abd9b81939b8833ebb( -+ success: builtins.bool, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__861a5ec03219f6c9fecd1b039faa2e53075227ff0d28f8eb66929909bc0c3096( -+ *, -+ boom: builtins.bool, -+ prop: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__82149b1f61aca58419f6ba4c74c8bb1c5c241433707e64ea4626937b294d8fe5( -+ readonly_string: builtins.str, -+ mutable_number: typing.Optional[jsii.Number] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__8380ec30b1f8773df7b5b27be8811be79b04f1d17c8eca83f83927eb56cdfd34( -+ value: typing.Optional[jsii.Number], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__8e8843a5fc914ec2c1e3baccdad526ea4d48eee37296f6812f3c0673ef86794f( -+ *, -+ readonly_property: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__3dce87825e36304d54521ce5524aa7e230fa5d505b0abbc79101fd9014f2cbd9( -+ *, -+ name: typing.Optional[builtins.str] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__d17f0544be961cba6cabfbb40f28c196963de107fcaef9c56d8227bdcb359431( -+ friendly: _scope_jsii_calc_lib_c61f082f.IFriendly, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__3eabfcad9a21b26024f4c1480ca127a3d6c6888067f0ae991d5922a49bfe81d4( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__d127476ce3b6e59ff9f375f547c1b6e1826d7a3969612c0605ebd0017d2b985d( -+ bell: IBell, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__2c34aaac5945bdc61c4f56492dee5608e1852940835d94d3e991fed377db66f2( -+ bell: Bell, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__e4d76200a6c5bdbdd51f208229da8bfd8f6f4c967af28e1e733579780e9d4a0e( -+ value: typing.Optional[jsii.Number], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__6e68d313f3254be7145220b211c66f45749aa8efc15aaf93d96330eb3cb7c6c7( -+ value: typing.Optional[jsii.Number], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__8199a83e86f8a4cf29ddc53d2b2151c37c7fa10d29562b454127376d1867d6da( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__a904d745cb9f037de717ed7a2b1d3a207493564662fdbe1d7c63e60a24f9bace( -+ value: typing.Optional[jsii.Number], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5568c72c746dd5221cb6fb7b741ed7a3346c346d7a30863c5abe3d99ada53098( -+ arg1: builtins.str, -+ arg2: typing.Optional[jsii.Number] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__858de6e8785f18ad264a158ca83a0fc1e0a6299efa9f77a0b31eaaffaa5b086c( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c571c6749392bc04e123a99b926edaf10b88be6b6d6b6a3937cae9893af5119e( -+ value: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__e0395944061fad9d5156b633dc20682ff9759ae0acb88df574b159f4919ab3a5( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__9d1e4198ba3f4e6b6a6f4ce0a4a185223ec216368c0c3304c69b029aba13ca49( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__6774e195ab25dab5790e1d187eb30be56997804d5186753a9928f2575f81977b( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__831f664cd567fd4e707fd175e9c9e13519f3ca587b792d7d5bc79f427589a802( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__254a58386276f7b7d5a41dddd674375b8942c2cad4deb6c2d24b55d240d14350( -+ value: typing.Optional[jsii.Number], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__10bb8b026d6c8368d479cf0da8b27c049c5f9088f173a63624e515dd36607439( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__2df4d055b033cdfdf7ad915b451ddc787ad68fb64b7e02386a9d8e591c1657af( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__b70592e4d080897239bf5f8b0de5b6b464cd9e888e39fca1082c04b5cbeca890( -+ *, -+ foo: _scope_jsii_calc_base_of_base_49fa37fe.Very, -+ bar: builtins.str, -+ goo: datetime.datetime, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__1d6e348a61ed27bfc8b7928365798b43e0130ca2b720c1105baca04fa093d194( -+ count: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__30ce308abdc1d2462c00bf7a4acc194ec05d61ddee24b2e79c674aa7034e5ffa( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__eef7c487e6f0c4d81dd633cf70121104ff8f3458fa52a418df64bcab9fe4bd3e( -+ value: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__a7654af9a241e67ad498c3eb33b98e6cdb1558487bb9b02dcce41f75334b76ad( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__43f45c49ecee3d08351b82aa5cdc3548d9dafa534cd2d99da8b5c5c9188e9a54( -+ value: typing.Any = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__ef705a05998260349d35c748c557e65cf539d53e136eb9191250080bdce852c3( -+ *, -+ value: builtins.bool, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__2a9e65060bf85c3d49b79ada1f9394ae146c380a4212c190065e031098d570b8( -+ *, -+ prop: typing.Union[LevelOne.PropBooleanValue, typing.Dict[builtins.str, typing.Any]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__479be5d5625f656c28cf12ffdc2cef9d6d74aae555551630f440fcb05351d261( -+ *, -+ prop: typing.Union[LevelOne.PropProperty, typing.Dict[builtins.str, typing.Any]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__b3d89a25beb0ebd10c196d941aa924197ae9a2def08f1f414c190a2a6d943d9c( -+ *, -+ container_port: typing.Optional[jsii.Number] = None, -+ cpu: typing.Optional[builtins.str] = None, -+ memory_mib: typing.Optional[builtins.str] = None, -+ public_load_balancer: typing.Optional[builtins.bool] = None, -+ public_tasks: typing.Optional[builtins.bool] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__7e73465ea858e34d4df8697d34f29a53ca3c3a41c47946382e5d49f498e3747d( -+ lhs: _scope_jsii_calc_lib_c61f082f.NumericValue, -+ rhs: _scope_jsii_calc_lib_c61f082f.NumericValue, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__04dae031a5097183ccda93eb91ec51a8a6fa1133134a6a398f1f05c581bc0091( -+ *, -+ number_prop: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__218107d38285901ff40e08163f0de0bac5d835bd64c21c0a735e8d72399ebe35( -+ _param1: builtins.str, -+ optional: typing.Any = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__a109cd8429db09172895a3eb04ca7e9d5c92129c7ca7a50f85fa89b6f6ab366b( -+ value: typing.Any = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__7102c29a709c4297fb88615c74a3e42a584364ac4ccba5c1db42a65e05184d1b( -+ value: typing.Optional[builtins.str], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__ae8d47cabe4d36f88c891d250d7e792432b0d153223789ec3687e714ba92a5f3( -+ *, -+ array_with_three_elements_and_undefined_as_second_argument: typing.Sequence[typing.Any], -+ this_should_be_undefined: typing.Any = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__3c1812783ba0b3b2146a3dd9609a6e12af404502ff5fbb9b9a9be49bf576122b( -+ generator: IRandomNumberGenerator, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__151b90e9765ce9a05ae13e568f4ba7c9e36e34c1cd991c5c1ee0249869fd4cce( -+ gen: IRandomNumberGenerator, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__0f5a1cc548d3db6e156cec5671bc04b980132e529c77f3bb5aaa58427db35e7c( -+ value: IRandomNumberGenerator, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__f5cb9f9511b0248cd4c0c4bec4eed9e75e7690012237fdb1b39b3f7b3bb0392e( -+ values: typing.Sequence[_scope_jsii_calc_lib_c61f082f.NumericValue], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__ca5199647728e53a1ec89d4fd7dad9aeb7239f8c1213c51b4e2eda734daa4cf4( -+ values: typing.Mapping[builtins.str, _scope_jsii_calc_lib_c61f082f.NumericValue], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__da93d15e57e6e2a1857cd7df156fb2a55ec91715c97323f20268def40f72137c( -+ delegate: IInterfaceWithOptionalMethodArguments, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5f6c5e5b55379123a8bd2bc457d9a5e9a0d34dd512b2bd2f59c6a5bec2a95f14( -+ arg1: jsii.Number, -+ arg2: builtins.str, -+ arg3: typing.Optional[datetime.datetime] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__26ecd0d4ea200acf388a8b91f17bfd3c09b6c7f8e0a84228b89c27ace672d0b1( -+ *, -+ field: typing.Optional[builtins.str] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__72ca8c3c148afe2b76dc14b63b8e2baf0bbf28802add3f88490cb5d3792825fb( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__ca8d417ddf787890441d6903718eebaf7fde3508b3466202724fdac3a17ba79b( -+ obj: IReturnsNumber, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__32a51b5d61d5ca58d33e8f6b9d9e1c4f16b39bf431a669250d4c290de0bbf46f( -+ builtins: builtins.str, -+ str: builtins.str, -+ *, -+ boolean_property: builtins.bool, -+ string_property: builtins.str, -+ struct_property: typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c93d69c5c8307eec2d1c6e8d5f9892234fbdd24bb5cce3f5ea1e210276bc58c1( -+ *, -+ boolean_property: builtins.bool, -+ string_property: builtins.str, -+ struct_property: typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__ae63c91319764cabd02536ac5b03026eb3f4071497b2a04adf93ca02985507ae( -+ scope: _scope_jsii_calc_lib_c61f082f.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__f6db465208dd616dc4f171643676a159b21fe5963ec9a3d1fd752e5cb291868d( -+ *, -+ foo: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__85c3ad65f24d8d5af99d7777a0379b793f45ac0e0e39714f279b8f2d58dbcfdb( -+ obj: ConstructorPassesThisOut, -+ dt: datetime.datetime, -+ ev: AllTypesEnum, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__edbbf85a7c4217635da7418d28aa61c4e11f7a0c1e9c960528ed4e7bee1ad541( -+ friendly: _scope_jsii_calc_lib_c61f082f.IFriendly, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__df4f41b4c003b9ba61f07f4d41a4059f167ea41c03ea29933966d2caeb831d8c( -+ base: _scope_jsii_calc_lib_c61f082f.NumericValue, -+ pow: _scope_jsii_calc_lib_c61f082f.NumericValue, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__235768085718ab33214221cff3145bb2a82c28916350f273995760a428a1aba3( -+ value: _scope_jsii_calc_lib_c61f082f.EnumFromScopedModule, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__100c679fa10c1938fc087475a1e5fcdf7c2cbff383b1c02b1d09471cb4f23123( -+ value: typing.Optional[_scope_jsii_calc_lib_c61f082f.EnumFromScopedModule], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__cf66d7b4f4a567aefacbafc24f61d33a942afde3d167676ed65ea82da95cd36e( -+ *, -+ string_prop: builtins.str, -+ nested_struct: typing.Optional[typing.Union[NestedStruct, typing.Dict[builtins.str, typing.Any]]] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__6db501e892de783af62ff728e59cc3155afc51ddc2dff77cce61ffe698e2e1f3( -+ arg1: typing.Optional[jsii.Number] = None, -+ arg2: typing.Optional[builtins.str] = None, -+ arg3: typing.Optional[datetime.datetime] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5978f09aaa3317742377437d5735571f672119325c2b5d69f26153bae6764c85( -+ arg: typing.Any = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c894904fd4904d7e110da91df846a8ec0970051a274bba5ad95c2b7dc1125cc2( -+ arg1: jsii.Number, -+ arg2: builtins.str, -+ arg3: typing.Optional[datetime.datetime] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__e7383b9a36a10b88815e6c310c7b13c611260f5ccb143b75dac114873643350d( -+ *, -+ deeper_required_prop: builtins.str, -+ deeper_optional_prop: typing.Optional[builtins.str] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__2ccde09a2986c421795069d44c46d9e2d7470609094b8b7177c6b154360f7435( -+ value: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__76cbdc0bba36d674ab013a40d091c1f3ccb139f10e78844ebc868bfa5d707ef8( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__1b795ca2a3052da38144d10d87f230e74bcfa497af1262580f53908be48f6710( -+ *, -+ property: builtins.str, -+ yet_anoter_one: builtins.bool, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__8c577a76d55e32f4b62a2a005d0c321bf9d0784b2f6cea5f10e297f3f79fc4bb( -+ readonly_string: builtins.str, -+ mutable_number: typing.Optional[jsii.Number] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__737be2f0376e64bd8c0980aee9fc6afd796bb4d0cb3415eab28d054f15881752( -+ value: typing.Optional[jsii.Number], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__4bbf1eebbce12768b1d2ef90968ffdbe749e42ce8bcdaf4c8750314d2160c5ea( -+ *, -+ readonly_property: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__cf00e16ec45ebcadc1f7003eb344ecf452096a12a1a76ff0e15fce1066d716d2( -+ value: builtins.bool, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__69df39c5fc3367bba974a46518d9122ce067721f56037ef6e1faedf479222822( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c4597464b7867e98bf0052f7808e080b75874d088aeac980865a4fc19e47a6d1( -+ name: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__748a4d0813e4a3ab750bd52215b9ff4dee315d39b160d47884780ea7c4b10daf( -+ value: Statics, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5d0ed37ae4b7f5bd294a768da342f4735c6636e0197883a5727e46ed81deec69( -+ value: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__aa3b9a5342b6fe1366fac3279219c5bae15389881ddd050c544c1d0001853482( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c9e4f6413d6ce49f4a289256d84d0fa97f7abac1877fc8d49f80f4a7d83a4972( -+ *, -+ required_string: builtins.str, -+ optional_number: typing.Optional[jsii.Number] = None, -+ optional_string: typing.Optional[builtins.str] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__4d335a3a7bbc35ed76509a5e85466d6d29221efebdd6dd4de639ef040628f332( -+ *, -+ required_string: builtins.str, -+ optional_boolean: typing.Optional[builtins.bool] = None, -+ optional_struct_a: typing.Optional[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]]] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__7eb7b6caeb33bbd3740ca0fc027022df9d4fade4a7d1943a334f2869ab44bd98( -+ *, -+ scope: builtins.str, -+ props: typing.Optional[builtins.bool] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__e3587fc6359e7cd1adf0bb70ed66e1cd69faa462a530e07c8d25a96b942cb943( -+ _positional: jsii.Number, -+ *inputs: TopLevelStruct, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__b60fd8dad9496da93546e0555f2f8a7a34711e7160c06dc64a47f095f1539d02( -+ _positional: jsii.Number, -+ *, -+ required: builtins.str, -+ second_level: typing.Union[jsii.Number, typing.Union[SecondLevelStruct, typing.Dict[builtins.str, typing.Any]]], -+ optional: typing.Optional[builtins.str] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__1c22dd35a08877498e4c2c0ed61e220c19d83da3b6a1e278dfcb7af4d76d2df8( -+ struct: typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__bfb5d0235b42940b9a17c7bb3182f454c7652fdb031f8993719a701d42833623( -+ struct: typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__e3e3d0b072ef214d95806fb0366dd1f4a92b97932f845c9364616c9348bce502( -+ which: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__06173422e8b2a410ef992bee26115592516245e72f1a99397919d18bfebc1259( -+ *, -+ union_property: typing.Sequence[typing.Mapping[builtins.str, typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]]]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__9fac60639e71eb35a422d891e6b571b3ba2118da50de35e8ba784bbb73928be9( -+ *, -+ foo: StringEnum, -+ bar: typing.Optional[AllTypesEnum] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__21b11cdfe2d95237cdddef417a67936ff8529ea3cef4bd7e80fe498f1e27527d( -+ *, -+ default: builtins.str, -+ assert_: typing.Optional[builtins.str] = None, -+ result: typing.Optional[builtins.str] = None, -+ that: typing.Optional[builtins.str] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__e2e14d04b1a68f16d9aef0965aa4ffbc51af3cbd2d201ac6e236d861b10c2fbf( -+ value: typing.List[_scope_jsii_calc_lib_c61f082f.NumericValue], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__11e78aa6557af36be636eea7a1a9b1d6ebf38d63d876b270de65a5f23152b605( -+ *, -+ bar: jsii.Number, -+ id: typing.Optional[builtins.str] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__46b91a4f1b85f01437aa8a6dda82c7c9e02f0b2ae5324f8c1591fa7ff74feaa0( -+ id_: jsii.Number, -+ *, -+ bar: jsii.Number, -+ id: typing.Optional[builtins.str] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__a961c6dee96c75a70470863d82c09136094c1d72d47aafe7f105c7733536dd4d( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__f3d4d3109122672e8fa17c64fb60787d84a098ee0ee0857d4a10ffe5345a1908( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__ba36c4cb32b9551fe1c3e91bd834b2e97f7ee93d0b5919acfb1c4fd3d6161295( -+ n: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__7118412729d7ec6272cded791897b09f12ee70e1ca550853121f98ceb30ee0e7( -+ value: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c361a6694d6564ff5c16af012cfaf94cac0a971928a1d0fb014c27f971287836( -+ value: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__d5d44f6e3395b0db421bab95a6dd7d1560538c63f136025c6b216ffb01eae179( -+ value: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__64c8c65ae76fcafb4b6d28e75f8fd31efad60ab9e71d11cbd5877c28c45d8f70( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__52ea95020be0094da769c873214a182768aa2de47b1c4c3dff43f1226edfe281( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__21d6ffe465a7e42c257c8318bf2bee38ecbc6b1959e6e945e769e365afb3e55d( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__74359fdf4e6a6505a1c0bc4c2c687826dde0a7696de75fc39f9ed57d89137f96( -+ *, -+ required: builtins.str, -+ second_level: typing.Union[jsii.Number, typing.Union[SecondLevelStruct, typing.Dict[builtins.str, typing.Any]]], -+ optional: typing.Optional[builtins.str] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__e31f878fe14747887a58683a15ca9c8ab54ec35cd6e3a665ad70dd53deadb573( -+ operand: _scope_jsii_calc_lib_c61f082f.NumericValue, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__223de5294ccc50da976adb8794cb8556981e31d63a2c8b249f7dfbd9e2d99eac( -+ *, -+ bar: typing.Union[builtins.str, jsii.Number, AllTypes], -+ foo: typing.Optional[typing.Union[builtins.str, jsii.Number]] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__aaaf822e80c6473bff9b1da58151a278cd846ae0614db9af97bc57ea6f899ce2( -+ delegate: typing.Mapping[builtins.str, typing.Any], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__73d1545891c65d400938add489402441cb083c61d214ad7a922b6417d3984732( -+ obj: IInterfaceWithProperties, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__60f3870a6dceb3773397b75ec3f3b664f38c2cc3d2f37dc055262663d12f41a8( -+ ext: IInterfaceWithPropertiesExtension, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__42edcb376aed0b6e6fec7d7df016bda9e3a31df0e47ecabb5465d1c84d16a414( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__6d238d6a2f6e464c570c3176db3d78d62e0be9908b705705c8f6d7b6b2385c54( -+ method: VariadicMethod, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__43f32dfb73f1a7fe9c86c00bbc381391db4812c13b5b72363ddcfcd57638c368( -+ *values: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__a33769c23320f9f6bce3e3a70c594135cf44ca5c9c6d1de1cae8cc62a99d49e9( -+ *prefix: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__1c18f2c7d91dcdc13843ff1637ed95a1f1c1ed99384d6276ee493b0ca579b4a4( -+ first: jsii.Number, -+ *others: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__f18ff2aa5c744d99cc2b37e705d6ed44823660f714c20539c148c9e34e123752( -+ *union: typing.Union[StructA, StructB], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__01944feab2feb5a9fdf3d356f62de139685f520d3bb3a38ddc5c42d0b03963fe( -+ value: typing.List[typing.Union[StructA, StructB]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5efa2ef42e261d5c38c59d5e216e587cb3005bbbb5b4a62e926087ee58478a36( -+ index: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__ca8f2360b0292d0b5329ac52818673aece7fb01cf2f09567e60ff65b7728c9cc( -+ index: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5bc99fd66b59152ee7799cf716c91bec428d7091eb33ece69057f9ca9b9fdb19( -+ count: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__58451fb4813d1aa8877a55de41f1ef8bd30300048337edb2bcf16985abbb6f45( -+ count: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__7ac4c09636b11fefb0a54fbd52b88fc2b4c5c356eb07189a0d2545601f3bef9c( -+ count: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__54f5b2f0a61a7f2fafae719635a1408f7ff0a8f8a503e559bf0d6bc99772471f( -+ value: typing.Optional[builtins.str], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__01fcbc911a24b1fa352275e1273526114db562d2c278b742181eba6e8cb11ad4( -+ private_field: typing.Optional[builtins.str] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__af1f574dee5c4eb581961518ccf32b4060094ed2f9b7e60bece1ed48e3fc45a1( -+ name: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__c0e59e6ea7e78215051bf4fe6b69de179aefb4116a344decdfaab4b6b15189b8( -+ lhs: _scope_jsii_calc_lib_c61f082f.NumericValue, -+ rhs: _scope_jsii_calc_lib_c61f082f.NumericValue, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__fa23831ecd0b539d7689616a0557240dc1a45f924fafe58c0d5f0ac464eecf94( -+ value: builtins.bool, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__84a0b7e93c52a4977e9726c1186b64f57ff35c59c5bc0e7250da1d3236e70208( -+ *, -+ foo: builtins.str, -+ bar: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__720d53a768711730e792d129fcff6272627608d1d3942f42e3010e61a3463b31( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5236e267a6763b672404dac13a3d5e50c03eb03d35fe2c18cbe7f649933301f1( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__1bd3b16d1aaf127e7610a230095bced32c4c3ef1cadc73f6b24c76b3ebffdd8e( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__4e685d8185af60a2f5c9bcffe812224568fe893228304e510b4d989f92c19b90( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__6499a25aa5ac6723e26c4c716dd2d62a1f9ecd75ae2a476d3213fa5fe8792a1d( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5da75e226d085b0daac7742a86525ea697c77a044896ce80d48677f5fadb2d57( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__538f9410afd2d028ca599a233896016121b326bd90d69693e949aff75d72caf3( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__ba8bf3471001981f03d1ad5b84a1b0a4a4d7d556c72734d25d96637a60ad2477( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__71399b17d07223b2b83f0d7b33d5172c49eb3d0cf3fe38d6059d4c9b7f471113( -+ read_only_string: builtins.str, -+ read_write_string: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__e308499c7b9268c91ee3dc9e4a9c975efdfaa0cd72bd877383c6c64e8f2768d0( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__148cd823b5de47723c8a76d0553f3ff6c880ba8ecec14b9a86bd89025a18f4d3( -+ property: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__e7aa949631662ae6f6ab2804e4a231fa264a1c879d86efa8267e53158c50e647( -+ operand: _scope_jsii_calc_lib_c61f082f.NumericValue, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__2f90423a63bd0fc04016022e622b4bf01d35f365e38b15153d0a4d6fa014ee5b( -+ id: jsii.Number, -+ default_bar: typing.Optional[jsii.Number] = None, -+ props: typing.Optional[typing.Union[SupportsNiceJavaBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None, -+ *rest: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/anonymous/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/anonymous/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/anonymous/__init__.py --runtime-type-checking -@@ -57,31 +57,58 @@ - @builtins.classmethod - def consume(cls, option: typing.Union[IOptionA, IOptionB]) -> builtins.str: - ''' - :param option: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__132536bffc9129421b4ae0a6539d0bbfdc1c52c3de007c4546d2f2626ba8c31e) -+ check_type(argname="argument option", value=option, expected_type=type_hints["option"]) - return typing.cast(builtins.str, jsii.sinvoke(cls, "consume", [option])) - - @jsii.member(jsii_name="privideAsAny") - @builtins.classmethod - def privide_as_any(cls, which: builtins.str) -> typing.Any: - ''' - :param which: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__d461fff988e22833dcf37c5193332d48b9e455d605f2a1e708ab0d111a1659c7) -+ check_type(argname="argument which", value=which, expected_type=type_hints["which"]) - return typing.cast(typing.Any, jsii.sinvoke(cls, "privideAsAny", [which])) - - @jsii.member(jsii_name="provide") - @builtins.classmethod - def provide(cls, which: builtins.str) -> typing.Union[IOptionA, IOptionB]: - ''' - :param which: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__f841b966136dfd090628b12290eedd178724cc8f332e05aba2b3a035f07dae50) -+ check_type(argname="argument which", value=which, expected_type=type_hints["which"]) - return typing.cast(typing.Union[IOptionA, IOptionB], jsii.sinvoke(cls, "provide", [which])) - - - __all__ = [ - "IOptionA", - "IOptionB", - "UseOptions", - ] - - publication.publish() -+ -+def _typecheckingstub__132536bffc9129421b4ae0a6539d0bbfdc1c52c3de007c4546d2f2626ba8c31e( -+ option: typing.Union[IOptionA, IOptionB], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__d461fff988e22833dcf37c5193332d48b9e455d605f2a1e708ab0d111a1659c7( -+ which: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__f841b966136dfd090628b12290eedd178724cc8f332e05aba2b3a035f07dae50( -+ which: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/cdk16625/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/cdk16625/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/cdk16625/__init__.py --runtime-type-checking -@@ -45,10 +45,13 @@ - def _unwrap(self, gen: _IRandomNumberGenerator_9643a8b9) -> jsii.Number: - '''Implement this functin to return \`\`gen.next()\`\`. It is extremely important that the \`\`donotimport\`\` submodule is NEVER explicitly loaded in the testing application (otherwise this test is void). - - :param gen: a VERY pseudo random number generator. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__92f621cedc18f68d281c38191023e89bba6348836db623bc5d780630324b992b) -+ check_type(argname="argument gen", value=gen, expected_type=type_hints["gen"]) - return typing.cast(jsii.Number, jsii.invoke(self, "unwrap", [gen])) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class - typing.cast(typing.Any, Cdk16625).__jsii_proxy_class__ = lambda : _Cdk16625Proxy - -@@ -60,5 +63,11 @@ - - publication.publish() - - # Loading modules to ensure their types are registered with the jsii runtime library - from . import donotimport -+ -+def _typecheckingstub__92f621cedc18f68d281c38191023e89bba6348836db623bc5d780630324b992b( -+ gen: _IRandomNumberGenerator_9643a8b9, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/cdk16625/donotimport/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/cdk16625/donotimport/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/cdk16625/donotimport/__init__.py --runtime-type-checking -@@ -34,10 +34,13 @@ - - def __init__(self, value: jsii.Number) -> None: - ''' - :param value: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__e2659669d69691129e05836f0722a48449fe2efe197706d9d59c10c141470a4b) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.create(self.__class__, self, [value]) - - @jsii.member(jsii_name="next") - def next(self) -> jsii.Number: - '''Not quite random, but it'll do. -@@ -50,5 +53,11 @@ - __all__ = [ - "UnimportedSubmoduleType", - ] - - publication.publish() -+ -+def _typecheckingstub__e2659669d69691129e05836f0722a48449fe2efe197706d9d59c10c141470a4b( -+ value: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/cdk22369/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/cdk22369/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/cdk22369/__init__.py --runtime-type-checking -@@ -34,10 +34,13 @@ - class AcceptsPathProps: - def __init__(self, *, source_path: builtins.str) -> None: - ''' - :param source_path: A path that doesn't exist. - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5a067c851774273f33badeac9c167720ebde25d4301ab096dec54b2e615dc8a4) -+ check_type(argname="argument source_path", value=source_path, expected_type=type_hints["source_path"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "source_path": source_path, - } - - @builtins.property -@@ -63,5 +66,12 @@ - "AcceptsPath", - "AcceptsPathProps", - ] - - publication.publish() -+ -+def _typecheckingstub__5a067c851774273f33badeac9c167720ebde25d4301ab096dec54b2e615dc8a4( -+ *, -+ source_path: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/composition/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/composition/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/composition/__init__.py --runtime-type-checking -@@ -55,30 +55,39 @@ - '''A set of postfixes to include in a decorated .toString().''' - return typing.cast(typing.List[builtins.str], jsii.get(self, "decorationPostfixes")) - - @decoration_postfixes.setter - def decoration_postfixes(self, value: typing.List[builtins.str]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__f546e09b5b6c86dfee3f946eff8913ea8feb763a4156fb8aad45ecc179c63e62) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "decorationPostfixes", value) - - @builtins.property - @jsii.member(jsii_name="decorationPrefixes") - def decoration_prefixes(self) -> typing.List[builtins.str]: - '''A set of prefixes to include in a decorated .toString().''' - return typing.cast(typing.List[builtins.str], jsii.get(self, "decorationPrefixes")) - - @decoration_prefixes.setter - def decoration_prefixes(self, value: typing.List[builtins.str]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__abce94053402e9d1fcf1605226fa2c285e1340ec8219cfd1061f917e876a9051) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "decorationPrefixes", value) - - @builtins.property - @jsii.member(jsii_name="stringStyle") - def string_style(self) -> "CompositeOperation.CompositionStringStyle": - '''The .toString() style.''' - return typing.cast("CompositeOperation.CompositionStringStyle", jsii.get(self, "stringStyle")) - - @string_style.setter - def string_style(self, value: "CompositeOperation.CompositionStringStyle") -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__9dbbc353e0ea03d68edfa3977eadeb5446b56a89ffb921cb8406ba9fca0805b0) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "stringStyle", value) - - @jsii.enum( - jsii_type="jsii-calc.composition.CompositeOperation.CompositionStringStyle" - ) -@@ -111,5 +120,23 @@ - __all__ = [ - "CompositeOperation", - ] - - publication.publish() -+ -+def _typecheckingstub__f546e09b5b6c86dfee3f946eff8913ea8feb763a4156fb8aad45ecc179c63e62( -+ value: typing.List[builtins.str], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__abce94053402e9d1fcf1605226fa2c285e1340ec8219cfd1061f917e876a9051( -+ value: typing.List[builtins.str], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__9dbbc353e0ea03d68edfa3977eadeb5446b56a89ffb921cb8406ba9fca0805b0( -+ value: CompositeOperation.CompositionStringStyle, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/derived_class_has_no_properties/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/derived_class_has_no_properties/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/derived_class_has_no_properties/__init__.py --runtime-type-checking -@@ -28,10 +28,13 @@ - def prop(self) -> builtins.str: - return typing.cast(builtins.str, jsii.get(self, "prop")) - - @prop.setter - def prop(self, value: builtins.str) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__4b95d284137921c7cbf29a9e3a15da0a5cf9dda87efad87aa9ed601662f00b2c) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "prop", value) - - - class Derived( - Base, -@@ -46,5 +49,11 @@ - "Base", - "Derived", - ] - - publication.publish() -+ -+def _typecheckingstub__4b95d284137921c7cbf29a9e3a15da0a5cf9dda87efad87aa9ed601662f00b2c( -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/homonymous_forward_references/bar/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/homonymous_forward_references/bar/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/homonymous_forward_references/bar/__init__.py --runtime-type-checking -@@ -49,10 +49,13 @@ - ''' - :param homonymous: - ''' - if isinstance(homonymous, dict): - homonymous = Homonymous(**homonymous) -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__a201923592702b83e439b8af921b7eae6f1b86b0eeeffb6c2b506d66a57d4c3a) -+ check_type(argname="argument homonymous", value=homonymous, expected_type=type_hints["homonymous"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "homonymous": homonymous, - } - - @builtins.property -@@ -81,10 +84,13 @@ - class Homonymous: - def __init__(self, *, numeric_property: jsii.Number) -> None: - ''' - :param numeric_property: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__b7814834f12f5cbacf39dd7bdb11da208ae4c429011eff511d21e10d621cf9d5) -+ check_type(argname="argument numeric_property", value=numeric_property, expected_type=type_hints["numeric_property"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "numeric_property": numeric_property, - } - - @builtins.property -@@ -110,5 +116,19 @@ - "ConsumerProps", - "Homonymous", - ] - - publication.publish() -+ -+def _typecheckingstub__a201923592702b83e439b8af921b7eae6f1b86b0eeeffb6c2b506d66a57d4c3a( -+ *, -+ homonymous: typing.Union[Homonymous, typing.Dict[builtins.str, typing.Any]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__b7814834f12f5cbacf39dd7bdb11da208ae4c429011eff511d21e10d621cf9d5( -+ *, -+ numeric_property: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/homonymous_forward_references/foo/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/homonymous_forward_references/foo/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/homonymous_forward_references/foo/__init__.py --runtime-type-checking -@@ -49,10 +49,13 @@ - ''' - :param homonymous: - ''' - if isinstance(homonymous, dict): - homonymous = Homonymous(**homonymous) -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__56bad81fb024ccb6a97af9b4edcb748a4d5e34e81491c4222bb761bc0e5890b6) -+ check_type(argname="argument homonymous", value=homonymous, expected_type=type_hints["homonymous"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "homonymous": homonymous, - } - - @builtins.property -@@ -81,10 +84,13 @@ - class Homonymous: - def __init__(self, *, string_property: builtins.str) -> None: - ''' - :param string_property: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__57e873ae26cc34d45d619900518aa9fbc9f512fa9ca964387f9bcd933e461123) -+ check_type(argname="argument string_property", value=string_property, expected_type=type_hints["string_property"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "string_property": string_property, - } - - @builtins.property -@@ -110,5 +116,19 @@ - "ConsumerProps", - "Homonymous", - ] - - publication.publish() -+ -+def _typecheckingstub__56bad81fb024ccb6a97af9b4edcb748a4d5e34e81491c4222bb761bc0e5890b6( -+ *, -+ homonymous: typing.Union[Homonymous, typing.Dict[builtins.str, typing.Any]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__57e873ae26cc34d45d619900518aa9fbc9f512fa9ca964387f9bcd933e461123( -+ *, -+ string_property: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/interface_in_namespace_includes_classes/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/interface_in_namespace_includes_classes/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/interface_in_namespace_includes_classes/__init__.py --runtime-type-checking -@@ -28,10 +28,13 @@ - def bar(self) -> typing.Optional[builtins.str]: - return typing.cast(typing.Optional[builtins.str], jsii.get(self, "bar")) - - @bar.setter - def bar(self, value: typing.Optional[builtins.str]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__3319085b675e83451882dd81f7704e88da2e392266f9d5188ecb22725f3f71bb) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "bar", value) - - - @jsii.data_type( - jsii_type="jsii-calc.InterfaceInNamespaceIncludesClasses.Hello", -@@ -41,10 +44,13 @@ - class Hello: - def __init__(self, *, foo: jsii.Number) -> None: - ''' - :param foo: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5c05b45db7e873d4164cc7295b5d2800ba4bed1813d4a2d57aad8cedb292186d) -+ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "foo": foo, - } - - @builtins.property -@@ -69,5 +75,18 @@ - "Foo", - "Hello", - ] - - publication.publish() -+ -+def _typecheckingstub__3319085b675e83451882dd81f7704e88da2e392266f9d5188ecb22725f3f71bb( -+ value: typing.Optional[builtins.str], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__5c05b45db7e873d4164cc7295b5d2800ba4bed1813d4a2d57aad8cedb292186d( -+ *, -+ foo: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/interface_in_namespace_only_interface/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/interface_in_namespace_only_interface/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/interface_in_namespace_only_interface/__init__.py --runtime-type-checking -@@ -24,10 +24,13 @@ - class Hello: - def __init__(self, *, foo: jsii.Number) -> None: - ''' - :param foo: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__cc86cfd2ea53d0ae81d6d80ed07db33f3ca7b140e37166ba1d572a8ed2a78d2c) -+ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "foo": foo, - } - - @builtins.property -@@ -51,5 +54,12 @@ - __all__ = [ - "Hello", - ] - - publication.publish() -+ -+def _typecheckingstub__cc86cfd2ea53d0ae81d6d80ed07db33f3ca7b140e37166ba1d572a8ed2a78d2c( -+ *, -+ foo: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/jsii3656/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/jsii3656/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/jsii3656/__init__.py --runtime-type-checking -@@ -30,10 +30,14 @@ - ) -> None: - ''' - :param name: - :param count: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__9754f0ac616c8a4339db020e52a796e65577c9909ed5e25d0c696417da04377c) -+ check_type(argname="argument name", value=name, expected_type=type_hints["name"]) -+ check_type(argname="argument count", value=count, expected_type=type_hints["count"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "name": name, - } - if count is not None: - self._values["count"] = count -@@ -72,10 +76,13 @@ - @builtins.classmethod - def call_abstract(cls, receiver: "OverrideMe") -> builtins.bool: - ''' - :param receiver: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__37c9a298f20a606212f074bd150ba5bc37e38a4cc1f9b2672facafd80734afc1) -+ check_type(argname="argument receiver", value=receiver, expected_type=type_hints["receiver"]) - return typing.cast(builtins.bool, jsii.sinvoke(cls, "callAbstract", [receiver])) - - @jsii.member(jsii_name="implementMe") - @abc.abstractmethod - def implement_me( -@@ -115,5 +122,19 @@ - "ImplementMeOpts", - "OverrideMe", - ] - - publication.publish() -+ -+def _typecheckingstub__9754f0ac616c8a4339db020e52a796e65577c9909ed5e25d0c696417da04377c( -+ *, -+ name: builtins.str, -+ count: typing.Optional[jsii.Number] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__37c9a298f20a606212f074bd150ba5bc37e38a4cc1f9b2672facafd80734afc1( -+ receiver: OverrideMe, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/module2530/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/module2530/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/module2530/__init__.py --runtime-type-checking -@@ -24,28 +24,55 @@ - - def __init__(self, _: jsii.Number) -> None: - ''' - :param _: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__d62f783e4108a6327009d506f8ae7f5aca2734de07314ffd120f24d3e918f697) -+ check_type(argname="argument _", value=_, expected_type=type_hints["_"]) - jsii.create(self.__class__, self, [_]) - - @jsii.member(jsii_name="bar") - @builtins.classmethod - def bar(cls, _: builtins.bool) -> None: - ''' - :param _: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__f35c91dda02ec538c4e5ee9182aaa01ba14f837c78951f48bb0abd1a866a4d5c) -+ check_type(argname="argument _", value=_, expected_type=type_hints["_"]) - return typing.cast(None, jsii.sinvoke(cls, "bar", [_])) - - @jsii.member(jsii_name="foo") - def foo(self, _: builtins.str) -> None: - ''' - :param _: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__dd74e61269fd21c6a0b0983199f27c5d4df8a4447ff77e770890f58f6c9b6969) -+ check_type(argname="argument _", value=_, expected_type=type_hints["_"]) - return typing.cast(None, jsii.invoke(self, "foo", [_])) - - - __all__ = [ - "MyClass", - ] - - publication.publish() -+ -+def _typecheckingstub__d62f783e4108a6327009d506f8ae7f5aca2734de07314ffd120f24d3e918f697( -+ _: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__f35c91dda02ec538c4e5ee9182aaa01ba14f837c78951f48bb0abd1a866a4d5c( -+ _: builtins.bool, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__dd74e61269fd21c6a0b0983199f27c5d4df8a4447ff77e770890f58f6c9b6969( -+ _: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/module2647/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/module2647/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/module2647/__init__.py --runtime-type-checking -@@ -34,10 +34,13 @@ - ''' - :param very: - - - :stability: deprecated - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__3b33906576528227344dbb0f079876c5dccd08a32f3dbaa0acdc3f444c5fe448) -+ check_type(argname="argument very", value=very, expected_type=type_hints["very"]) - jsii.create(self.__class__, self, [very]) - - @jsii.member(jsii_name="hello") - def hello(self) -> builtins.str: - '''Say hello!''' -@@ -51,5 +54,11 @@ - __all__ = [ - "ExtendAndImplement", - ] - - publication.publish() -+ -+def _typecheckingstub__3b33906576528227344dbb0f079876c5dccd08a32f3dbaa0acdc3f444c5fe448( -+ very: _scope_jsii_calc_base_of_base_49fa37fe.Very, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/module2689/methods/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/module2689/methods/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/module2689/methods/__init__.py --runtime-type-checking -@@ -32,23 +32,41 @@ - _bar: typing.Mapping[builtins.str, typing.Union[_scope_jsii_calc_base_734f0262.BaseProps, typing.Dict[builtins.str, typing.Any]]], - ) -> None: - ''' - :param _bar: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__cfbe1bc46497cbad551fc80c4d304742daa30493dee8c65b7119cafdeb06e9af) -+ check_type(argname="argument _bar", value=_bar, expected_type=type_hints["_bar"]) - return typing.cast(None, jsii.invoke(self, "bar", [_bar])) - - @jsii.member(jsii_name="foo") - def foo( - self, - _values: typing.Sequence[_scope_jsii_calc_lib_c61f082f.Number], - ) -> None: - ''' - :param _values: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__40045f17e26efacbabd3e103d903497e18761a611301d901fcdebc3cf8baaced) -+ check_type(argname="argument _values", value=_values, expected_type=type_hints["_values"]) - return typing.cast(None, jsii.invoke(self, "foo", [_values])) - - - __all__ = [ - "MyClass", - ] - - publication.publish() -+ -+def _typecheckingstub__cfbe1bc46497cbad551fc80c4d304742daa30493dee8c65b7119cafdeb06e9af( -+ _bar: typing.Mapping[builtins.str, typing.Union[_scope_jsii_calc_base_734f0262.BaseProps, typing.Dict[builtins.str, typing.Any]]], -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__40045f17e26efacbabd3e103d903497e18761a611301d901fcdebc3cf8baaced( -+ _values: typing.Sequence[_scope_jsii_calc_lib_c61f082f.Number], -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/module2689/structs/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/module2689/structs/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/module2689/structs/__init__.py --runtime-type-checking -@@ -33,10 +33,14 @@ - ) -> None: - ''' - :param base_map: - :param numbers: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__71fe496245d27f33a2ded522fdf47757e7fb41b578fd3ec479cd5b45534588fc) -+ check_type(argname="argument base_map", value=base_map, expected_type=type_hints["base_map"]) -+ check_type(argname="argument numbers", value=numbers, expected_type=type_hints["numbers"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "base_map": base_map, - "numbers": numbers, - } - -@@ -69,5 +73,13 @@ - __all__ = [ - "MyStruct", - ] - - publication.publish() -+ -+def _typecheckingstub__71fe496245d27f33a2ded522fdf47757e7fb41b578fd3ec479cd5b45534588fc( -+ *, -+ base_map: typing.Mapping[builtins.str, typing.Union[_scope_jsii_calc_base_734f0262.BaseProps, typing.Dict[builtins.str, typing.Any]]], -+ numbers: typing.Sequence[_scope_jsii_calc_lib_c61f082f.Number], -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/module2692/submodule1/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/module2692/submodule1/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/module2692/submodule1/__init__.py --runtime-type-checking -@@ -24,10 +24,13 @@ - class Bar: - def __init__(self, *, bar1: builtins.str) -> None: - ''' - :param bar1: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__6602c05b71ef2e77c650dd283c33ba4543f756dbbca5d1c31752ee29f836b1f5) -+ check_type(argname="argument bar1", value=bar1, expected_type=type_hints["bar1"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "bar1": bar1, - } - - @builtins.property -@@ -51,5 +54,12 @@ - __all__ = [ - "Bar", - ] - - publication.publish() -+ -+def _typecheckingstub__6602c05b71ef2e77c650dd283c33ba4543f756dbbca5d1c31752ee29f836b1f5( -+ *, -+ bar1: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/module2692/submodule2/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/module2692/submodule2/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/module2692/submodule2/__init__.py --runtime-type-checking -@@ -26,10 +26,13 @@ - class Bar: - def __init__(self, *, bar2: builtins.str) -> None: - ''' - :param bar2: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__d9a43a9ecad39319deef77fa38822e65c584450447849fb04c34b767a8c0881d) -+ check_type(argname="argument bar2", value=bar2, expected_type=type_hints["bar2"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "bar2": bar2, - } - - @builtins.property -@@ -66,10 +69,15 @@ - ''' - :param bar2: - :param bar1: - :param foo2: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__717272f96a16c5ea04b9406364f96f18d1c2b16b183b81ef7bae856ebd371a43) -+ check_type(argname="argument bar2", value=bar2, expected_type=type_hints["bar2"]) -+ check_type(argname="argument bar1", value=bar1, expected_type=type_hints["bar1"]) -+ check_type(argname="argument foo2", value=foo2, expected_type=type_hints["foo2"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "bar2": bar2, - "bar1": bar1, - "foo2": foo2, - } -@@ -108,5 +116,21 @@ - "Bar", - "Foo", - ] - - publication.publish() -+ -+def _typecheckingstub__d9a43a9ecad39319deef77fa38822e65c584450447849fb04c34b767a8c0881d( -+ *, -+ bar2: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__717272f96a16c5ea04b9406364f96f18d1c2b16b183b81ef7bae856ebd371a43( -+ *, -+ bar2: builtins.str, -+ bar1: builtins.str, -+ foo2: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/python_self/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/python_self/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/python_self/__init__.py --runtime-type-checking -@@ -22,17 +22,23 @@ - ): - def __init__(self_, self: builtins.str) -> None: - ''' - :param self: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__5cc662603963e69f50f446fe7bf40b3f3ccf17842ed59562f45f4eb63848155b) -+ check_type(argname="argument self", value=self, expected_type=type_hints["self"]) - jsii.create(self_.__class__, self_, [self]) - - @jsii.member(jsii_name="method") - def method(self_, self: jsii.Number) -> builtins.str: - ''' - :param self: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__7085240966e9682f4d0598c65f482b932ae1281420f2cead92f0036488d061d4) -+ check_type(argname="argument self", value=self, expected_type=type_hints["self"]) - return typing.cast(builtins.str, jsii.invoke(self_, "method", [self])) - - @builtins.property - @jsii.member(jsii_name="self") - def self(self) -> builtins.str: -@@ -73,10 +79,13 @@ - @jsii.member(jsii_name="method") - def method(self_, self: jsii.Number) -> builtins.str: - ''' - :param self: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__8e4a50df1f139ac6d917c0954b0b6346aeeb47f16abae33b345a5aa2aa02fc99) -+ check_type(argname="argument self", value=self, expected_type=type_hints["self"]) - return typing.cast(builtins.str, jsii.invoke(self_, "method", [self])) - - # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface - typing.cast(typing.Any, IInterfaceWithSelf).__jsii_proxy_class__ = lambda : _IInterfaceWithSelfProxy - -@@ -89,10 +98,13 @@ - class StructWithSelf: - def __init__(self_, *, self: builtins.str) -> None: - ''' - :param self: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__796022ef7b07de2b3997ff905b7451854b30a5e8e06145e4cc31e88f0ea8b0d0) -+ check_type(argname="argument self", value=self, expected_type=type_hints["self"]) - self_._values: typing.Dict[builtins.str, typing.Any] = { - "self": self, - } - - @builtins.property -@@ -119,5 +131,30 @@ - "IInterfaceWithSelf", - "StructWithSelf", - ] - - publication.publish() -+ -+def _typecheckingstub__5cc662603963e69f50f446fe7bf40b3f3ccf17842ed59562f45f4eb63848155b( -+ self: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__7085240966e9682f4d0598c65f482b932ae1281420f2cead92f0036488d061d4( -+ self: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__8e4a50df1f139ac6d917c0954b0b6346aeeb47f16abae33b345a5aa2aa02fc99( -+ self: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__796022ef7b07de2b3997ff905b7451854b30a5e8e06145e4cc31e88f0ea8b0d0( -+ *, -+ self: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/submodule/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/submodule/__init__.py --runtime-type-checking -@@ -42,10 +42,13 @@ - - :param foo: - - :see: https://github.com/aws/jsii/issues/2637 - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__a44c39bd2002b354344d30dcb1ae0e2dc7ef8f604c2d31c61616cbbfc6a6fc40) -+ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "foo": foo, - } - - @builtins.property -@@ -110,10 +113,13 @@ - def all_types(self) -> typing.Optional[_AllTypes_b08307c5]: - return typing.cast(typing.Optional[_AllTypes_b08307c5], jsii.get(self, "allTypes")) - - @all_types.setter - def all_types(self, value: typing.Optional[_AllTypes_b08307c5]) -> None: -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__bfa98c91ee81ff3f0ca8bdba51d8e53f57e5260e9d6071534e9caa5ba2ffaed1) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - jsii.set(self, "allTypes", value) - - - __all__ = [ - "Default", -@@ -133,5 +139,18 @@ - from . import child - from . import isolated - from . import nested_submodule - from . import param - from . import returnsparam -+ -+def _typecheckingstub__a44c39bd2002b354344d30dcb1ae0e2dc7ef8f604c2d31c61616cbbfc6a6fc40( -+ *, -+ foo: jsii.Number, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__bfa98c91ee81ff3f0ca8bdba51d8e53f57e5260e9d6071534e9caa5ba2ffaed1( -+ value: typing.Optional[_AllTypes_b08307c5], -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/back_references/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/submodule/back_references/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/submodule/back_references/__init__.py --runtime-type-checking -@@ -26,10 +26,13 @@ - class MyClassReference: - def __init__(self, *, reference: _MyClass_a2fdc0b6) -> None: - ''' - :param reference: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__e7f53d1efa418d6ee29ababd1c2660c1d3d9a5d3de3ad874b2d0cd7c6481139b) -+ check_type(argname="argument reference", value=reference, expected_type=type_hints["reference"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "reference": reference, - } - - @builtins.property -@@ -53,5 +56,12 @@ - __all__ = [ - "MyClassReference", - ] - - publication.publish() -+ -+def _typecheckingstub__e7f53d1efa418d6ee29ababd1c2660c1d3d9a5d3de3ad874b2d0cd7c6481139b( -+ *, -+ reference: _MyClass_a2fdc0b6, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/child/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/submodule/child/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/submodule/child/__init__.py --runtime-type-checking -@@ -76,10 +76,13 @@ - class SomeStruct: - def __init__(self, *, prop: SomeEnum) -> None: - ''' - :param prop: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__ce6e4bc4b6c503e757ba9e0640368ea37840d2ca58311e6ec8b98cdcda077f48) -+ check_type(argname="argument prop", value=prop, expected_type=type_hints["prop"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "prop": prop, - } - - @builtins.property -@@ -108,10 +111,13 @@ - class Structure: - def __init__(self, *, bool: builtins.bool) -> None: - ''' - :param bool: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__f4dc81f7243c5c317d71ab682231a51bf3c3a189d9be68c17b8d41246c0abef5) -+ check_type(argname="argument bool", value=bool, expected_type=type_hints["bool"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "bool": bool, - } - - @builtins.property -@@ -146,10 +152,14 @@ - ) -> None: - ''' - :param prop: - :param extra: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__b3b6b38208a14cadd94ba787e4091f753debb361ad5dd2ee9d037908f5677d8b) -+ check_type(argname="argument prop", value=prop, expected_type=type_hints["prop"]) -+ check_type(argname="argument extra", value=extra, expected_type=type_hints["extra"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "prop": prop, - } - if extra is not None: - self._values["extra"] = extra -@@ -187,5 +197,27 @@ - "SomeStruct", - "Structure", - ] - - publication.publish() -+ -+def _typecheckingstub__ce6e4bc4b6c503e757ba9e0640368ea37840d2ca58311e6ec8b98cdcda077f48( -+ *, -+ prop: SomeEnum, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__f4dc81f7243c5c317d71ab682231a51bf3c3a189d9be68c17b8d41246c0abef5( -+ *, -+ bool: builtins.bool, -+) -> None: -+ """Type checking stubs""" -+ pass -+ -+def _typecheckingstub__b3b6b38208a14cadd94ba787e4091f753debb361ad5dd2ee9d037908f5677d8b( -+ *, -+ prop: SomeEnum, -+ extra: typing.Optional[builtins.str] = None, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/param/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/submodule/param/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/submodule/param/__init__.py --runtime-type-checking -@@ -24,10 +24,13 @@ - class SpecialParameter: - def __init__(self, *, value: builtins.str) -> None: - ''' - :param value: - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__25c6f5775c01f503690c503a264eb256af186a94c0c65bd43d6a11942ff54b1c) -+ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) - self._values: typing.Dict[builtins.str, typing.Any] = { - "value": value, - } - - @builtins.property -@@ -51,5 +54,12 @@ - __all__ = [ - "SpecialParameter", - ] - - publication.publish() -+ -+def _typecheckingstub__25c6f5775c01f503690c503a264eb256af186a94c0c65bd43d6a11942ff54b1c( -+ *, -+ value: builtins.str, -+) -> None: -+ """Type checking stubs""" -+ pass -`; - -exports[`Generated code for "jsii-calc": /python/src/jsii_calc/union/__init__.py.diff 1`] = ` ---- python/src/jsii_calc/union/__init__.py --no-runtime-type-checking -+++ python/src/jsii_calc/union/__init__.py --runtime-type-checking -@@ -26,10 +26,13 @@ - param: typing.Union["IResolvable", "Resolvable", _scope_jsii_calc_lib_c61f082f.IFriendly], - ) -> None: - ''' - :param param: - - ''' -+ if __debug__: -+ type_hints = typing.get_type_hints(_typecheckingstub__62dfa3c0a0a719fea295807df31fd40fd66b0e76cf44d9f742ffb421f8e4ca77) -+ check_type(argname="argument param", value=param, expected_type=type_hints["param"]) - return typing.cast(None, jsii.sinvoke(cls, "unionType", [param])) - - - @jsii.interface(jsii_type="jsii-calc.union.IResolvable") - class IResolvable(typing_extensions.Protocol): -@@ -61,5 +64,11 @@ - "IResolvable", - "Resolvable", - ] - - publication.publish() -+ -+def _typecheckingstub__62dfa3c0a0a719fea295807df31fd40fd66b0e76cf44d9f742ffb421f8e4ca77( -+ param: typing.Union[IResolvable, Resolvable, _scope_jsii_calc_lib_c61f082f.IFriendly], -+) -> None: -+ """Type checking stubs""" -+ pass -`; From 9525571766e15edc63b667fae3f626e9056eb7e3 Mon Sep 17 00:00:00 2001 From: Kaizen Conroy Date: Fri, 7 Jun 2024 14:56:51 -0400 Subject: [PATCH 6/6] snaps --- .../__snapshots__/target-python.test.js.snap | 6272 +++++++++++++++++ 1 file changed, 6272 insertions(+) diff --git a/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap b/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap index 08907b8371..ab78f626e0 100644 --- a/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap +++ b/packages/jsii-pacmak/test/generated-code/__snapshots__/target-python.test.js.snap @@ -497,6 +497,69 @@ exports[`Generated code for "@scope/jsii-calc-base": /python/src/scope/j `; +exports[`Generated code for "@scope/jsii-calc-base": / 1`] = ` + + ┗━ 📁 python + ┗━ 📁 src + ┗━ 📁 scope + ┗━ 📁 jsii_calc_base + ┗━ 📄 __init__.py.diff +`; + +exports[`Generated code for "@scope/jsii-calc-base": /python/src/scope/jsii_calc_base/__init__.py.diff 1`] = ` +--- python/src/scope/jsii_calc_base/__init__.py --no-runtime-type-checking ++++ python/src/scope/jsii_calc_base/__init__.py --runtime-type-checking +@@ -53,10 +53,14 @@ + ) -> None: + ''' + :param foo: - + :param bar: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__e2d8a566db7d86eb1cb511cb869273dae39a21b3ad7041359aabb7bd283dcfef) ++ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) ++ check_type(argname="argument bar", value=bar, expected_type=type_hints["bar"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "foo": foo, + "bar": bar, + } + +@@ -120,10 +124,13 @@ + @builtins.classmethod + def consume(cls, *args: typing.Any) -> None: + ''' + :param args: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__66400f6ebe2f9a3fbb550342b894bebf4f5368890843f3917e2b903f62d48b38) ++ check_type(argname="argument args", value=args, expected_type=typing.Tuple[type_hints["args"], ...]) # pyright: ignore [reportGeneralTypeIssues] + return typing.cast(None, jsii.sinvoke(cls, "consume", [*args])) + + + __all__ = [ + "Base", +@@ -131,5 +138,19 @@ + "IBaseInterface", + "StaticConsumer", + ] + + publication.publish() ++ ++def _typecheckingstub__e2d8a566db7d86eb1cb511cb869273dae39a21b3ad7041359aabb7bd283dcfef( ++ *, ++ foo: _scope_jsii_calc_base_of_base_49fa37fe.Very, ++ bar: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__66400f6ebe2f9a3fbb550342b894bebf4f5368890843f3917e2b903f62d48b38( ++ *args: typing.Any, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + exports[`Generated code for "@scope/jsii-calc-base-of-base": / 1`] = ` ┗━ 📁 python @@ -965,6 +1028,67 @@ exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/src `; +exports[`Generated code for "@scope/jsii-calc-base-of-base": / 1`] = ` + + ┗━ 📁 python + ┗━ 📁 src + ┗━ 📁 scope + ┗━ 📁 jsii_calc_base_of_base + ┗━ 📄 __init__.py.diff +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/src/scope/jsii_calc_base_of_base/__init__.py.diff 1`] = ` +--- python/src/scope/jsii_calc_base_of_base/__init__.py --no-runtime-type-checking ++++ python/src/scope/jsii_calc_base_of_base/__init__.py --runtime-type-checking +@@ -42,10 +42,13 @@ + @builtins.classmethod + def consume(cls, *_args: typing.Any) -> None: + ''' + :param _args: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__740535cda6ecbc578919a2921dd1fa0b87c5dd735a2acd391963310cdf59f47c) ++ check_type(argname="argument _args", value=_args, expected_type=typing.Tuple[type_hints["_args"], ...]) # pyright: ignore [reportGeneralTypeIssues] + return typing.cast(None, jsii.sinvoke(cls, "consume", [*_args])) + + + class Very(metaclass=jsii.JSIIMeta, jsii_type="@scope/jsii-calc-base-of-base.Very"): + '''(experimental) Something here. +@@ -72,10 +75,13 @@ + class VeryBaseProps: + def __init__(self, *, foo: Very) -> None: + ''' + :param foo: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c314d9d6951cb6f41a208c5feb55cc9d30da774b67f6d47cb4fa13215b96f2b9) ++ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "foo": foo, + } + + @builtins.property +@@ -102,5 +108,18 @@ + "Very", + "VeryBaseProps", + ] + + publication.publish() ++ ++def _typecheckingstub__740535cda6ecbc578919a2921dd1fa0b87c5dd735a2acd391963310cdf59f47c( ++ *_args: typing.Any, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c314d9d6951cb6f41a208c5feb55cc9d30da774b67f6d47cb4fa13215b96f2b9( ++ *, ++ foo: Very, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + exports[`Generated code for "@scope/jsii-calc-lib": / 1`] = ` ┗━ 📁 python @@ -2269,6 +2393,277 @@ exports[`Generated code for "@scope/jsii-calc-lib": /python/src/scope/js `; +exports[`Generated code for "@scope/jsii-calc-lib": / 1`] = ` + + ┗━ 📁 python + ┗━ 📁 src + ┗━ 📁 scope + ┗━ 📁 jsii_calc_lib + ┣━ 📄 __init__.py.diff + ┗━ 📁 custom_submodule_name + ┗━ 📄 __init__.py.diff +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /python/src/scope/jsii_calc_lib/__init__.py.diff 1`] = ` +--- python/src/scope/jsii_calc_lib/__init__.py --no-runtime-type-checking ++++ python/src/scope/jsii_calc_lib/__init__.py --runtime-type-checking +@@ -37,19 +37,25 @@ + ''' + :param very: - + + :stability: deprecated + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__46512218b53da06690990919b41a88d6c2379b11ef0a3243cf6d60add5197ae2) ++ check_type(argname="argument very", value=very, expected_type=type_hints["very"]) + jsii.create(self.__class__, self, [very]) + + @jsii.member(jsii_name="foo") + def foo(self, obj: _scope_jsii_calc_base_734f0262.IBaseInterface) -> None: + ''' + :param obj: - + + :stability: deprecated + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__e721760a6f0cb2ba909986665323a1f1f880769c379ae1f2ad0dbadf80ee9016) ++ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) + return typing.cast(None, jsii.invoke(self, "foo", [obj])) + + + @jsii.data_type( + jsii_type="@scope/jsii-calc-lib.DiamondLeft", +@@ -67,10 +73,14 @@ + :param hoisted_top: + :param left: + + :stability: deprecated + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__969bc4b33aa2d0684b20d440803d81dfda55aa9fa6398ac40f1afafc2114db5a) ++ check_type(argname="argument hoisted_top", value=hoisted_top, expected_type=type_hints["hoisted_top"]) ++ check_type(argname="argument left", value=left, expected_type=type_hints["left"]) + self._values: typing.Dict[builtins.str, typing.Any] = {} + if hoisted_top is not None: + self._values["hoisted_top"] = hoisted_top + if left is not None: + self._values["left"] = left +@@ -119,10 +129,14 @@ + :param hoisted_top: + :param right: + + :stability: deprecated + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__31f7eac552107efa0a4275f6798b003fcc3b6e74e0a463ae709af8b660b91dc4) ++ check_type(argname="argument hoisted_top", value=hoisted_top, expected_type=type_hints["hoisted_top"]) ++ check_type(argname="argument right", value=right, expected_type=type_hints["right"]) + self._values: typing.Dict[builtins.str, typing.Any] = {} + if hoisted_top is not None: + self._values["hoisted_top"] = hoisted_top + if right is not None: + self._values["right"] = right +@@ -194,10 +208,13 @@ + ''' + :param _: - + + :stability: deprecated + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__9f2d965a28491c2347ed53f3f21b6d1e134bd8c506672f5715c44023bddab720) ++ check_type(argname="argument _", value=_, expected_type=type_hints["_"]) + return typing.cast(builtins.str, jsii.invoke(self, "foo", [_])) + + + @jsii.interface(jsii_type="@scope/jsii-calc-lib.IDoublable") + class IDoublable(typing_extensions.Protocol): +@@ -345,10 +362,15 @@ + :param astring: (deprecated) A string value. + :param first_optional: + + :stability: deprecated + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__de81edc65427ea9129fd035388008307a6cae942eefc63cb3d9fd8b42956da06) ++ check_type(argname="argument anumber", value=anumber, expected_type=type_hints["anumber"]) ++ check_type(argname="argument astring", value=astring, expected_type=type_hints["astring"]) ++ check_type(argname="argument first_optional", value=first_optional, expected_type=type_hints["first_optional"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "anumber": anumber, + "astring": astring, + } + if first_optional is not None: +@@ -505,10 +527,15 @@ + :param optional2: + :param optional3: + + :stability: deprecated + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__82b4e5e8f3b46996124a87aac13a874f61bf9660a45a062bafa08046c027da63) ++ check_type(argname="argument optional1", value=optional1, expected_type=type_hints["optional1"]) ++ check_type(argname="argument optional2", value=optional2, expected_type=type_hints["optional2"]) ++ check_type(argname="argument optional3", value=optional3, expected_type=type_hints["optional3"]) + self._values: typing.Dict[builtins.str, typing.Any] = {} + if optional1 is not None: + self._values["optional1"] = optional1 + if optional2 is not None: + self._values["optional2"] = optional2 +@@ -568,10 +595,13 @@ + + :param value: The number. + + :stability: deprecated + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__adff4f4d0383c32ffdeb0bca92ae1ea2ebe0b2ea8d9bf5f5433287cc06e55e07) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.create(self.__class__, self, [value]) + + @builtins.property + @jsii.member(jsii_name="doubleValue") + def double_value(self) -> jsii.Number: +@@ -612,5 +642,63 @@ + publication.publish() + + # Loading modules to ensure their types are registered with the jsii runtime library + from . import custom_submodule_name + from . import deprecation_removal ++ ++def _typecheckingstub__46512218b53da06690990919b41a88d6c2379b11ef0a3243cf6d60add5197ae2( ++ very: _scope_jsii_calc_base_of_base_49fa37fe.Very, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__e721760a6f0cb2ba909986665323a1f1f880769c379ae1f2ad0dbadf80ee9016( ++ obj: _scope_jsii_calc_base_734f0262.IBaseInterface, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__969bc4b33aa2d0684b20d440803d81dfda55aa9fa6398ac40f1afafc2114db5a( ++ *, ++ hoisted_top: typing.Optional[builtins.str] = None, ++ left: typing.Optional[jsii.Number] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__31f7eac552107efa0a4275f6798b003fcc3b6e74e0a463ae709af8b660b91dc4( ++ *, ++ hoisted_top: typing.Optional[builtins.str] = None, ++ right: typing.Optional[builtins.bool] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__9f2d965a28491c2347ed53f3f21b6d1e134bd8c506672f5715c44023bddab720( ++ _: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__de81edc65427ea9129fd035388008307a6cae942eefc63cb3d9fd8b42956da06( ++ *, ++ anumber: jsii.Number, ++ astring: builtins.str, ++ first_optional: typing.Optional[typing.Sequence[builtins.str]] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__82b4e5e8f3b46996124a87aac13a874f61bf9660a45a062bafa08046c027da63( ++ *, ++ optional1: typing.Optional[builtins.str] = None, ++ optional2: typing.Optional[jsii.Number] = None, ++ optional3: typing.Optional[builtins.bool] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__adff4f4d0383c32ffdeb0bca92ae1ea2ebe0b2ea8d9bf5f5433287cc06e55e07( ++ value: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /python/src/scope/jsii_calc_lib/custom_submodule_name/__init__.py.diff 1`] = ` +--- python/src/scope/jsii_calc_lib/custom_submodule_name/__init__.py --no-runtime-type-checking ++++ python/src/scope/jsii_calc_lib/custom_submodule_name/__init__.py --runtime-type-checking +@@ -100,10 +100,13 @@ + + :param name: + + :stability: deprecated + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5c03ed6e0d395f6fa262d12c7831dd2893af2098bf580a0c602a20f92c1ad24b) ++ check_type(argname="argument name", value=name, expected_type=type_hints["name"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "name": name, + } + + @builtins.property +@@ -138,10 +141,14 @@ + :param key: + :param value: + + :stability: deprecated + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__301126f287c0bfbbd3cb015833c5e0b2ced77e73d25597215c917612b67c3331) ++ check_type(argname="argument key", value=key, expected_type=type_hints["key"]) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "key": key, + "value": value, + } + +@@ -197,10 +204,13 @@ + ''' + :param reflectable: - + + :stability: deprecated + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__bed3b5b08c611933987ef5d9dfc131289e09ebcd26286417337c3708ca054e9f) ++ check_type(argname="argument reflectable", value=reflectable, expected_type=type_hints["reflectable"]) + return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "asMap", [reflectable])) + + + __all__ = [ + "IReflectable", +@@ -208,5 +218,26 @@ + "ReflectableEntry", + "Reflector", + ] + + publication.publish() ++ ++def _typecheckingstub__5c03ed6e0d395f6fa262d12c7831dd2893af2098bf580a0c602a20f92c1ad24b( ++ *, ++ name: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__301126f287c0bfbbd3cb015833c5e0b2ced77e73d25597215c917612b67c3331( ++ *, ++ key: builtins.str, ++ value: typing.Any, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__bed3b5b08c611933987ef5d9dfc131289e09ebcd26286417337c3708ca054e9f( ++ reflectable: IReflectable, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + exports[`Generated code for "jsii-calc": / 1`] = ` ┗━ 📁 python @@ -14354,3 +14749,5880 @@ __all__ = [ publication.publish() `; + +exports[`Generated code for "jsii-calc": / 1`] = ` + + ┗━ 📁 python + ┗━ 📁 src + ┗━ 📁 jsii_calc + ┣━ 📄 __init__.py.diff + ┣━ 📁 anonymous + ┃ ┗━ 📄 __init__.py.diff + ┣━ 📁 cdk16625 + ┃ ┣━ 📄 __init__.py.diff + ┃ ┗━ 📁 donotimport + ┃ ┗━ 📄 __init__.py.diff + ┣━ 📁 cdk22369 + ┃ ┗━ 📄 __init__.py.diff + ┣━ 📁 composition + ┃ ┗━ 📄 __init__.py.diff + ┣━ 📁 derived_class_has_no_properties + ┃ ┗━ 📄 __init__.py.diff + ┣━ 📁 homonymous_forward_references + ┃ ┣━ 📁 bar + ┃ ┃ ┗━ 📄 __init__.py.diff + ┃ ┗━ 📁 foo + ┃ ┗━ 📄 __init__.py.diff + ┣━ 📁 interface_in_namespace_includes_classes + ┃ ┗━ 📄 __init__.py.diff + ┣━ 📁 interface_in_namespace_only_interface + ┃ ┗━ 📄 __init__.py.diff + ┣━ 📁 jsii3656 + ┃ ┗━ 📄 __init__.py.diff + ┣━ 📁 module2530 + ┃ ┗━ 📄 __init__.py.diff + ┣━ 📁 module2647 + ┃ ┗━ 📄 __init__.py.diff + ┣━ 📁 module2689 + ┃ ┣━ 📁 methods + ┃ ┃ ┗━ 📄 __init__.py.diff + ┃ ┗━ 📁 structs + ┃ ┗━ 📄 __init__.py.diff + ┣━ 📁 module2692 + ┃ ┣━ 📁 submodule1 + ┃ ┃ ┗━ 📄 __init__.py.diff + ┃ ┗━ 📁 submodule2 + ┃ ┗━ 📄 __init__.py.diff + ┣━ 📁 python_self + ┃ ┗━ 📄 __init__.py.diff + ┣━ 📁 submodule + ┃ ┣━ 📄 __init__.py.diff + ┃ ┣━ 📁 back_references + ┃ ┃ ┗━ 📄 __init__.py.diff + ┃ ┣━ 📁 child + ┃ ┃ ┗━ 📄 __init__.py.diff + ┃ ┗━ 📁 param + ┃ ┗━ 📄 __init__.py.diff + ┗━ 📁 union + ┗━ 📄 __init__.py.diff +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/__init__.py --runtime-type-checking +@@ -114,10 +114,13 @@ + def work_it_all(self, seed: builtins.str) -> builtins.str: + '''Sets \`\`seed\`\` to \`\`this.property\`\`, then calls \`\`someMethod\`\` with \`\`this.property\`\` and returns the result. + + :param seed: a \`\`string\`\`. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__8348af6419fc01178f78ba59cea59d0c7437626169866d772f4e957d09e6e13a) ++ check_type(argname="argument seed", value=seed, expected_type=type_hints["seed"]) + return typing.cast(builtins.str, jsii.invoke(self, "workItAll", [seed])) + + @builtins.property + @jsii.member(jsii_name="property") + @abc.abstractmethod +@@ -134,19 +137,25 @@ + @jsii.member(jsii_name="someMethod") + def _some_method(self, str: builtins.str) -> builtins.str: + ''' + :param str: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__06c06b97e36be962012901c4c1f542b3f51b377154f91bf1154d1bd475221829) ++ check_type(argname="argument str", value=str, expected_type=type_hints["str"]) + return typing.cast(builtins.str, jsii.invoke(self, "someMethod", [str])) + + @builtins.property + @jsii.member(jsii_name="property") + def _property(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "property")) + + @_property.setter + def _property(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__0f076015f51de68c2d0e6902c0d199c9058ad0bff9c11f58b2aae99578ece6ae) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "property", value) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class + typing.cast(typing.Any, AbstractSuite).__jsii_proxy_class__ = lambda : _AbstractSuiteProxy + +@@ -164,10 +173,13 @@ + @jsii.member(jsii_name="anyIn") + def any_in(self, inp: typing.Any) -> None: + ''' + :param inp: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__81a2d86a9598fa10dde4af8bd70d369967edc6febb332dc788702f6aea07f33c) ++ check_type(argname="argument inp", value=inp, expected_type=type_hints["inp"]) + return typing.cast(None, jsii.invoke(self, "anyIn", [inp])) + + @jsii.member(jsii_name="anyOut") + def any_out(self) -> typing.Any: + return typing.cast(typing.Any, jsii.invoke(self, "anyOut", [])) +@@ -175,10 +187,13 @@ + @jsii.member(jsii_name="enumMethod") + def enum_method(self, value: "StringEnum") -> "StringEnum": + ''' + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__56056c33132184bd4ad46f69c534777112c49b9a987cc7b962d4026cf550998c) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + return typing.cast("StringEnum", jsii.invoke(self, "enumMethod", [value])) + + @builtins.property + @jsii.member(jsii_name="enumPropertyValue") + def enum_property_value(self) -> jsii.Number: +@@ -189,73 +204,97 @@ + def any_array_property(self) -> typing.List[typing.Any]: + return typing.cast(typing.List[typing.Any], jsii.get(self, "anyArrayProperty")) + + @any_array_property.setter + def any_array_property(self, value: typing.List[typing.Any]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__1ab9ae75c746f751d2bf2ac254bcd1bee8eae7281ec936e222c9f29765fdcfa4) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "anyArrayProperty", value) + + @builtins.property + @jsii.member(jsii_name="anyMapProperty") + def any_map_property(self) -> typing.Mapping[builtins.str, typing.Any]: + return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "anyMapProperty")) + + @any_map_property.setter + def any_map_property(self, value: typing.Mapping[builtins.str, typing.Any]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__f88e356a91a703923e622c02850435cc7f632a66f49ca79f00d42590d2928a5e) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "anyMapProperty", value) + + @builtins.property + @jsii.member(jsii_name="anyProperty") + def any_property(self) -> typing.Any: + return typing.cast(typing.Any, jsii.get(self, "anyProperty")) + + @any_property.setter + def any_property(self, value: typing.Any) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__d81f1a89ccd850ccdb0b96a43000dfcde30f3542bf797051c754610d641f2316) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "anyProperty", value) + + @builtins.property + @jsii.member(jsii_name="arrayProperty") + def array_property(self) -> typing.List[builtins.str]: + return typing.cast(typing.List[builtins.str], jsii.get(self, "arrayProperty")) + + @array_property.setter + def array_property(self, value: typing.List[builtins.str]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__0c663902e9a8a1db9aff59eb8642a68c944dc2e3385744098d2b51ecf2e2e11f) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "arrayProperty", value) + + @builtins.property + @jsii.member(jsii_name="booleanProperty") + def boolean_property(self) -> builtins.bool: + return typing.cast(builtins.bool, jsii.get(self, "booleanProperty")) + + @boolean_property.setter + def boolean_property(self, value: builtins.bool) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__106a83d3c77dbb6dbc6fcd706bca888d57ec37cd4beedf7dcc9d7d4428f44845) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "booleanProperty", value) + + @builtins.property + @jsii.member(jsii_name="dateProperty") + def date_property(self) -> datetime.datetime: + return typing.cast(datetime.datetime, jsii.get(self, "dateProperty")) + + @date_property.setter + def date_property(self, value: datetime.datetime) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5e62ea2f9629943c1138cad77629f47906644279c178b9436e4303e5a5f74c8a) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "dateProperty", value) + + @builtins.property + @jsii.member(jsii_name="enumProperty") + def enum_property(self) -> "AllTypesEnum": + return typing.cast("AllTypesEnum", jsii.get(self, "enumProperty")) + + @enum_property.setter + def enum_property(self, value: "AllTypesEnum") -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__f0d83d5dde352e12690bd34359b2272194b20ad0d4585d4cd235a62a68413cc7) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "enumProperty", value) + + @builtins.property + @jsii.member(jsii_name="jsonProperty") + def json_property(self) -> typing.Mapping[typing.Any, typing.Any]: + return typing.cast(typing.Mapping[typing.Any, typing.Any], jsii.get(self, "jsonProperty")) + + @json_property.setter + def json_property(self, value: typing.Mapping[typing.Any, typing.Any]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__8cddc5c03b0b87366a7bf274aedf92ced502b23fe811780c7f8c3da532cba3fc) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "jsonProperty", value) + + @builtins.property + @jsii.member(jsii_name="mapProperty") + def map_property( +@@ -266,28 +305,37 @@ + @map_property.setter + def map_property( + self, + value: typing.Mapping[builtins.str, _scope_jsii_calc_lib_c61f082f.Number], + ) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__ce34799b1443789feb28cffe434f5bcbb9cb940065992aa75dbb30eb89cd78e6) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "mapProperty", value) + + @builtins.property + @jsii.member(jsii_name="numberProperty") + def number_property(self) -> jsii.Number: + return typing.cast(jsii.Number, jsii.get(self, "numberProperty")) + + @number_property.setter + def number_property(self, value: jsii.Number) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c8fb4d044e2e7432d7e661aafdb286ebf21dfe5a82b9908dee57945f6892a63e) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "numberProperty", value) + + @builtins.property + @jsii.member(jsii_name="stringProperty") + def string_property(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "stringProperty")) + + @string_property.setter + def string_property(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__4e3dc199e54a9fbd40ceb20cecf887aa2aeca670e9ba223707466d9670eec9b9) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "stringProperty", value) + + @builtins.property + @jsii.member(jsii_name="unionArrayProperty") + def union_array_property( +@@ -298,10 +346,13 @@ + @union_array_property.setter + def union_array_property( + self, + value: typing.List[typing.Union[jsii.Number, _scope_jsii_calc_lib_c61f082f.NumericValue]], + ) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__4a9e87035008a2c1b649b911c8cfc02f2723230d8ced957948b2948c76caf61a) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "unionArrayProperty", value) + + @builtins.property + @jsii.member(jsii_name="unionMapProperty") + def union_map_property( +@@ -312,10 +363,13 @@ + @union_map_property.setter + def union_map_property( + self, + value: typing.Mapping[builtins.str, typing.Union[builtins.str, jsii.Number, _scope_jsii_calc_lib_c61f082f.Number]], + ) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__62ebee42e1871545bc2e82cfb9c7fe43b5a607c8f662caff89dda0f0ed99a3df) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "unionMapProperty", value) + + @builtins.property + @jsii.member(jsii_name="unionProperty") + def union_property( +@@ -326,19 +380,25 @@ + @union_property.setter + def union_property( + self, + value: typing.Union[builtins.str, jsii.Number, _scope_jsii_calc_lib_c61f082f.Number, "Multiply"], + ) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c9be2756a18e8a40eb03cf55231201574f76abf02996a73d0d75fefd1393473d) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "unionProperty", value) + + @builtins.property + @jsii.member(jsii_name="unknownArrayProperty") + def unknown_array_property(self) -> typing.List[typing.Any]: + return typing.cast(typing.List[typing.Any], jsii.get(self, "unknownArrayProperty")) + + @unknown_array_property.setter + def unknown_array_property(self, value: typing.List[typing.Any]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__e49729a44c21aef8c75584ff0991ddba3ee45184cacf816eb1a6a13b99e99ecc) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "unknownArrayProperty", value) + + @builtins.property + @jsii.member(jsii_name="unknownMapProperty") + def unknown_map_property(self) -> typing.Mapping[builtins.str, typing.Any]: +@@ -347,28 +407,37 @@ + @unknown_map_property.setter + def unknown_map_property( + self, + value: typing.Mapping[builtins.str, typing.Any], + ) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__f8de6b30de9bfa884f9de02e2abe57e9394fb7a387b5691f858b7b98817b1db7) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "unknownMapProperty", value) + + @builtins.property + @jsii.member(jsii_name="unknownProperty") + def unknown_property(self) -> typing.Any: + return typing.cast(typing.Any, jsii.get(self, "unknownProperty")) + + @unknown_property.setter + def unknown_property(self, value: typing.Any) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__901c3574a81e006fdf36f73e34f66b34f65ada4bddcb11cd15a51d6e3d9b59e4) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "unknownProperty", value) + + @builtins.property + @jsii.member(jsii_name="optionalEnumValue") + def optional_enum_value(self) -> typing.Optional["StringEnum"]: + return typing.cast(typing.Optional["StringEnum"], jsii.get(self, "optionalEnumValue")) + + @optional_enum_value.setter + def optional_enum_value(self, value: typing.Optional["StringEnum"]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__705bed55c0dbc20a3a1bad9a21931270f0c285e5b3b276e13bca645ffa7ccb0f) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "optionalEnumValue", value) + + + @jsii.enum(jsii_type="jsii-calc.AllTypesEnum") + class AllTypesEnum(enum.Enum): +@@ -388,36 +457,52 @@ + def get_bar(self, _p1: builtins.str, _p2: jsii.Number) -> None: + ''' + :param _p1: - + :param _p2: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__99730dd857f01c8e93755d3e4f1e04f44efd2e63487e37db32f0fae8d36c618e) ++ check_type(argname="argument _p1", value=_p1, expected_type=type_hints["_p1"]) ++ check_type(argname="argument _p2", value=_p2, expected_type=type_hints["_p2"]) + return typing.cast(None, jsii.invoke(self, "getBar", [_p1, _p2])) + + @jsii.member(jsii_name="getFoo") + def get_foo(self, with_param: builtins.str) -> builtins.str: + '''getXxx() is not allowed (see negatives), but getXxx(a, ...) is okay. + + :param with_param: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__7f25304a2274ca1691dbe05a223f32126250948b15187c5095780e5c9af08c2a) ++ check_type(argname="argument with_param", value=with_param, expected_type=type_hints["with_param"]) + return typing.cast(builtins.str, jsii.invoke(self, "getFoo", [with_param])) + + @jsii.member(jsii_name="setBar") + def set_bar(self, _x: builtins.str, _y: jsii.Number, _z: builtins.bool) -> None: + ''' + :param _x: - + :param _y: - + :param _z: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__12f6979e6d88948e4aebfe8c25ed814c21d19b4b549d6bc2db4620794e706238) ++ check_type(argname="argument _x", value=_x, expected_type=type_hints["_x"]) ++ check_type(argname="argument _y", value=_y, expected_type=type_hints["_y"]) ++ check_type(argname="argument _z", value=_z, expected_type=type_hints["_z"]) + return typing.cast(None, jsii.invoke(self, "setBar", [_x, _y, _z])) + + @jsii.member(jsii_name="setFoo") + def set_foo(self, _x: builtins.str, _y: jsii.Number) -> None: + '''setFoo(x) is not allowed (see negatives), but setXxx(a, b, ...) is okay. + + :param _x: - + :param _y: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__ca978ab380897c8607252c370202d45bc72e8b5cdc52549bb53b870299333d52) ++ check_type(argname="argument _x", value=_x, expected_type=type_hints["_x"]) ++ check_type(argname="argument _y", value=_y, expected_type=type_hints["_y"]) + return typing.cast(None, jsii.invoke(self, "setFoo", [_x, _y])) + + + class AmbiguousParameters( + metaclass=jsii.JSIIMeta, +@@ -433,10 +518,13 @@ + ''' + :param scope_: - + :param scope: + :param props: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__35fb7428c2ad70583f7b280c07cec184905b51e8e896efe6cc88eaf83a6f65c3) ++ check_type(argname="argument scope_", value=scope_, expected_type=type_hints["scope_"]) + props_ = StructParameterType(scope=scope, props=props) + + jsii.create(self.__class__, self, [scope_, props_]) + + @builtins.property +@@ -468,10 +556,16 @@ + :param obj: the receiver object. + :param prop_a: the first property to read. + :param prop_b: the second property to read. + :param result_prop: the property to write into. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__2e74ece926d1cff82c3a42c02b35b0b5b4427369dfc17caf49b658e36503a986) ++ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) ++ check_type(argname="argument prop_a", value=prop_a, expected_type=type_hints["prop_a"]) ++ check_type(argname="argument prop_b", value=prop_b, expected_type=type_hints["prop_b"]) ++ check_type(argname="argument result_prop", value=result_prop, expected_type=type_hints["result_prop"]) + return typing.cast(None, jsii.sinvoke(cls, "mutateProperties", [obj, prop_a, prop_b, result_prop])) + + + class AsyncVirtualMethods( + metaclass=jsii.JSIIMeta, +@@ -506,10 +600,13 @@ + @jsii.member(jsii_name="overrideMe") + def override_me(self, mult: jsii.Number) -> jsii.Number: + ''' + :param mult: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__49537950cbbeb6e2c62cb1b8a079cc9bb5cc6d06d95cf2229128539d2be886a3) ++ check_type(argname="argument mult", value=mult, expected_type=type_hints["mult"]) + return typing.cast(jsii.Number, jsii.ainvoke(self, "overrideMe", [mult])) + + @jsii.member(jsii_name="overrideMeToo") + def override_me_too(self) -> jsii.Number: + return typing.cast(jsii.Number, jsii.ainvoke(self, "overrideMeToo", [])) +@@ -570,10 +667,14 @@ + '''Creates a BinaryOperation. + + :param lhs: Left-hand side operand. + :param rhs: Right-hand side operand. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__408890be1949f7684db536e79081b85d00d72250ca9eb19c74db6ad226564784) ++ check_type(argname="argument lhs", value=lhs, expected_type=type_hints["lhs"]) ++ check_type(argname="argument rhs", value=rhs, expected_type=type_hints["rhs"]) + jsii.create(self.__class__, self, [lhs, rhs]) + + @jsii.member(jsii_name="hello") + def hello(self) -> builtins.str: + '''Say hello!''' +@@ -634,10 +735,13 @@ + + :param value: the value that should be returned. + + :return: \`\`value\`\` + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__67894f861ef38d2769b440d2fe71f549cb9e333247b385c5d6ae862b2eb04fc5) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + return typing.cast(typing.Any, jsii.invoke(self, "giveItBack", [value])) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class + typing.cast(typing.Any, BurriedAnonymousObject).__jsii_proxy_class__ = lambda : _BurriedAnonymousObjectProxy + +@@ -687,18 +791,24 @@ + def add(self, value: jsii.Number) -> None: + '''Adds a number to the current value. + + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__106b87a3d0b194bda7cee057654f752c82d9a92a3775bcc3b2dc5cf7814ba84d) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + return typing.cast(None, jsii.invoke(self, "add", [value])) + + @jsii.member(jsii_name="mul") + def mul(self, value: jsii.Number) -> None: + '''Multiplies the current value by a number. + + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__b0e9a9c8546dd024e1568b2e6d11bd847e53548d624f33afffdffacc77fe01ef) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + return typing.cast(None, jsii.invoke(self, "mul", [value])) + + @jsii.member(jsii_name="neg") + def neg(self) -> None: + '''Negates the current value.''' +@@ -708,10 +818,13 @@ + def pow(self, value: jsii.Number) -> None: + '''Raises the current value by a power. + + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c62707f1a80d6bc26c0b74205f8892c1777e6ed97359263df05628018d8ef6fc) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + return typing.cast(None, jsii.invoke(self, "pow", [value])) + + @jsii.member(jsii_name="readUnionValue") + def read_union_value(self) -> jsii.Number: + '''Returns teh value of the union property (if defined).''' +@@ -743,20 +856,26 @@ + '''The current value.''' + return typing.cast(_scope_jsii_calc_lib_c61f082f.NumericValue, jsii.get(self, "curr")) + + @curr.setter + def curr(self, value: _scope_jsii_calc_lib_c61f082f.NumericValue) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c74abb191c66f86aed2c139ec3e50b0442b6d3bdcd41beb06db17c9b3c5d93d0) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "curr", value) + + @builtins.property + @jsii.member(jsii_name="maxValue") + def max_value(self) -> typing.Optional[jsii.Number]: + '''The maximum value allows in this calculator.''' + return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "maxValue")) + + @max_value.setter + def max_value(self, value: typing.Optional[jsii.Number]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__1af5d9bb897bd9bfc2029e92d33fc306fc090e2d0a9bc0bd70fb01762e798fe6) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "maxValue", value) + + @builtins.property + @jsii.member(jsii_name="unionProperty") + def union_property( +@@ -768,10 +887,13 @@ + @union_property.setter + def union_property( + self, + value: typing.Optional[typing.Union["Add", "Multiply", "Power"]], + ) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__349b2a1dce95cb7ff4c5a7772d81772697767c5f4e7e5fd709847ff5e526c3c1) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "unionProperty", value) + + + @jsii.data_type( + jsii_type="jsii-calc.CalculatorProps", +@@ -788,10 +910,14 @@ + '''Properties for Calculator. + + :param initial_value: The initial value of the calculator. NOTE: Any number works here, it's fine. Default: 0 + :param maximum_value: The maximum value the calculator can store. Default: none + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__21033948ed66f89716ed818c4cf9e5a38a9252e042231e1e8e1672356d403bef) ++ check_type(argname="argument initial_value", value=initial_value, expected_type=type_hints["initial_value"]) ++ check_type(argname="argument maximum_value", value=maximum_value, expected_type=type_hints["maximum_value"]) + self._values: typing.Dict[builtins.str, typing.Any] = {} + if initial_value is not None: + self._values["initial_value"] = initial_value + if maximum_value is not None: + self._values["maximum_value"] = maximum_value +@@ -837,10 +963,13 @@ + union_property: typing.Sequence[typing.Mapping[builtins.str, typing.Union[typing.Union["StructA", typing.Dict[builtins.str, typing.Any]], typing.Union["StructB", typing.Dict[builtins.str, typing.Any]]]]], + ) -> None: + ''' + :param union_property: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__9e749834c2e46eee6370de7b60daabbff6e5c16febe9775b98a2b961b0d4e335) ++ check_type(argname="argument union_property", value=union_property, expected_type=type_hints["union_property"]) + jsii.create(self.__class__, self, [union_property]) + + @builtins.property + @jsii.member(jsii_name="unionProperty") + def union_property( +@@ -851,10 +980,13 @@ + @union_property.setter + def union_property( + self, + value: typing.List[typing.Mapping[builtins.str, typing.Union["StructA", "StructB"]]], + ) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__80b80f78c4ac7fda46ac2aec7ab826a87bef3eaaba64661c90f346972800baf5) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "unionProperty", value) + + + class ClassWithCollections( + metaclass=jsii.JSIIMeta, +@@ -867,10 +999,14 @@ + ) -> None: + ''' + :param map: - + :param array: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__7eb49cfb1282d7f1bd28096ff0407c0806693194f02f5c053936f99756a2a8fd) ++ check_type(argname="argument map", value=map, expected_type=type_hints["map"]) ++ check_type(argname="argument array", value=array, expected_type=type_hints["array"]) + jsii.create(self.__class__, self, [map, array]) + + @jsii.member(jsii_name="createAList") + @builtins.classmethod + def create_a_list(cls) -> typing.List[builtins.str]: +@@ -886,37 +1022,49 @@ + def static_array(cls) -> typing.List[builtins.str]: # pyright: ignore [reportGeneralTypeIssues] + return typing.cast(typing.List[builtins.str], jsii.sget(cls, "staticArray")) + + @static_array.setter # type: ignore[no-redef] + def static_array(cls, value: typing.List[builtins.str]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__964903eb68623806c91fc9026cacfdc726cfbb287698530724c5a9938a7bb2ca) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.sset(cls, "staticArray", value) + + @jsii.python.classproperty + @jsii.member(jsii_name="staticMap") + def static_map(cls) -> typing.Mapping[builtins.str, builtins.str]: # pyright: ignore [reportGeneralTypeIssues] + return typing.cast(typing.Mapping[builtins.str, builtins.str], jsii.sget(cls, "staticMap")) + + @static_map.setter # type: ignore[no-redef] + def static_map(cls, value: typing.Mapping[builtins.str, builtins.str]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__8dd7203701e4915203e4778820ee40fe6bdd6f0bb2855c200f375606277e06c8) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.sset(cls, "staticMap", value) + + @builtins.property + @jsii.member(jsii_name="array") + def array(self) -> typing.List[builtins.str]: + return typing.cast(typing.List[builtins.str], jsii.get(self, "array")) + + @array.setter + def array(self, value: typing.List[builtins.str]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c0c76fec28076841e36c26581c26385de1e984d96e91ea434a61c4bf36c9b4d9) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "array", value) + + @builtins.property + @jsii.member(jsii_name="map") + def map(self) -> typing.Mapping[builtins.str, builtins.str]: + return typing.cast(typing.Mapping[builtins.str, builtins.str], jsii.get(self, "map")) + + @map.setter + def map(self, value: typing.Mapping[builtins.str, builtins.str]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5461a3c7bb81040765e4ca2e9effb12cc7f5fb018e5e1b8b21501a3f9cd6a8b3) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "map", value) + + + class ClassWithContainerTypes( + metaclass=jsii.JSIIMeta, +@@ -938,10 +1086,15 @@ + :param obj: - + :param array_prop: + :param obj_prop: + :param record_prop: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__11d94174b1d488125abef65967a384ceb599f4948eca6cb9be3d55e1979fb64f) ++ check_type(argname="argument array", value=array, expected_type=type_hints["array"]) ++ check_type(argname="argument record", value=record, expected_type=type_hints["record"]) ++ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) + props = ContainerProps( + array_prop=array_prop, obj_prop=obj_prop, record_prop=record_prop + ) + + jsii.create(self.__class__, self, [array, record, obj, props]) +@@ -991,17 +1144,23 @@ + ): + def __init__(self, int: builtins.str) -> None: + ''' + :param int: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c017a39e0da5d21f3a9acbfd00f6a5c84eb4cad306148504e7c835359d35537e) ++ check_type(argname="argument int", value=int, expected_type=type_hints["int"]) + jsii.create(self.__class__, self, [int]) + + @jsii.member(jsii_name="import") + def import_(self, assert_: builtins.str) -> builtins.str: + ''' + :param assert_: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__7a756cab89b47a2ae4c08f36162482b60fdf963b8ba638917a63c5e110b4d33e) ++ check_type(argname="argument assert_", value=assert_, expected_type=type_hints["assert_"]) + return typing.cast(builtins.str, jsii.invoke(self, "import", [assert_])) + + @builtins.property + @jsii.member(jsii_name="int") + def int(self) -> builtins.str: +@@ -1020,10 +1179,13 @@ + def mutable_object(self) -> "IMutableObjectLiteral": + return typing.cast("IMutableObjectLiteral", jsii.get(self, "mutableObject")) + + @mutable_object.setter + def mutable_object(self, value: "IMutableObjectLiteral") -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__3afbef7e05ef43a18b9260b86660c09b15be66fabeae128c9a9f99b729da7143) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "mutableObject", value) + + + class ClassWithNestedUnion( + metaclass=jsii.JSIIMeta, +@@ -1034,10 +1196,13 @@ + union_property: typing.Sequence[typing.Union[typing.Mapping[builtins.str, typing.Union[typing.Union["StructA", typing.Dict[builtins.str, typing.Any]], typing.Union["StructB", typing.Dict[builtins.str, typing.Any]]]], typing.Sequence[typing.Union[typing.Union["StructA", typing.Dict[builtins.str, typing.Any]], typing.Union["StructB", typing.Dict[builtins.str, typing.Any]]]]]], + ) -> None: + ''' + :param union_property: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__0b8f0f729686dad01c8555a3b1bc47509e495bd18f1560ef045b558884b2a1fb) ++ check_type(argname="argument union_property", value=union_property, expected_type=type_hints["union_property"]) + jsii.create(self.__class__, self, [union_property]) + + @builtins.property + @jsii.member(jsii_name="unionProperty") + def union_property( +@@ -1048,10 +1213,13 @@ + @union_property.setter + def union_property( + self, + value: typing.List[typing.Union[typing.Mapping[builtins.str, typing.Union["StructA", "StructB"]], typing.List[typing.Union["StructA", "StructB"]]]], + ) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__a8a15eb37393d5188c71779e29278367f7b3600c6dd48bdbcd502cdf510c3c15) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "unionProperty", value) + + + class ConfusingToJackson( + metaclass=jsii.JSIIMeta, +@@ -1082,10 +1250,13 @@ + @union_property.setter + def union_property( + self, + value: typing.Optional[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, typing.List[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, "AbstractClass"]]]], + ) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__ec229cc92e04670f4dca9546759b3b39ee813eb1aa18057135bb155d08971e6a) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "unionProperty", value) + + + @jsii.data_type( + jsii_type="jsii-calc.ConfusingToJacksonStruct", +@@ -1099,10 +1270,13 @@ + union_property: typing.Optional[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, typing.Sequence[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, "AbstractClass"]]]] = None, + ) -> None: + ''' + :param union_property: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__481b1113b85e6dc9d7ba31c3ef5654e3550abac1edef9204348ab0f9554f61c1) ++ check_type(argname="argument union_property", value=union_property, expected_type=type_hints["union_property"]) + self._values: typing.Dict[builtins.str, typing.Any] = {} + if union_property is not None: + self._values["union_property"] = union_property + + @builtins.property +@@ -1130,10 +1304,13 @@ + ): + def __init__(self, consumer: "PartiallyInitializedThisConsumer") -> None: + ''' + :param consumer: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5676fcb3395f1db1a013537fa52220553e5e418c2a9d97aa2f9541c00ffe259e) ++ check_type(argname="argument consumer", value=consumer, expected_type=type_hints["consumer"]) + jsii.create(self.__class__, self, [consumer]) + + + class Constructors(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Constructors"): + def __init__(self) -> None: +@@ -1181,10 +1358,13 @@ + ): + def __init__(self, delegate: "IStructReturningDelegate") -> None: + ''' + :param delegate: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5c5defc6d683ee91707f8b7770d8d2fb11d381b9c928d7e5d6e2c5c495395f38) ++ check_type(argname="argument delegate", value=delegate, expected_type=type_hints["delegate"]) + jsii.create(self.__class__, self, [delegate]) + + @jsii.member(jsii_name="workItBaby") + def work_it_baby(self) -> "StructB": + return typing.cast("StructB", jsii.invoke(self, "workItBaby", [])) +@@ -1213,10 +1393,13 @@ + + Returns whether the bell was rung. + + :param ringer: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__1df814299f3f9720be108d84bdfd61bc591699a79a3c8ac6d450bfb0a9610278) ++ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) + return typing.cast(builtins.bool, jsii.sinvoke(cls, "staticImplementedByObjectLiteral", [ringer])) + + @jsii.member(jsii_name="staticImplementedByPrivateClass") + @builtins.classmethod + def static_implemented_by_private_class( +@@ -1227,10 +1410,13 @@ + + Return whether the bell was rung. + + :param ringer: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__2f08bd2d56e856071db5f777b63fe2577f9e96dbfcd91e4044d0eda2d26f9017) ++ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) + return typing.cast(builtins.bool, jsii.sinvoke(cls, "staticImplementedByPrivateClass", [ringer])) + + @jsii.member(jsii_name="staticImplementedByPublicClass") + @builtins.classmethod + def static_implemented_by_public_class(cls, ringer: "IBellRinger") -> builtins.bool: +@@ -1238,10 +1424,13 @@ + + Return whether the bell was rung. + + :param ringer: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__4a2b7f0a05298ddaec112cb088cc71cfa2856aaa1d8414a5157d581b6d5a7293) ++ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) + return typing.cast(builtins.bool, jsii.sinvoke(cls, "staticImplementedByPublicClass", [ringer])) + + @jsii.member(jsii_name="staticWhenTypedAsClass") + @builtins.classmethod + def static_when_typed_as_class(cls, ringer: "IConcreteBellRinger") -> builtins.bool: +@@ -1249,50 +1438,65 @@ + + Return whether the bell was rung. + + :param ringer: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__f751da3f5766ea4973eb2d89086565259f0a3cd626425a7eec723afd7b64f392) ++ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) + return typing.cast(builtins.bool, jsii.sinvoke(cls, "staticWhenTypedAsClass", [ringer])) + + @jsii.member(jsii_name="implementedByObjectLiteral") + def implemented_by_object_literal(self, ringer: "IBellRinger") -> builtins.bool: + '''...if the interface is implemented using an object literal. + + Returns whether the bell was rung. + + :param ringer: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__cca04fe4a4c41a0034087ab0c574d1d2f1d0427d87a806fc660446b6a7e5290a) ++ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) + return typing.cast(builtins.bool, jsii.invoke(self, "implementedByObjectLiteral", [ringer])) + + @jsii.member(jsii_name="implementedByPrivateClass") + def implemented_by_private_class(self, ringer: "IBellRinger") -> builtins.bool: + '''...if the interface is implemented using a private class. + + Return whether the bell was rung. + + :param ringer: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__7bde53b867de290d21a419baa46b8e833a0d394835a1ce2be3b429179b2ddce5) ++ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) + return typing.cast(builtins.bool, jsii.invoke(self, "implementedByPrivateClass", [ringer])) + + @jsii.member(jsii_name="implementedByPublicClass") + def implemented_by_public_class(self, ringer: "IBellRinger") -> builtins.bool: + '''...if the interface is implemented using a public class. + + Return whether the bell was rung. + + :param ringer: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__988e53d92b16fb4b7224c654f985a074cbfa7dd5f567df005b41522641ad92ac) ++ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) + return typing.cast(builtins.bool, jsii.invoke(self, "implementedByPublicClass", [ringer])) + + @jsii.member(jsii_name="whenTypedAsClass") + def when_typed_as_class(self, ringer: "IConcreteBellRinger") -> builtins.bool: + '''If the parameter is a concrete class instead of an interface. + + Return whether the bell was rung. + + :param ringer: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__1d786308546ae61deacb465c6f501fe7e0be028973494548b57e0480759ed460) ++ check_type(argname="argument ringer", value=ringer, expected_type=type_hints["ringer"]) + return typing.cast(builtins.bool, jsii.invoke(self, "whenTypedAsClass", [ringer])) + + + class ConsumersOfThisCrazyTypeSystem( + metaclass=jsii.JSIIMeta, +@@ -1307,20 +1511,26 @@ + obj: "IAnotherPublicInterface", + ) -> builtins.str: + ''' + :param obj: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__83037a3f429b90a38d2d9532a347144030578d83f68817b1a5677ebcd1b38e12) ++ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) + return typing.cast(builtins.str, jsii.invoke(self, "consumeAnotherPublicInterface", [obj])) + + @jsii.member(jsii_name="consumeNonInternalInterface") + def consume_non_internal_interface( + self, + obj: "INonInternalInterface", + ) -> typing.Any: + ''' + :param obj: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__139bf4e63e56bef32e364c5972e055de5cba153d49cc821740fba1d51f73ef70) ++ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) + return typing.cast(typing.Any, jsii.invoke(self, "consumeNonInternalInterface", [obj])) + + + @jsii.data_type( + jsii_type="jsii-calc.ContainerProps", +@@ -1342,10 +1552,15 @@ + ''' + :param array_prop: + :param obj_prop: + :param record_prop: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__2be181b08e5a2c0e1e3f3a84732a423af31039117701d35431ee251d343ca9d5) ++ check_type(argname="argument array_prop", value=array_prop, expected_type=type_hints["array_prop"]) ++ check_type(argname="argument obj_prop", value=obj_prop, expected_type=type_hints["obj_prop"]) ++ check_type(argname="argument record_prop", value=record_prop, expected_type=type_hints["record_prop"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "array_prop": array_prop, + "obj_prop": obj_prop, + "record_prop": record_prop, + } +@@ -1411,17 +1626,23 @@ + data: typing.Mapping[builtins.str, typing.Any], + ) -> builtins.str: + ''' + :param data: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__dd941dcba8415b4b4dbb95bc3f55ac3404bdaf303822dfc7093fb615dc66b2cf) ++ check_type(argname="argument data", value=data, expected_type=type_hints["data"]) + return typing.cast(builtins.str, jsii.invoke(self, "renderArbitrary", [data])) + + @jsii.member(jsii_name="renderMap") + def render_map(self, map: typing.Mapping[builtins.str, typing.Any]) -> builtins.str: + ''' + :param map: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__9008dfc97234c0f2895caaa88d20a94de081c3cd97c38f9a012f13cdae75fbd6) ++ check_type(argname="argument map", value=map, expected_type=type_hints["map"]) + return typing.cast(builtins.str, jsii.invoke(self, "renderMap", [map])) + + + class Default(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Default"): + '''A class named "Default". +@@ -1450,10 +1671,15 @@ + ''' + :param arg1: - + :param arg2: - + :param arg3: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__019e6ec86ae7ee325dc404a7025eaf0edcb164e166535a831bccf6658adfbb10) ++ check_type(argname="argument arg1", value=arg1, expected_type=type_hints["arg1"]) ++ check_type(argname="argument arg2", value=arg2, expected_type=type_hints["arg2"]) ++ check_type(argname="argument arg3", value=arg3, expected_type=type_hints["arg3"]) + jsii.create(self.__class__, self, [arg1, arg2, arg3]) + + @builtins.property + @jsii.member(jsii_name="arg1") + def arg1(self) -> jsii.Number: +@@ -1511,10 +1737,14 @@ + + :deprecated: this constructor is "just" okay + + :stability: deprecated + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__f64945b01dd806fcd872f369983e1fa6b3db8811cb0682ac6adf88aebb0aabda) ++ check_type(argname="argument readonly_string", value=readonly_string, expected_type=type_hints["readonly_string"]) ++ check_type(argname="argument mutable_number", value=mutable_number, expected_type=type_hints["mutable_number"]) + jsii.create(self.__class__, self, [readonly_string, mutable_number]) + + @jsii.member(jsii_name="method") + def method(self) -> None: + ''' +@@ -1544,10 +1774,13 @@ + ''' + return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__3aef3220b38be7daf4208453b1766d9eafb6a74bd51dfb351d21235a205afa34) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "mutableProperty", value) + + + @jsii.enum(jsii_type="jsii-calc.DeprecatedEnum") + class DeprecatedEnum(enum.Enum): +@@ -1583,10 +1816,13 @@ + + :deprecated: it just wraps a string + + :stability: deprecated + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__cdee1d6893b4921a8d7cf0a9c957a543b69f7a98eb3cedd7ece84871fc81c767) ++ check_type(argname="argument readonly_property", value=readonly_property, expected_type=type_hints["readonly_property"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "readonly_property": readonly_property, + } + + @builtins.property +@@ -1651,10 +1887,21 @@ + :param non_primitive: An example of a non primitive property. + :param another_optional: This is optional. + :param optional_any: + :param optional_array: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c544311353634d5a2f08144f0c184afbcb700d8304b9f49deae99f19e1e7b0af) ++ check_type(argname="argument anumber", value=anumber, expected_type=type_hints["anumber"]) ++ check_type(argname="argument astring", value=astring, expected_type=type_hints["astring"]) ++ check_type(argname="argument first_optional", value=first_optional, expected_type=type_hints["first_optional"]) ++ check_type(argname="argument another_required", value=another_required, expected_type=type_hints["another_required"]) ++ check_type(argname="argument bool", value=bool, expected_type=type_hints["bool"]) ++ check_type(argname="argument non_primitive", value=non_primitive, expected_type=type_hints["non_primitive"]) ++ check_type(argname="argument another_optional", value=another_optional, expected_type=type_hints["another_optional"]) ++ check_type(argname="argument optional_any", value=optional_any, expected_type=type_hints["optional_any"]) ++ check_type(argname="argument optional_array", value=optional_array, expected_type=type_hints["optional_array"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "anumber": anumber, + "astring": astring, + "another_required": another_required, + "bool": bool, +@@ -1775,10 +2022,16 @@ + :param hoisted_top: + :param left: + :param right: + :param bottom: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__865cdfdd094ca753189170221ee7d6a0e59c2c0bcfdeff3dc37bb87dd39515ca) ++ check_type(argname="argument hoisted_top", value=hoisted_top, expected_type=type_hints["hoisted_top"]) ++ check_type(argname="argument left", value=left, expected_type=type_hints["left"]) ++ check_type(argname="argument right", value=right, expected_type=type_hints["right"]) ++ check_type(argname="argument bottom", value=bottom, expected_type=type_hints["bottom"]) + self._values: typing.Dict[builtins.str, typing.Any] = {} + if hoisted_top is not None: + self._values["hoisted_top"] = hoisted_top + if left is not None: + self._values["left"] = left +@@ -1836,10 +2089,13 @@ + class DiamondInheritanceBaseLevelStruct: + def __init__(self, *, base_level_property: builtins.str) -> None: + ''' + :param base_level_property: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__cfa52ba952c3d4a7e6df7fba3f619bf3ac14c52e829cce862a5fa495e45d0e70) ++ check_type(argname="argument base_level_property", value=base_level_property, expected_type=type_hints["base_level_property"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "base_level_property": base_level_property, + } + + @builtins.property +@@ -1877,10 +2133,14 @@ + ) -> None: + ''' + :param base_level_property: + :param first_mid_level_property: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__354311bd3d60d2b3b4ea927d6a96bdf66aa6d1109c29bfcd96266051c7c30a5e) ++ check_type(argname="argument base_level_property", value=base_level_property, expected_type=type_hints["base_level_property"]) ++ check_type(argname="argument first_mid_level_property", value=first_mid_level_property, expected_type=type_hints["first_mid_level_property"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "base_level_property": base_level_property, + "first_mid_level_property": first_mid_level_property, + } + +@@ -1925,10 +2185,14 @@ + ) -> None: + ''' + :param base_level_property: + :param second_mid_level_property: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__8074c5f38699399b9e6f8708c125bef5d7c89118c36ffcce8582d66cac2197da) ++ check_type(argname="argument base_level_property", value=base_level_property, expected_type=type_hints["base_level_property"]) ++ check_type(argname="argument second_mid_level_property", value=second_mid_level_property, expected_type=type_hints["second_mid_level_property"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "base_level_property": base_level_property, + "second_mid_level_property": second_mid_level_property, + } + +@@ -1984,10 +2248,16 @@ + :param base_level_property: + :param first_mid_level_property: + :param second_mid_level_property: + :param top_level_property: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__9384691e88dd3ab7e55516762b2076445d94bd6d9348db1b93f79de9f4ae0ea1) ++ check_type(argname="argument base_level_property", value=base_level_property, expected_type=type_hints["base_level_property"]) ++ check_type(argname="argument first_mid_level_property", value=first_mid_level_property, expected_type=type_hints["first_mid_level_property"]) ++ check_type(argname="argument second_mid_level_property", value=second_mid_level_property, expected_type=type_hints["second_mid_level_property"]) ++ check_type(argname="argument top_level_property", value=top_level_property, expected_type=type_hints["top_level_property"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "base_level_property": base_level_property, + "first_mid_level_property": first_mid_level_property, + "second_mid_level_property": second_mid_level_property, + "top_level_property": top_level_property, +@@ -2067,10 +2337,13 @@ + @jsii.member(jsii_name="changePrivatePropertyValue") + def change_private_property_value(self, new_value: builtins.str) -> None: + ''' + :param new_value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5ae2124576c295a0c88fc75be0e57258f0f72e63c733e7493367b8558266510e) ++ check_type(argname="argument new_value", value=new_value, expected_type=type_hints["new_value"]) + return typing.cast(None, jsii.invoke(self, "changePrivatePropertyValue", [new_value])) + + @jsii.member(jsii_name="privateMethodValue") + def private_method_value(self) -> builtins.str: + return typing.cast(builtins.str, jsii.invoke(self, "privateMethodValue", [])) +@@ -2099,10 +2372,15 @@ + ''' + :param _required_any: - + :param _optional_any: - + :param _optional_string: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__8ffaadb351f5c2c48a7368068d5c88e0c7836deefe0e13aa9fe53ac104052fd5) ++ check_type(argname="argument _required_any", value=_required_any, expected_type=type_hints["_required_any"]) ++ check_type(argname="argument _optional_any", value=_optional_any, expected_type=type_hints["_optional_any"]) ++ check_type(argname="argument _optional_string", value=_optional_string, expected_type=type_hints["_optional_string"]) + return typing.cast(None, jsii.invoke(self, "method", [_required_any, _optional_any, _optional_string])) + + + class DocumentedClass(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.DocumentedClass"): + '''Here's the first line of the TSDoc comment. +@@ -2174,10 +2452,14 @@ + ) -> builtins.str: + ''' + :param optional: - + :param things: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5af7b38b9b5c170ebd3e05c215e05f10e6843b03868850dad87a5a149b90e790) ++ check_type(argname="argument optional", value=optional, expected_type=type_hints["optional"]) ++ check_type(argname="argument things", value=things, expected_type=typing.Tuple[type_hints["things"], ...]) # pyright: ignore [reportGeneralTypeIssues] + return typing.cast(builtins.str, jsii.invoke(self, "optionalAndVariadic", [optional, *things])) + + + @jsii.data_type( + jsii_type="jsii-calc.DontUseMe", +@@ -2190,10 +2472,13 @@ + + Don't use this interface An interface that shouldn't be used, with the annotation in a weird place. + + :param dont_set_me: .. epigraph:: Don't set this parameter. A parameter that shouldn't be set, with the annotation in a weird place. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__feb33b34fd05e771c7e47c132104c701042acfdf4eb6753873c4463e01f3cd9c) ++ check_type(argname="argument dont_set_me", value=dont_set_me, expected_type=type_hints["dont_set_me"]) + self._values: typing.Dict[builtins.str, typing.Any] = {} + if dont_set_me is not None: + self._values["dont_set_me"] = dont_set_me + + @builtins.property +@@ -2227,10 +2512,13 @@ + class DummyObj: + def __init__(self, *, example: builtins.str) -> None: + ''' + :param example: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__ae5d543014149876cec8b005abbb94c112981cccaf318870c7fe4e8353c2c675) ++ check_type(argname="argument example", value=example, expected_type=type_hints["example"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "example": example, + } + + @builtins.property +@@ -2259,28 +2547,37 @@ + + def __init__(self, value_store: builtins.str) -> None: + ''' + :param value_store: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c0d457497f870b36d210f01af9890c6624684d1e53da833858e801c18baf9fbb) ++ check_type(argname="argument value_store", value=value_store, expected_type=type_hints["value_store"]) + jsii.create(self.__class__, self, [value_store]) + + @builtins.property + @jsii.member(jsii_name="dynamicProperty") + def dynamic_property(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "dynamicProperty")) + + @dynamic_property.setter + def dynamic_property(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__4f40c12fae2ef2673f3f324c0c452f65c187c1b3e6552b86768465a2d20de051) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "dynamicProperty", value) + + @builtins.property + @jsii.member(jsii_name="valueStore") + def value_store(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "valueStore")) + + @value_store.setter + def value_store(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__9106fb2a86e944ce0c61537852ab2d310a8a53448c6946af051de0325a67fa1a) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "valueStore", value) + + + class DynamicPropertyBearerChild( + DynamicPropertyBearer, +@@ -2289,20 +2586,26 @@ + ): + def __init__(self, original_value: builtins.str) -> None: + ''' + :param original_value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__ad557fbd0532aa4220227645f5aae3e73ebae6b529cfe074430abf30d18cd5e9) ++ check_type(argname="argument original_value", value=original_value, expected_type=type_hints["original_value"]) + jsii.create(self.__class__, self, [original_value]) + + @jsii.member(jsii_name="overrideValue") + def override_value(self, new_value: builtins.str) -> builtins.str: + '''Sets \`\`this.dynamicProperty\`\` to the new value, and returns the old value. + + :param new_value: the new value to be set. + + :return: the old value that was set. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__a4026611d197b83d9a37b973ba97c69254e674921a7d89d0eb57ac41a19b636e) ++ check_type(argname="argument new_value", value=new_value, expected_type=type_hints["new_value"]) + return typing.cast(builtins.str, jsii.invoke(self, "overrideValue", [new_value])) + + @builtins.property + @jsii.member(jsii_name="originalValue") + def original_value(self) -> builtins.str: +@@ -2315,10 +2618,13 @@ + def __init__(self, clock: "IWallClock") -> None: + '''Creates a new instance of Entropy. + + :param clock: your implementation of \`\`WallClock\`\`. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__2a7f203302b2610301f1b36f34453db0f5572f2e02b0bc4c9933fd670e594222) ++ check_type(argname="argument clock", value=clock, expected_type=type_hints["clock"]) + jsii.create(self.__class__, self, [clock]) + + @jsii.member(jsii_name="increase") + def increase(self) -> builtins.str: + '''Increases entropy by consuming time from the clock (yes, this is a long shot, please don't judge). +@@ -2346,10 +2652,13 @@ + + :param word: the value to return. + + :return: \`\`word\`\`. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__a90d161fb7d47a195a192cf987ac6968fc2c6fbe27005bdd7684478a3d956e66) ++ check_type(argname="argument word", value=word, expected_type=type_hints["word"]) + return typing.cast(builtins.str, jsii.invoke(self, "repeat", [word])) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class + typing.cast(typing.Any, Entropy).__jsii_proxy_class__ = lambda : _EntropyProxy + +@@ -2386,10 +2695,14 @@ + are being erased when sending values from native code to JS. + + :param opts: - + :param key: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__b87cc89f87e9b1c180227625f3aba9395da5a8b258a88e605d466edb9004d709) ++ check_type(argname="argument opts", value=opts, expected_type=type_hints["opts"]) ++ check_type(argname="argument key", value=key, expected_type=type_hints["key"]) + return typing.cast(builtins.bool, jsii.sinvoke(cls, "doesKeyExist", [opts, key])) + + @jsii.member(jsii_name="prop1IsNull") + @builtins.classmethod + def prop1_is_null(cls) -> typing.Mapping[builtins.str, typing.Any]: +@@ -2417,10 +2730,14 @@ + ) -> None: + ''' + :param option1: + :param option2: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__d34e4f5dab670ec3ea298ec2cda50be32700f7f52dcef6a618ca9cb3706062ee) ++ check_type(argname="argument option1", value=option1, expected_type=type_hints["option1"]) ++ check_type(argname="argument option2", value=option2, expected_type=type_hints["option2"]) + self._values: typing.Dict[builtins.str, typing.Any] = {} + if option1 is not None: + self._values["option1"] = option1 + if option2 is not None: + self._values["option2"] = option2 +@@ -2464,10 +2781,14 @@ + :param readonly_string: - + :param mutable_number: - + + :stability: experimental + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__6a92c7223d00e7a0a2f0611cbb689671885b835bb26eedc8eb4a4d12e4ed5021) ++ check_type(argname="argument readonly_string", value=readonly_string, expected_type=type_hints["readonly_string"]) ++ check_type(argname="argument mutable_number", value=mutable_number, expected_type=type_hints["mutable_number"]) + jsii.create(self.__class__, self, [readonly_string, mutable_number]) + + @jsii.member(jsii_name="method") + def method(self) -> None: + ''' +@@ -2491,10 +2812,13 @@ + ''' + return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__52559292c6e04ad49e53e443b1a4c56149833b8f12876d779bb8860fcb231b41) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "mutableProperty", value) + + + @jsii.enum(jsii_type="jsii-calc.ExperimentalEnum") + class ExperimentalEnum(enum.Enum): +@@ -2522,10 +2846,13 @@ + ''' + :param readonly_property: + + :stability: experimental + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__b0c8f4c6eca5af7072a4a7c737950b39e75c61a56c505deb94edc5cd0995ed7d) ++ check_type(argname="argument readonly_property", value=readonly_property, expected_type=type_hints["readonly_property"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "readonly_property": readonly_property, + } + + @builtins.property +@@ -2555,10 +2882,13 @@ + ): + def __init__(self, success: builtins.bool) -> None: + ''' + :param success: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__dad018fa707514e8023df185b5e6e0a4b611bec563fe57abd9b81939b8833ebb) ++ check_type(argname="argument success", value=success, expected_type=type_hints["success"]) + jsii.create(self.__class__, self, [success]) + + @builtins.property + @jsii.member(jsii_name="success") + def success(self) -> builtins.bool: +@@ -2574,10 +2904,14 @@ + def __init__(self, *, boom: builtins.bool, prop: builtins.str) -> None: + ''' + :param boom: + :param prop: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__861a5ec03219f6c9fecd1b039faa2e53075227ff0d28f8eb66929909bc0c3096) ++ check_type(argname="argument boom", value=boom, expected_type=type_hints["boom"]) ++ check_type(argname="argument prop", value=prop, expected_type=type_hints["prop"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "boom": boom, + "prop": prop, + } + +@@ -2619,10 +2953,14 @@ + :param readonly_string: - + :param mutable_number: - + + :external: true + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__82149b1f61aca58419f6ba4c74c8bb1c5c241433707e64ea4626937b294d8fe5) ++ check_type(argname="argument readonly_string", value=readonly_string, expected_type=type_hints["readonly_string"]) ++ check_type(argname="argument mutable_number", value=mutable_number, expected_type=type_hints["mutable_number"]) + jsii.create(self.__class__, self, [readonly_string, mutable_number]) + + @jsii.member(jsii_name="method") + def method(self) -> None: + ''' +@@ -2646,10 +2984,13 @@ + ''' + return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__8380ec30b1f8773df7b5b27be8811be79b04f1d17c8eca83f83927eb56cdfd34) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "mutableProperty", value) + + + @jsii.enum(jsii_type="jsii-calc.ExternalEnum") + class ExternalEnum(enum.Enum): +@@ -2677,10 +3018,13 @@ + ''' + :param readonly_property: + + :external: true + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__8e8843a5fc914ec2c1e3baccdad526ea4d48eee37296f6812f3c0673ef86794f) ++ check_type(argname="argument readonly_property", value=readonly_property, expected_type=type_hints["readonly_property"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "readonly_property": readonly_property, + } + + @builtins.property +@@ -2823,10 +3167,13 @@ + def __init__(self, *, name: typing.Optional[builtins.str] = None) -> None: + '''These are some arguments you can pass to a method. + + :param name: The name of the greetee. Default: world + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__3dce87825e36304d54521ce5524aa7e230fa5d505b0abbc79101fd9014f2cbd9) ++ check_type(argname="argument name", value=name, expected_type=type_hints["name"]) + self._values: typing.Dict[builtins.str, typing.Any] = {} + if name is not None: + self._values["name"] = name + + @builtins.property +@@ -2863,10 +3210,13 @@ + friendly: _scope_jsii_calc_lib_c61f082f.IFriendly, + ) -> builtins.str: + ''' + :param friendly: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__d17f0544be961cba6cabfbb40f28c196963de107fcaef9c56d8227bdcb359431) ++ check_type(argname="argument friendly", value=friendly, expected_type=type_hints["friendly"]) + return typing.cast(builtins.str, jsii.invoke(self, "betterGreeting", [friendly])) + + + @jsii.interface(jsii_type="jsii-calc.IAnonymousImplementationProvider") + class IAnonymousImplementationProvider(typing_extensions.Protocol): +@@ -2946,10 +3296,13 @@ + def a(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "a")) + + @a.setter + def a(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__3eabfcad9a21b26024f4c1480ca127a3d6c6888067f0ae991d5922a49bfe81d4) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "a", value) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface + typing.cast(typing.Any, IAnotherPublicInterface).__jsii_proxy_class__ = lambda : _IAnotherPublicInterfaceProxy + +@@ -2992,10 +3345,13 @@ + @jsii.member(jsii_name="yourTurn") + def your_turn(self, bell: IBell) -> None: + ''' + :param bell: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__d127476ce3b6e59ff9f375f547c1b6e1826d7a3969612c0605ebd0017d2b985d) ++ check_type(argname="argument bell", value=bell, expected_type=type_hints["bell"]) + return typing.cast(None, jsii.invoke(self, "yourTurn", [bell])) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface + typing.cast(typing.Any, IBellRinger).__jsii_proxy_class__ = lambda : _IBellRingerProxy + +@@ -3020,10 +3376,13 @@ + @jsii.member(jsii_name="yourTurn") + def your_turn(self, bell: "Bell") -> None: + ''' + :param bell: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__2c34aaac5945bdc61c4f56492dee5608e1852940835d94d3e991fed377db66f2) ++ check_type(argname="argument bell", value=bell, expected_type=type_hints["bell"]) + return typing.cast(None, jsii.invoke(self, "yourTurn", [bell])) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface + typing.cast(typing.Any, IConcreteBellRinger).__jsii_proxy_class__ = lambda : _IConcreteBellRingerProxy + +@@ -3079,10 +3438,13 @@ + ''' + return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__e4d76200a6c5bdbdd51f208229da8bfd8f6f4c967af28e1e733579780e9d4a0e) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "mutableProperty", value) + + @jsii.member(jsii_name="method") + def method(self) -> None: + ''' +@@ -3137,10 +3499,13 @@ + ''' + return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__6e68d313f3254be7145220b211c66f45749aa8efc15aaf93d96330eb3cb7c6c7) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "mutableProperty", value) + + @jsii.member(jsii_name="method") + def method(self) -> None: + ''' +@@ -3182,10 +3547,13 @@ + def private(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "private")) + + @private.setter + def private(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__8199a83e86f8a4cf29ddc53d2b2151c37c7fa10d29562b454127376d1867d6da) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "private", value) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface + typing.cast(typing.Any, IExtendsPrivateInterface).__jsii_proxy_class__ = lambda : _IExtendsPrivateInterfaceProxy + +@@ -3231,10 +3599,13 @@ + ''' + return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__a904d745cb9f037de717ed7a2b1d3a207493564662fdbe1d7c63e60a24f9bace) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "mutableProperty", value) + + @jsii.member(jsii_name="method") + def method(self) -> None: + ''' +@@ -3416,10 +3787,14 @@ + ) -> None: + ''' + :param arg1: - + :param arg2: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5568c72c746dd5221cb6fb7b741ed7a3346c346d7a30863c5abe3d99ada53098) ++ check_type(argname="argument arg1", value=arg1, expected_type=type_hints["arg1"]) ++ check_type(argname="argument arg2", value=arg2, expected_type=type_hints["arg2"]) + return typing.cast(None, jsii.invoke(self, "hello", [arg1, arg2])) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface + typing.cast(typing.Any, IInterfaceWithOptionalMethodArguments).__jsii_proxy_class__ = lambda : _IInterfaceWithOptionalMethodArgumentsProxy + +@@ -3454,10 +3829,13 @@ + def read_write_string(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "readWriteString")) + + @read_write_string.setter + def read_write_string(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__858de6e8785f18ad264a158ca83a0fc1e0a6299efa9f77a0b31eaaffaa5b086c) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "readWriteString", value) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface + typing.cast(typing.Any, IInterfaceWithProperties).__jsii_proxy_class__ = lambda : _IInterfaceWithPropertiesProxy + +@@ -3487,10 +3865,13 @@ + def foo(self) -> jsii.Number: + return typing.cast(jsii.Number, jsii.get(self, "foo")) + + @foo.setter + def foo(self, value: jsii.Number) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c571c6749392bc04e123a99b926edaf10b88be6b6d6b6a3937cae9893af5119e) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "foo", value) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface + typing.cast(typing.Any, IInterfaceWithPropertiesExtension).__jsii_proxy_class__ = lambda : _IInterfaceWithPropertiesExtensionProxy + +@@ -4010,10 +4391,13 @@ + def value(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "value")) + + @value.setter + def value(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__e0395944061fad9d5156b633dc20682ff9759ae0acb88df574b159f4919ab3a5) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "value", value) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface + typing.cast(typing.Any, IMutableObjectLiteral).__jsii_proxy_class__ = lambda : _IMutableObjectLiteralProxy + +@@ -4049,19 +4433,25 @@ + def b(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "b")) + + @b.setter + def b(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__9d1e4198ba3f4e6b6a6f4ce0a4a185223ec216368c0c3304c69b029aba13ca49) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "b", value) + + @builtins.property + @jsii.member(jsii_name="c") + def c(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "c")) + + @c.setter + def c(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__6774e195ab25dab5790e1d187eb30be56997804d5186753a9928f2575f81977b) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "c", value) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface + typing.cast(typing.Any, INonInternalInterface).__jsii_proxy_class__ = lambda : _INonInternalInterfaceProxy + +@@ -4094,10 +4484,13 @@ + def property(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "property")) + + @property.setter + def property(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__831f664cd567fd4e707fd175e9c9e13519f3ca587b792d7d5bc79f427589a802) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "property", value) + + @jsii.member(jsii_name="wasSet") + def was_set(self) -> builtins.bool: + return typing.cast(builtins.bool, jsii.invoke(self, "wasSet", [])) +@@ -4290,10 +4683,13 @@ + def mutable_property(self) -> typing.Optional[jsii.Number]: + return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__254a58386276f7b7d5a41dddd674375b8942c2cad4deb6c2d24b55d240d14350) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "mutableProperty", value) + + @jsii.member(jsii_name="method") + def method(self) -> None: + return typing.cast(None, jsii.invoke(self, "method", [])) +@@ -4360,10 +4756,13 @@ + def prop(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "prop")) + + @prop.setter + def prop(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__10bb8b026d6c8368d479cf0da8b27c049c5f9088f173a63624e515dd36607439) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "prop", value) + + + class Implementation(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Implementation"): + def __init__(self) -> None: +@@ -4409,10 +4808,13 @@ + def private(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "private")) + + @private.setter + def private(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__2df4d055b033cdfdf7ad915b451ddc787ad68fb64b7e02386a9d8e591c1657af) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "private", value) + + + @jsii.data_type( + jsii_type="jsii-calc.ImplictBaseOfBase", +@@ -4430,10 +4832,15 @@ + ''' + :param foo: - + :param bar: - + :param goo: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__b70592e4d080897239bf5f8b0de5b6b464cd9e888e39fca1082c04b5cbeca890) ++ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) ++ check_type(argname="argument bar", value=bar, expected_type=type_hints["bar"]) ++ check_type(argname="argument goo", value=goo, expected_type=type_hints["goo"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "foo": foo, + "bar": bar, + "goo": goo, + } +@@ -4508,10 +4915,13 @@ + count: jsii.Number, + ) -> typing.List[_scope_jsii_calc_lib_c61f082f.IDoublable]: + ''' + :param count: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__1d6e348a61ed27bfc8b7928365798b43e0130ca2b720c1105baca04fa093d194) ++ check_type(argname="argument count", value=count, expected_type=type_hints["count"]) + return typing.cast(typing.List[_scope_jsii_calc_lib_c61f082f.IDoublable], jsii.sinvoke(cls, "makeInterfaces", [count])) + + + class Isomorphism(metaclass=jsii.JSIIAbstractClass, jsii_type="jsii-calc.Isomorphism"): + '''Checks the "same instance" isomorphism is preserved within the constructor. +@@ -4616,19 +5026,25 @@ + def prop_a(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "propA")) + + @prop_a.setter + def prop_a(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__30ce308abdc1d2462c00bf7a4acc194ec05d61ddee24b2e79c674aa7034e5ffa) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "propA", value) + + @builtins.property + @jsii.member(jsii_name="propB") + def prop_b(self) -> jsii.Number: + return typing.cast(jsii.Number, jsii.get(self, "propB")) + + @prop_b.setter + def prop_b(self, value: jsii.Number) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__eef7c487e6f0c4d81dd633cf70121104ff8f3458fa52a418df64bcab9fe4bd3e) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "propB", value) + + + class JavaReservedWords( + metaclass=jsii.JSIIMeta, +@@ -4850,10 +5266,13 @@ + def while_(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "while")) + + @while_.setter + def while_(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__a7654af9a241e67ad498c3eb33b98e6cdb1558487bb9b02dcce41f75334b76ad) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "while", value) + + + @jsii.implements(IJsii487External2, IJsii487External) + class Jsii487Derived(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Jsii487Derived"): +@@ -4955,10 +5374,13 @@ + @builtins.classmethod + def stringify(cls, value: typing.Any = None) -> typing.Optional[builtins.str]: + ''' + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__43f45c49ecee3d08351b82aa5cdc3548d9dafa534cd2d99da8b5c5c9188e9a54) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + return typing.cast(typing.Optional[builtins.str], jsii.sinvoke(cls, "stringify", [value])) + + + class LevelOne(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.LevelOne"): + '''Validates that nested classes get correct code generation for the occasional forward reference.''' +@@ -4988,10 +5410,13 @@ + class PropBooleanValue: + def __init__(self, *, value: builtins.bool) -> None: + ''' + :param value: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__ef705a05998260349d35c748c557e65cf539d53e136eb9191250080bdce852c3) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "value": value, + } + + @builtins.property +@@ -5025,10 +5450,13 @@ + ''' + :param prop: + ''' + if isinstance(prop, dict): + prop = LevelOne.PropBooleanValue(**prop) ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__2a9e65060bf85c3d49b79ada1f9394ae146c380a4212c190065e031098d570b8) ++ check_type(argname="argument prop", value=prop, expected_type=type_hints["prop"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "prop": prop, + } + + @builtins.property +@@ -5063,10 +5491,13 @@ + ''' + :param prop: + ''' + if isinstance(prop, dict): + prop = LevelOne.PropProperty(**prop) ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__479be5d5625f656c28cf12ffdc2cef9d6d74aae555551630f440fcb05351d261) ++ check_type(argname="argument prop", value=prop, expected_type=type_hints["prop"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "prop": prop, + } + + @builtins.property +@@ -5114,10 +5545,17 @@ + :param cpu: The number of cpu units used by the task. Valid values, which determines your range of valid values for the memory parameter: 256 (.25 vCPU) - Available memory values: 0.5GB, 1GB, 2GB 512 (.5 vCPU) - Available memory values: 1GB, 2GB, 3GB, 4GB 1024 (1 vCPU) - Available memory values: 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB 2048 (2 vCPU) - Available memory values: Between 4GB and 16GB in 1GB increments 4096 (4 vCPU) - Available memory values: Between 8GB and 30GB in 1GB increments This default is set in the underlying FargateTaskDefinition construct. Default: 256 + :param memory_mib: The amount (in MiB) of memory used by the task. This field is required and you must use one of the following values, which determines your range of valid values for the cpu parameter: 0.5GB, 1GB, 2GB - Available cpu values: 256 (.25 vCPU) 1GB, 2GB, 3GB, 4GB - Available cpu values: 512 (.5 vCPU) 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB - Available cpu values: 1024 (1 vCPU) Between 4GB and 16GB in 1GB increments - Available cpu values: 2048 (2 vCPU) Between 8GB and 30GB in 1GB increments - Available cpu values: 4096 (4 vCPU) This default is set in the underlying FargateTaskDefinition construct. Default: 512 + :param public_load_balancer: Determines whether the Application Load Balancer will be internet-facing. Default: true + :param public_tasks: Determines whether your Fargate Service will be assigned a public IP address. Default: false + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__b3d89a25beb0ebd10c196d941aa924197ae9a2def08f1f414c190a2a6d943d9c) ++ check_type(argname="argument container_port", value=container_port, expected_type=type_hints["container_port"]) ++ check_type(argname="argument cpu", value=cpu, expected_type=type_hints["cpu"]) ++ check_type(argname="argument memory_mib", value=memory_mib, expected_type=type_hints["memory_mib"]) ++ check_type(argname="argument public_load_balancer", value=public_load_balancer, expected_type=type_hints["public_load_balancer"]) ++ check_type(argname="argument public_tasks", value=public_tasks, expected_type=type_hints["public_tasks"]) + self._values: typing.Dict[builtins.str, typing.Any] = {} + if container_port is not None: + self._values["container_port"] = container_port + if cpu is not None: + self._values["cpu"] = cpu +@@ -5244,10 +5682,14 @@ + '''Creates a BinaryOperation. + + :param lhs: Left-hand side operand. + :param rhs: Right-hand side operand. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__7e73465ea858e34d4df8697d34f29a53ca3c3a41c47946382e5d49f498e3747d) ++ check_type(argname="argument lhs", value=lhs, expected_type=type_hints["lhs"]) ++ check_type(argname="argument rhs", value=rhs, expected_type=type_hints["rhs"]) + jsii.create(self.__class__, self, [lhs, rhs]) + + @jsii.member(jsii_name="farewell") + def farewell(self) -> builtins.str: + '''Say farewell.''' +@@ -5295,10 +5737,13 @@ + class NestedStruct: + def __init__(self, *, number_prop: jsii.Number) -> None: + ''' + :param number_prop: When provided, must be > 0. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__04dae031a5097183ccda93eb91ec51a8a6fa1133134a6a398f1f05c581bc0091) ++ check_type(argname="argument number_prop", value=number_prop, expected_type=type_hints["number_prop"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "number_prop": number_prop, + } + + @builtins.property +@@ -5369,17 +5814,24 @@ + def __init__(self, _param1: builtins.str, optional: typing.Any = None) -> None: + ''' + :param _param1: - + :param optional: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__218107d38285901ff40e08163f0de0bac5d835bd64c21c0a735e8d72399ebe35) ++ check_type(argname="argument _param1", value=_param1, expected_type=type_hints["_param1"]) ++ check_type(argname="argument optional", value=optional, expected_type=type_hints["optional"]) + jsii.create(self.__class__, self, [_param1, optional]) + + @jsii.member(jsii_name="giveMeUndefined") + def give_me_undefined(self, value: typing.Any = None) -> None: + ''' + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__a109cd8429db09172895a3eb04ca7e9d5c92129c7ca7a50f85fa89b6f6ab366b) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + return typing.cast(None, jsii.invoke(self, "giveMeUndefined", [value])) + + @jsii.member(jsii_name="giveMeUndefinedInsideAnObject") + def give_me_undefined_inside_an_object( + self, +@@ -5407,10 +5859,13 @@ + def change_me_to_undefined(self) -> typing.Optional[builtins.str]: + return typing.cast(typing.Optional[builtins.str], jsii.get(self, "changeMeToUndefined")) + + @change_me_to_undefined.setter + def change_me_to_undefined(self, value: typing.Optional[builtins.str]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__7102c29a709c4297fb88615c74a3e42a584364ac4ccba5c1db42a65e05184d1b) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "changeMeToUndefined", value) + + + @jsii.data_type( + jsii_type="jsii-calc.NullShouldBeTreatedAsUndefinedData", +@@ -5429,10 +5884,14 @@ + ) -> None: + ''' + :param array_with_three_elements_and_undefined_as_second_argument: + :param this_should_be_undefined: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__ae8d47cabe4d36f88c891d250d7e792432b0d153223789ec3687e714ba92a5f3) ++ check_type(argname="argument array_with_three_elements_and_undefined_as_second_argument", value=array_with_three_elements_and_undefined_as_second_argument, expected_type=type_hints["array_with_three_elements_and_undefined_as_second_argument"]) ++ check_type(argname="argument this_should_be_undefined", value=this_should_be_undefined, expected_type=type_hints["this_should_be_undefined"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "array_with_three_elements_and_undefined_as_second_argument": array_with_three_elements_and_undefined_as_second_argument, + } + if this_should_be_undefined is not None: + self._values["this_should_be_undefined"] = this_should_be_undefined +@@ -5467,17 +5926,23 @@ + + def __init__(self, generator: IRandomNumberGenerator) -> None: + ''' + :param generator: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__3c1812783ba0b3b2146a3dd9609a6e12af404502ff5fbb9b9a9be49bf576122b) ++ check_type(argname="argument generator", value=generator, expected_type=type_hints["generator"]) + jsii.create(self.__class__, self, [generator]) + + @jsii.member(jsii_name="isSameGenerator") + def is_same_generator(self, gen: IRandomNumberGenerator) -> builtins.bool: + ''' + :param gen: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__151b90e9765ce9a05ae13e568f4ba7c9e36e34c1cd991c5c1ee0249869fd4cce) ++ check_type(argname="argument gen", value=gen, expected_type=type_hints["gen"]) + return typing.cast(builtins.bool, jsii.invoke(self, "isSameGenerator", [gen])) + + @jsii.member(jsii_name="nextTimes100") + def next_times100(self) -> jsii.Number: + return typing.cast(jsii.Number, jsii.invoke(self, "nextTimes100", [])) +@@ -5487,10 +5952,13 @@ + def generator(self) -> IRandomNumberGenerator: + return typing.cast(IRandomNumberGenerator, jsii.get(self, "generator")) + + @generator.setter + def generator(self, value: IRandomNumberGenerator) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__0f5a1cc548d3db6e156cec5671bc04b980132e529c77f3bb5aaa58427db35e7c) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "generator", value) + + + class ObjectRefsInCollections( + metaclass=jsii.JSIIMeta, +@@ -5508,10 +5976,13 @@ + ) -> jsii.Number: + '''Returns the sum of all values. + + :param values: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__f5cb9f9511b0248cd4c0c4bec4eed9e75e7690012237fdb1b39b3f7b3bb0392e) ++ check_type(argname="argument values", value=values, expected_type=type_hints["values"]) + return typing.cast(jsii.Number, jsii.invoke(self, "sumFromArray", [values])) + + @jsii.member(jsii_name="sumFromMap") + def sum_from_map( + self, +@@ -5519,10 +5990,13 @@ + ) -> jsii.Number: + '''Returns the sum of all values in a map. + + :param values: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__ca5199647728e53a1ec89d4fd7dad9aeb7239f8c1213c51b4e2eda734daa4cf4) ++ check_type(argname="argument values", value=values, expected_type=type_hints["values"]) + return typing.cast(jsii.Number, jsii.invoke(self, "sumFromMap", [values])) + + + class ObjectWithPropertyProvider( + metaclass=jsii.JSIIMeta, +@@ -5563,10 +6037,13 @@ + ): + def __init__(self, delegate: IInterfaceWithOptionalMethodArguments) -> None: + ''' + :param delegate: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__da93d15e57e6e2a1857cd7df156fb2a55ec91715c97323f20268def40f72137c) ++ check_type(argname="argument delegate", value=delegate, expected_type=type_hints["delegate"]) + jsii.create(self.__class__, self, [delegate]) + + @jsii.member(jsii_name="invokeWithOptional") + def invoke_with_optional(self) -> None: + return typing.cast(None, jsii.invoke(self, "invokeWithOptional", [])) +@@ -5589,10 +6066,15 @@ + ''' + :param arg1: - + :param arg2: - + :param arg3: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5f6c5e5b55379123a8bd2bc457d9a5e9a0d34dd512b2bd2f59c6a5bec2a95f14) ++ check_type(argname="argument arg1", value=arg1, expected_type=type_hints["arg1"]) ++ check_type(argname="argument arg2", value=arg2, expected_type=type_hints["arg2"]) ++ check_type(argname="argument arg3", value=arg3, expected_type=type_hints["arg3"]) + jsii.create(self.__class__, self, [arg1, arg2, arg3]) + + @builtins.property + @jsii.member(jsii_name="arg1") + def arg1(self) -> jsii.Number: +@@ -5617,10 +6099,13 @@ + class OptionalStruct: + def __init__(self, *, field: typing.Optional[builtins.str] = None) -> None: + ''' + :param field: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__26ecd0d4ea200acf388a8b91f17bfd3c09b6c7f8e0a84228b89c27ace672d0b1) ++ check_type(argname="argument field", value=field, expected_type=type_hints["field"]) + self._values: typing.Dict[builtins.str, typing.Any] = {} + if field is not None: + self._values["field"] = field + + @builtins.property +@@ -5696,10 +6181,13 @@ + def _override_read_write(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "overrideReadWrite")) + + @_override_read_write.setter + def _override_read_write(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__72ca8c3c148afe2b76dc14b63b8e2baf0bbf28802add3f88490cb5d3792825fb) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "overrideReadWrite", value) + + + class OverrideReturnsObject( + metaclass=jsii.JSIIMeta, +@@ -5711,10 +6199,13 @@ + @jsii.member(jsii_name="test") + def test(self, obj: IReturnsNumber) -> jsii.Number: + ''' + :param obj: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__ca8d417ddf787890441d6903718eebaf7fde3508b3466202724fdac3a17ba79b) ++ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) + return typing.cast(jsii.Number, jsii.invoke(self, "test", [obj])) + + + class ParamShadowsBuiltins( + metaclass=jsii.JSIIMeta, +@@ -5736,10 +6227,14 @@ + :param str: should be set to something that is NOT a valid expression in Python (e.g: "\${NOPE}""). + :param boolean_property: + :param string_property: + :param struct_property: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__32a51b5d61d5ca58d33e8f6b9d9e1c4f16b39bf431a669250d4c290de0bbf46f) ++ check_type(argname="argument builtins", value=builtins, expected_type=type_hints["builtins"]) ++ check_type(argname="argument str", value=str, expected_type=type_hints["str"]) + props = ParamShadowsBuiltinsProps( + boolean_property=boolean_property, + string_property=string_property, + struct_property=struct_property, + ) +@@ -5769,10 +6264,15 @@ + :param string_property: + :param struct_property: + ''' + if isinstance(struct_property, dict): + struct_property = StructA(**struct_property) ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c93d69c5c8307eec2d1c6e8d5f9892234fbdd24bb5cce3f5ea1e210276bc58c1) ++ check_type(argname="argument boolean_property", value=boolean_property, expected_type=type_hints["boolean_property"]) ++ check_type(argname="argument string_property", value=string_property, expected_type=type_hints["string_property"]) ++ check_type(argname="argument struct_property", value=struct_property, expected_type=type_hints["struct_property"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "boolean_property": boolean_property, + "string_property": string_property, + "struct_property": struct_property, + } +@@ -5825,10 +6325,13 @@ + scope: _scope_jsii_calc_lib_c61f082f.Number, + ) -> _scope_jsii_calc_lib_c61f082f.Number: + ''' + :param scope: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__ae63c91319764cabd02536ac5b03026eb3f4071497b2a04adf93ca02985507ae) ++ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"]) + return typing.cast(_scope_jsii_calc_lib_c61f082f.Number, jsii.invoke(self, "useScope", [scope])) + + + @jsii.data_type( + jsii_type="jsii-calc.ParentStruct982", +@@ -5839,10 +6342,13 @@ + def __init__(self, *, foo: builtins.str) -> None: + '''https://github.com/aws/jsii/issues/982. + + :param foo: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__f6db465208dd616dc4f171643676a159b21fe5963ec9a3d1fd752e5cb291868d) ++ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "foo": foo, + } + + @builtins.property +@@ -5897,10 +6403,15 @@ + ''' + :param obj: - + :param dt: - + :param ev: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__85c3ad65f24d8d5af99d7777a0379b793f45ac0e0e39714f279b8f2d58dbcfdb) ++ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) ++ check_type(argname="argument dt", value=dt, expected_type=type_hints["dt"]) ++ check_type(argname="argument ev", value=ev, expected_type=type_hints["ev"]) + return typing.cast(builtins.str, jsii.invoke(self, "consumePartiallyInitializedThis", [obj, dt, ev])) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class + typing.cast(typing.Any, PartiallyInitializedThisConsumer).__jsii_proxy_class__ = lambda : _PartiallyInitializedThisConsumerProxy + +@@ -5915,10 +6426,13 @@ + friendly: _scope_jsii_calc_lib_c61f082f.IFriendly, + ) -> builtins.str: + ''' + :param friendly: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__edbbf85a7c4217635da7418d28aa61c4e11f7a0c1e9c960528ed4e7bee1ad541) ++ check_type(argname="argument friendly", value=friendly, expected_type=type_hints["friendly"]) + return typing.cast(builtins.str, jsii.invoke(self, "sayHello", [friendly])) + + + class Power( + _CompositeOperation_1c4d123b, +@@ -5935,10 +6449,14 @@ + '''Creates a Power operation. + + :param base: The base of the power. + :param pow: The number of times to multiply. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__df4f41b4c003b9ba61f07f4d41a4059f167ea41c03ea29933966d2caeb831d8c) ++ check_type(argname="argument base", value=base, expected_type=type_hints["base"]) ++ check_type(argname="argument pow", value=pow, expected_type=type_hints["pow"]) + jsii.create(self.__class__, self, [base, pow]) + + @builtins.property + @jsii.member(jsii_name="base") + def base(self) -> _scope_jsii_calc_lib_c61f082f.NumericValue: +@@ -6161,10 +6679,13 @@ + value: _scope_jsii_calc_lib_c61f082f.EnumFromScopedModule, + ) -> None: + ''' + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__235768085718ab33214221cff3145bb2a82c28916350f273995760a428a1aba3) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + return typing.cast(None, jsii.invoke(self, "saveFoo", [value])) + + @builtins.property + @jsii.member(jsii_name="foo") + def foo( +@@ -6175,10 +6696,13 @@ + @foo.setter + def foo( + self, + value: typing.Optional[_scope_jsii_calc_lib_c61f082f.EnumFromScopedModule], + ) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__100c679fa10c1938fc087475a1e5fcdf7c2cbff383b1c02b1d09471cb4f23123) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "foo", value) + + + class ReturnsPrivateImplementationOfInterface( + metaclass=jsii.JSIIMeta, +@@ -6220,10 +6744,14 @@ + :param string_prop: May not be empty. + :param nested_struct: + ''' + if isinstance(nested_struct, dict): + nested_struct = NestedStruct(**nested_struct) ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__cf66d7b4f4a567aefacbafc24f61d33a942afde3d167676ed65ea82da95cd36e) ++ check_type(argname="argument string_prop", value=string_prop, expected_type=type_hints["string_prop"]) ++ check_type(argname="argument nested_struct", value=nested_struct, expected_type=type_hints["nested_struct"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "string_prop": string_prop, + } + if nested_struct is not None: + self._values["nested_struct"] = nested_struct +@@ -6290,17 +6818,25 @@ + ''' + :param arg1: - + :param arg2: - + :param arg3: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__6db501e892de783af62ff728e59cc3155afc51ddc2dff77cce61ffe698e2e1f3) ++ check_type(argname="argument arg1", value=arg1, expected_type=type_hints["arg1"]) ++ check_type(argname="argument arg2", value=arg2, expected_type=type_hints["arg2"]) ++ check_type(argname="argument arg3", value=arg3, expected_type=type_hints["arg3"]) + return typing.cast(None, jsii.invoke(self, "methodWithDefaultedArguments", [arg1, arg2, arg3])) + + @jsii.member(jsii_name="methodWithOptionalAnyArgument") + def method_with_optional_any_argument(self, arg: typing.Any = None) -> None: + ''' + :param arg: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5978f09aaa3317742377437d5735571f672119325c2b5d69f26153bae6764c85) ++ check_type(argname="argument arg", value=arg, expected_type=type_hints["arg"]) + return typing.cast(None, jsii.invoke(self, "methodWithOptionalAnyArgument", [arg])) + + @jsii.member(jsii_name="methodWithOptionalArguments") + def method_with_optional_arguments( + self, +@@ -6312,10 +6848,15 @@ + + :param arg1: - + :param arg2: - + :param arg3: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c894904fd4904d7e110da91df846a8ec0970051a274bba5ad95c2b7dc1125cc2) ++ check_type(argname="argument arg1", value=arg1, expected_type=type_hints["arg1"]) ++ check_type(argname="argument arg2", value=arg2, expected_type=type_hints["arg2"]) ++ check_type(argname="argument arg3", value=arg3, expected_type=type_hints["arg3"]) + return typing.cast(None, jsii.invoke(self, "methodWithOptionalArguments", [arg1, arg2, arg3])) + + + @jsii.data_type( + jsii_type="jsii-calc.SecondLevelStruct", +@@ -6334,10 +6875,14 @@ + ) -> None: + ''' + :param deeper_required_prop: It's long and required. + :param deeper_optional_prop: It's long, but you'll almost never pass it. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__e7383b9a36a10b88815e6c310c7b13c611260f5ccb143b75dac114873643350d) ++ check_type(argname="argument deeper_required_prop", value=deeper_required_prop, expected_type=type_hints["deeper_required_prop"]) ++ check_type(argname="argument deeper_optional_prop", value=deeper_optional_prop, expected_type=type_hints["deeper_optional_prop"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "deeper_required_prop": deeper_required_prop, + } + if deeper_optional_prop is not None: + self._values["deeper_optional_prop"] = deeper_optional_prop +@@ -6399,10 +6944,13 @@ + @jsii.member(jsii_name="isSingletonInt") + def is_singleton_int(self, value: jsii.Number) -> builtins.bool: + ''' + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__2ccde09a2986c421795069d44c46d9e2d7470609094b8b7177c6b154360f7435) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + return typing.cast(builtins.bool, jsii.invoke(self, "isSingletonInt", [value])) + + + @jsii.enum(jsii_type="jsii-calc.SingletonIntEnum") + class SingletonIntEnum(enum.Enum): +@@ -6421,10 +6969,13 @@ + @jsii.member(jsii_name="isSingletonString") + def is_singleton_string(self, value: builtins.str) -> builtins.bool: + ''' + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__76cbdc0bba36d674ab013a40d091c1f3ccb139f10e78844ebc868bfa5d707ef8) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + return typing.cast(builtins.bool, jsii.invoke(self, "isSingletonString", [value])) + + + @jsii.enum(jsii_type="jsii-calc.SingletonStringEnum") + class SingletonStringEnum(enum.Enum): +@@ -6448,10 +6999,14 @@ + ) -> None: + ''' + :param property: + :param yet_anoter_one: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__1b795ca2a3052da38144d10d87f230e74bcfa497af1262580f53908be48f6710) ++ check_type(argname="argument property", value=property, expected_type=type_hints["property"]) ++ check_type(argname="argument yet_anoter_one", value=yet_anoter_one, expected_type=type_hints["yet_anoter_one"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "property": property, + "yet_anoter_one": yet_anoter_one, + } + +@@ -6502,10 +7057,14 @@ + ) -> None: + ''' + :param readonly_string: - + :param mutable_number: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__8c577a76d55e32f4b62a2a005d0c321bf9d0784b2f6cea5f10e297f3f79fc4bb) ++ check_type(argname="argument readonly_string", value=readonly_string, expected_type=type_hints["readonly_string"]) ++ check_type(argname="argument mutable_number", value=mutable_number, expected_type=type_hints["mutable_number"]) + jsii.create(self.__class__, self, [readonly_string, mutable_number]) + + @jsii.member(jsii_name="method") + def method(self) -> None: + return typing.cast(None, jsii.invoke(self, "method", [])) +@@ -6520,10 +7079,13 @@ + def mutable_property(self) -> typing.Optional[jsii.Number]: + return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "mutableProperty")) + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__737be2f0376e64bd8c0980aee9fc6afd796bb4d0cb3415eab28d054f15881752) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "mutableProperty", value) + + + @jsii.enum(jsii_type="jsii-calc.StableEnum") + class StableEnum(enum.Enum): +@@ -6539,10 +7101,13 @@ + class StableStruct: + def __init__(self, *, readonly_property: builtins.str) -> None: + ''' + :param readonly_property: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__4bbf1eebbce12768b1d2ef90968ffdbe749e42ce8bcdaf4c8750314d2160c5ea) ++ check_type(argname="argument readonly_property", value=readonly_property, expected_type=type_hints["readonly_property"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "readonly_property": readonly_property, + } + + @builtins.property +@@ -6579,10 +7144,13 @@ + def static_variable(cls) -> builtins.bool: # pyright: ignore [reportGeneralTypeIssues] + return typing.cast(builtins.bool, jsii.sget(cls, "staticVariable")) + + @static_variable.setter # type: ignore[no-redef] + def static_variable(cls, value: builtins.bool) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__cf00e16ec45ebcadc1f7003eb344ecf452096a12a1a76ff0e15fce1066d716d2) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.sset(cls, "staticVariable", value) + + + class StaticHelloParent( + metaclass=jsii.JSIIMeta, +@@ -6612,19 +7180,25 @@ + class Statics(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Statics"): + def __init__(self, value: builtins.str) -> None: + ''' + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__69df39c5fc3367bba974a46518d9122ce067721f56037ef6e1faedf479222822) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.create(self.__class__, self, [value]) + + @jsii.member(jsii_name="staticMethod") + @builtins.classmethod + def static_method(cls, name: builtins.str) -> builtins.str: + '''Jsdocs for static method. + + :param name: The name of the person to say hello to. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c4597464b7867e98bf0052f7808e080b75874d088aeac980865a4fc19e47a6d1) ++ check_type(argname="argument name", value=name, expected_type=type_hints["name"]) + return typing.cast(builtins.str, jsii.sinvoke(cls, "staticMethod", [name])) + + @jsii.member(jsii_name="justMethod") + def just_method(self) -> builtins.str: + return typing.cast(builtins.str, jsii.invoke(self, "justMethod", [])) +@@ -6661,19 +7235,25 @@ + ''' + return typing.cast("Statics", jsii.sget(cls, "instance")) + + @instance.setter # type: ignore[no-redef] + def instance(cls, value: "Statics") -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__748a4d0813e4a3ab750bd52215b9ff4dee315d39b160d47884780ea7c4b10daf) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.sset(cls, "instance", value) + + @jsii.python.classproperty + @jsii.member(jsii_name="nonConstStatic") + def non_const_static(cls) -> jsii.Number: # pyright: ignore [reportGeneralTypeIssues] + return typing.cast(jsii.Number, jsii.sget(cls, "nonConstStatic")) + + @non_const_static.setter # type: ignore[no-redef] + def non_const_static(cls, value: jsii.Number) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5d0ed37ae4b7f5bd294a768da342f4735c6636e0197883a5727e46ed81deec69) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.sset(cls, "nonConstStatic", value) + + @builtins.property + @jsii.member(jsii_name="value") + def value(self) -> builtins.str: +@@ -6696,10 +7276,13 @@ + def you_see_me(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "youSeeMe")) + + @you_see_me.setter + def you_see_me(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__aa3b9a5342b6fe1366fac3279219c5bae15389881ddd050c544c1d0001853482) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "youSeeMe", value) + + + @jsii.data_type( + jsii_type="jsii-calc.StructA", +@@ -6722,10 +7305,15 @@ + + :param required_string: + :param optional_number: + :param optional_string: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c9e4f6413d6ce49f4a289256d84d0fa97f7abac1877fc8d49f80f4a7d83a4972) ++ check_type(argname="argument required_string", value=required_string, expected_type=type_hints["required_string"]) ++ check_type(argname="argument optional_number", value=optional_number, expected_type=type_hints["optional_number"]) ++ check_type(argname="argument optional_string", value=optional_string, expected_type=type_hints["optional_string"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "required_string": required_string, + } + if optional_number is not None: + self._values["optional_number"] = optional_number +@@ -6783,10 +7371,15 @@ + :param optional_boolean: + :param optional_struct_a: + ''' + if isinstance(optional_struct_a, dict): + optional_struct_a = StructA(**optional_struct_a) ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__4d335a3a7bbc35ed76509a5e85466d6d29221efebdd6dd4de639ef040628f332) ++ check_type(argname="argument required_string", value=required_string, expected_type=type_hints["required_string"]) ++ check_type(argname="argument optional_boolean", value=optional_boolean, expected_type=type_hints["optional_boolean"]) ++ check_type(argname="argument optional_struct_a", value=optional_struct_a, expected_type=type_hints["optional_struct_a"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "required_string": required_string, + } + if optional_boolean is not None: + self._values["optional_boolean"] = optional_boolean +@@ -6838,10 +7431,14 @@ + See: https://github.com/aws/aws-cdk/issues/4302 + + :param scope: + :param props: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__7eb7b6caeb33bbd3740ca0fc027022df9d4fade4a7d1943a334f2869ab44bd98) ++ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"]) ++ check_type(argname="argument props", value=props, expected_type=type_hints["props"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "scope": scope, + } + if props is not None: + self._values["props"] = props +@@ -6884,10 +7481,14 @@ + ) -> jsii.Number: + ''' + :param _positional: - + :param inputs: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__e3587fc6359e7cd1adf0bb70ed66e1cd69faa462a530e07c8d25a96b942cb943) ++ check_type(argname="argument _positional", value=_positional, expected_type=type_hints["_positional"]) ++ check_type(argname="argument inputs", value=inputs, expected_type=typing.Tuple[type_hints["inputs"], ...]) # pyright: ignore [reportGeneralTypeIssues] + return typing.cast(jsii.Number, jsii.sinvoke(cls, "howManyVarArgsDidIPass", [_positional, *inputs])) + + @jsii.member(jsii_name="roundTrip") + @builtins.classmethod + def round_trip( +@@ -6902,10 +7503,13 @@ + :param _positional: - + :param required: This is a required field. + :param second_level: A union to really stress test our serialization. + :param optional: You don't have to pass this. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__b60fd8dad9496da93546e0555f2f8a7a34711e7160c06dc64a47f095f1539d02) ++ check_type(argname="argument _positional", value=_positional, expected_type=type_hints["_positional"]) + input = TopLevelStruct( + required=required, second_level=second_level, optional=optional + ) + + return typing.cast("TopLevelStruct", jsii.sinvoke(cls, "roundTrip", [_positional, input])) +@@ -6922,10 +7526,13 @@ + struct: typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]], + ) -> builtins.bool: + ''' + :param struct: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__1c22dd35a08877498e4c2c0ed61e220c19d83da3b6a1e278dfcb7af4d76d2df8) ++ check_type(argname="argument struct", value=struct, expected_type=type_hints["struct"]) + return typing.cast(builtins.bool, jsii.sinvoke(cls, "isStructA", [struct])) + + @jsii.member(jsii_name="isStructB") + @builtins.classmethod + def is_struct_b( +@@ -6933,18 +7540,24 @@ + struct: typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]], + ) -> builtins.bool: + ''' + :param struct: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__bfb5d0235b42940b9a17c7bb3182f454c7652fdb031f8993719a701d42833623) ++ check_type(argname="argument struct", value=struct, expected_type=type_hints["struct"]) + return typing.cast(builtins.bool, jsii.sinvoke(cls, "isStructB", [struct])) + + @jsii.member(jsii_name="provideStruct") + @builtins.classmethod + def provide_struct(cls, which: builtins.str) -> typing.Union[StructA, StructB]: + ''' + :param which: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__e3e3d0b072ef214d95806fb0366dd1f4a92b97932f845c9364616c9348bce502) ++ check_type(argname="argument which", value=which, expected_type=type_hints["which"]) + return typing.cast(typing.Union[StructA, StructB], jsii.sinvoke(cls, "provideStruct", [which])) + + + @jsii.data_type( + jsii_type="jsii-calc.StructWithCollectionOfUnionts", +@@ -6958,10 +7571,13 @@ + union_property: typing.Sequence[typing.Mapping[builtins.str, typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]]]], + ) -> None: + ''' + :param union_property: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__06173422e8b2a410ef992bee26115592516245e72f1a99397919d18bfebc1259) ++ check_type(argname="argument union_property", value=union_property, expected_type=type_hints["union_property"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "union_property": union_property, + } + + @builtins.property +@@ -6998,10 +7614,14 @@ + ) -> None: + ''' + :param foo: An enum value. + :param bar: Optional enum value (of type integer). Default: AllTypesEnum.YOUR_ENUM_VALUE + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__9fac60639e71eb35a422d891e6b571b3ba2118da50de35e8ba784bbb73928be9) ++ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) ++ check_type(argname="argument bar", value=bar, expected_type=type_hints["bar"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "foo": foo, + } + if bar is not None: + self._values["bar"] = bar +@@ -7057,10 +7677,16 @@ + :param default: + :param assert_: + :param result: + :param that: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__21b11cdfe2d95237cdddef417a67936ff8529ea3cef4bd7e80fe498f1e27527d) ++ check_type(argname="argument default", value=default, expected_type=type_hints["default"]) ++ check_type(argname="argument assert_", value=assert_, expected_type=type_hints["assert_"]) ++ check_type(argname="argument result", value=result, expected_type=type_hints["result"]) ++ check_type(argname="argument that", value=that, expected_type=type_hints["that"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "default": default, + } + if assert_ is not None: + self._values["assert_"] = assert_ +@@ -7130,10 +7756,13 @@ + @parts.setter + def parts( + self, + value: typing.List[_scope_jsii_calc_lib_c61f082f.NumericValue], + ) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__e2e14d04b1a68f16d9aef0965aa4ffbc51af3cbd2d201ac6e236d861b10c2fbf) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "parts", value) + + + @jsii.data_type( + jsii_type="jsii-calc.SupportsNiceJavaBuilderProps", +@@ -7149,10 +7778,14 @@ + ) -> None: + ''' + :param bar: Some number, like 42. + :param id: An \`\`id\`\` field here is terrible API design, because the constructor of \`\`SupportsNiceJavaBuilder\`\` already has a parameter named \`\`id\`\`. But here we are, doing it like we didn't care. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__11e78aa6557af36be636eea7a1a9b1d6ebf38d63d876b270de65a5f23152b605) ++ check_type(argname="argument bar", value=bar, expected_type=type_hints["bar"]) ++ check_type(argname="argument id", value=id, expected_type=type_hints["id"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "bar": bar, + } + if id is not None: + self._values["id"] = id +@@ -7201,10 +7834,13 @@ + ''' + :param id_: some identifier of your choice. + :param bar: Some number, like 42. + :param id: An \`\`id\`\` field here is terrible API design, because the constructor of \`\`SupportsNiceJavaBuilder\`\` already has a parameter named \`\`id\`\`. But here we are, doing it like we didn't care. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__46b91a4f1b85f01437aa8a6dda82c7c9e02f0b2ae5324f8c1591fa7ff74feaa0) ++ check_type(argname="argument id_", value=id_, expected_type=type_hints["id_"]) + props = SupportsNiceJavaBuilderProps(bar=bar, id=id) + + jsii.create(self.__class__, self, [id_, props]) + + @builtins.property +@@ -7242,17 +7878,23 @@ + @jsii.member(jsii_name="modifyOtherProperty") + def modify_other_property(self, value: builtins.str) -> None: + ''' + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__a961c6dee96c75a70470863d82c09136094c1d72d47aafe7f105c7733536dd4d) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + return typing.cast(None, jsii.invoke(self, "modifyOtherProperty", [value])) + + @jsii.member(jsii_name="modifyValueOfTheProperty") + def modify_value_of_the_property(self, value: builtins.str) -> None: + ''' + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__f3d4d3109122672e8fa17c64fb60787d84a098ee0ee0857d4a10ffe5345a1908) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + return typing.cast(None, jsii.invoke(self, "modifyValueOfTheProperty", [value])) + + @jsii.member(jsii_name="readA") + def read_a(self) -> jsii.Number: + return typing.cast(jsii.Number, jsii.invoke(self, "readA", [])) +@@ -7272,17 +7914,23 @@ + @jsii.member(jsii_name="virtualMethod") + def virtual_method(self, n: jsii.Number) -> jsii.Number: + ''' + :param n: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__ba36c4cb32b9551fe1c3e91bd834b2e97f7ee93d0b5919acfb1c4fd3d6161295) ++ check_type(argname="argument n", value=n, expected_type=type_hints["n"]) + return typing.cast(jsii.Number, jsii.invoke(self, "virtualMethod", [n])) + + @jsii.member(jsii_name="writeA") + def write_a(self, value: jsii.Number) -> None: + ''' + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__7118412729d7ec6272cded791897b09f12ee70e1ca550853121f98ceb30ee0e7) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + return typing.cast(None, jsii.invoke(self, "writeA", [value])) + + @builtins.property + @jsii.member(jsii_name="readonlyProperty") + def readonly_property(self) -> builtins.str: +@@ -7293,46 +7941,61 @@ + def a(self) -> jsii.Number: + return typing.cast(jsii.Number, jsii.get(self, "a")) + + @a.setter + def a(self, value: jsii.Number) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c361a6694d6564ff5c16af012cfaf94cac0a971928a1d0fb014c27f971287836) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "a", value) + + @builtins.property + @jsii.member(jsii_name="callerIsProperty") + def caller_is_property(self) -> jsii.Number: + return typing.cast(jsii.Number, jsii.get(self, "callerIsProperty")) + + @caller_is_property.setter + def caller_is_property(self, value: jsii.Number) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__d5d44f6e3395b0db421bab95a6dd7d1560538c63f136025c6b216ffb01eae179) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "callerIsProperty", value) + + @builtins.property + @jsii.member(jsii_name="otherProperty") + def other_property(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "otherProperty")) + + @other_property.setter + def other_property(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__64c8c65ae76fcafb4b6d28e75f8fd31efad60ab9e71d11cbd5877c28c45d8f70) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "otherProperty", value) + + @builtins.property + @jsii.member(jsii_name="theProperty") + def the_property(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "theProperty")) + + @the_property.setter + def the_property(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__52ea95020be0094da769c873214a182768aa2de47b1c4c3dff43f1226edfe281) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "theProperty", value) + + @builtins.property + @jsii.member(jsii_name="valueOfOtherProperty") + def value_of_other_property(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "valueOfOtherProperty")) + + @value_of_other_property.setter + def value_of_other_property(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__21d6ffe465a7e42c257c8318bf2bee38ecbc6b1959e6e945e769e365afb3e55d) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "valueOfOtherProperty", value) + + + class TestStructWithEnum( + metaclass=jsii.JSIIMeta, +@@ -7415,10 +8078,15 @@ + ''' + :param required: This is a required field. + :param second_level: A union to really stress test our serialization. + :param optional: You don't have to pass this. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__74359fdf4e6a6505a1c0bc4c2c687826dde0a7696de75fc39f9ed57d89137f96) ++ check_type(argname="argument required", value=required, expected_type=type_hints["required"]) ++ check_type(argname="argument second_level", value=second_level, expected_type=type_hints["second_level"]) ++ check_type(argname="argument optional", value=optional, expected_type=type_hints["optional"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "required": required, + "second_level": second_level, + } + if optional is not None: +@@ -7509,10 +8177,13 @@ + + def __init__(self, operand: _scope_jsii_calc_lib_c61f082f.NumericValue) -> None: + ''' + :param operand: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__e31f878fe14747887a58683a15ca9c8ab54ec35cd6e3a665ad70dd53deadb573) ++ check_type(argname="argument operand", value=operand, expected_type=type_hints["operand"]) + jsii.create(self.__class__, self, [operand]) + + @builtins.property + @jsii.member(jsii_name="operand") + def operand(self) -> _scope_jsii_calc_lib_c61f082f.NumericValue: +@@ -7543,10 +8214,14 @@ + ) -> None: + ''' + :param bar: + :param foo: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__223de5294ccc50da976adb8794cb8556981e31d63a2c8b249f7dfbd9e2d99eac) ++ check_type(argname="argument bar", value=bar, expected_type=type_hints["bar"]) ++ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "bar": bar, + } + if foo is not None: + self._values["foo"] = foo +@@ -7583,10 +8258,13 @@ + + def __init__(self, delegate: typing.Mapping[builtins.str, typing.Any]) -> None: + ''' + :param delegate: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__aaaf822e80c6473bff9b1da58151a278cd846ae0614db9af97bc57ea6f899ce2) ++ check_type(argname="argument delegate", value=delegate, expected_type=type_hints["delegate"]) + jsii.create(self.__class__, self, [delegate]) + + @jsii.python.classproperty + @jsii.member(jsii_name="reflector") + def REFLECTOR(cls) -> _scope_jsii_calc_lib_custom_submodule_name_c61f082f.Reflector: +@@ -7629,10 +8307,13 @@ + ): + def __init__(self, obj: IInterfaceWithProperties) -> None: + ''' + :param obj: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__73d1545891c65d400938add489402441cb083c61d214ad7a922b6417d3984732) ++ check_type(argname="argument obj", value=obj, expected_type=type_hints["obj"]) + jsii.create(self.__class__, self, [obj]) + + @jsii.member(jsii_name="justRead") + def just_read(self) -> builtins.str: + return typing.cast(builtins.str, jsii.invoke(self, "justRead", [])) +@@ -7643,17 +8324,23 @@ + ext: IInterfaceWithPropertiesExtension, + ) -> builtins.str: + ''' + :param ext: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__60f3870a6dceb3773397b75ec3f3b664f38c2cc3d2f37dc055262663d12f41a8) ++ check_type(argname="argument ext", value=ext, expected_type=type_hints["ext"]) + return typing.cast(builtins.str, jsii.invoke(self, "readStringAndNumber", [ext])) + + @jsii.member(jsii_name="writeAndRead") + def write_and_read(self, value: builtins.str) -> builtins.str: + ''' + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__42edcb376aed0b6e6fec7d7df016bda9e3a31df0e47ecabb5465d1c84d16a414) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + return typing.cast(builtins.str, jsii.invoke(self, "writeAndRead", [value])) + + @builtins.property + @jsii.member(jsii_name="obj") + def obj(self) -> IInterfaceWithProperties: +@@ -7663,25 +8350,34 @@ + class VariadicInvoker(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.VariadicInvoker"): + def __init__(self, method: "VariadicMethod") -> None: + ''' + :param method: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__6d238d6a2f6e464c570c3176db3d78d62e0be9908b705705c8f6d7b6b2385c54) ++ check_type(argname="argument method", value=method, expected_type=type_hints["method"]) + jsii.create(self.__class__, self, [method]) + + @jsii.member(jsii_name="asArray") + def as_array(self, *values: jsii.Number) -> typing.List[jsii.Number]: + ''' + :param values: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__43f32dfb73f1a7fe9c86c00bbc381391db4812c13b5b72363ddcfcd57638c368) ++ check_type(argname="argument values", value=values, expected_type=typing.Tuple[type_hints["values"], ...]) # pyright: ignore [reportGeneralTypeIssues] + return typing.cast(typing.List[jsii.Number], jsii.invoke(self, "asArray", [*values])) + + + class VariadicMethod(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.VariadicMethod"): + def __init__(self, *prefix: jsii.Number) -> None: + ''' + :param prefix: a prefix that will be use for all values returned by \`\`#asArray\`\`. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__a33769c23320f9f6bce3e3a70c594135cf44ca5c9c6d1de1cae8cc62a99d49e9) ++ check_type(argname="argument prefix", value=prefix, expected_type=typing.Tuple[type_hints["prefix"], ...]) # pyright: ignore [reportGeneralTypeIssues] + jsii.create(self.__class__, self, [*prefix]) + + @jsii.member(jsii_name="asArray") + def as_array( + self, +@@ -7690,10 +8386,14 @@ + ) -> typing.List[jsii.Number]: + ''' + :param first: the first element of the array to be returned (after the \`\`prefix\`\` provided at construction time). + :param others: other elements to be included in the array. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__1c18f2c7d91dcdc13843ff1637ed95a1f1c1ed99384d6276ee493b0ca579b4a4) ++ check_type(argname="argument first", value=first, expected_type=type_hints["first"]) ++ check_type(argname="argument others", value=others, expected_type=typing.Tuple[type_hints["others"], ...]) # pyright: ignore [reportGeneralTypeIssues] + return typing.cast(typing.List[jsii.Number], jsii.invoke(self, "asArray", [first, *others])) + + + class VariadicTypeUnion( + metaclass=jsii.JSIIMeta, +@@ -7701,19 +8401,25 @@ + ): + def __init__(self, *union: typing.Union[StructA, StructB]) -> None: + ''' + :param union: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__f18ff2aa5c744d99cc2b37e705d6ed44823660f714c20539c148c9e34e123752) ++ check_type(argname="argument union", value=union, expected_type=typing.Tuple[type_hints["union"], ...]) # pyright: ignore [reportGeneralTypeIssues] + jsii.create(self.__class__, self, [*union]) + + @builtins.property + @jsii.member(jsii_name="union") + def union(self) -> typing.List[typing.Union[StructA, StructB]]: + return typing.cast(typing.List[typing.Union[StructA, StructB]], jsii.get(self, "union")) + + @union.setter + def union(self, value: typing.List[typing.Union[StructA, StructB]]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__01944feab2feb5a9fdf3d356f62de139685f520d3bb3a38ddc5c42d0b03963fe) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "union", value) + + + class VirtualMethodPlayground( + metaclass=jsii.JSIIMeta, +@@ -7725,38 +8431,53 @@ + @jsii.member(jsii_name="overrideMeAsync") + def override_me_async(self, index: jsii.Number) -> jsii.Number: + ''' + :param index: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5efa2ef42e261d5c38c59d5e216e587cb3005bbbb5b4a62e926087ee58478a36) ++ check_type(argname="argument index", value=index, expected_type=type_hints["index"]) + return typing.cast(jsii.Number, jsii.ainvoke(self, "overrideMeAsync", [index])) + + @jsii.member(jsii_name="overrideMeSync") + def override_me_sync(self, index: jsii.Number) -> jsii.Number: + ''' + :param index: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__ca8f2360b0292d0b5329ac52818673aece7fb01cf2f09567e60ff65b7728c9cc) ++ check_type(argname="argument index", value=index, expected_type=type_hints["index"]) + return typing.cast(jsii.Number, jsii.invoke(self, "overrideMeSync", [index])) + + @jsii.member(jsii_name="parallelSumAsync") + def parallel_sum_async(self, count: jsii.Number) -> jsii.Number: + ''' + :param count: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5bc99fd66b59152ee7799cf716c91bec428d7091eb33ece69057f9ca9b9fdb19) ++ check_type(argname="argument count", value=count, expected_type=type_hints["count"]) + return typing.cast(jsii.Number, jsii.ainvoke(self, "parallelSumAsync", [count])) + + @jsii.member(jsii_name="serialSumAsync") + def serial_sum_async(self, count: jsii.Number) -> jsii.Number: + ''' + :param count: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__58451fb4813d1aa8877a55de41f1ef8bd30300048337edb2bcf16985abbb6f45) ++ check_type(argname="argument count", value=count, expected_type=type_hints["count"]) + return typing.cast(jsii.Number, jsii.ainvoke(self, "serialSumAsync", [count])) + + @jsii.member(jsii_name="sumSync") + def sum_sync(self, count: jsii.Number) -> jsii.Number: + ''' + :param count: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__7ac4c09636b11fefb0a54fbd52b88fc2b4c5c356eb07189a0d2545601f3bef9c) ++ check_type(argname="argument count", value=count, expected_type=type_hints["count"]) + return typing.cast(jsii.Number, jsii.invoke(self, "sumSync", [count])) + + + class VoidCallback( + metaclass=jsii.JSIIAbstractClass, +@@ -7818,10 +8539,13 @@ + ''' + return typing.cast(typing.Optional[builtins.str], jsii.get(self, "dontReadMe")) + + @dont_read_me.setter + def dont_read_me(self, value: typing.Optional[builtins.str]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__54f5b2f0a61a7f2fafae719635a1408f7ff0a8f8a503e559bf0d6bc99772471f) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "dontReadMe", value) + + + class WithPrivatePropertyInConstructor( + metaclass=jsii.JSIIMeta, +@@ -7831,10 +8555,13 @@ + + def __init__(self, private_field: typing.Optional[builtins.str] = None) -> None: + ''' + :param private_field: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__01fcbc911a24b1fa352275e1273526114db562d2c278b742181eba6e8cb11ad4) ++ check_type(argname="argument private_field", value=private_field, expected_type=type_hints["private_field"]) + jsii.create(self.__class__, self, [private_field]) + + @builtins.property + @jsii.member(jsii_name="success") + def success(self) -> builtins.bool: +@@ -7875,10 +8602,13 @@ + @jsii.member(jsii_name="abstractMethod") + def abstract_method(self, name: builtins.str) -> builtins.str: + ''' + :param name: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__af1f574dee5c4eb581961518ccf32b4060094ed2f9b7e60bece1ed48e3fc45a1) ++ check_type(argname="argument name", value=name, expected_type=type_hints["name"]) + return typing.cast(builtins.str, jsii.invoke(self, "abstractMethod", [name])) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class + typing.cast(typing.Any, AbstractClass).__jsii_proxy_class__ = lambda : _AbstractClassProxy + +@@ -7894,10 +8624,14 @@ + '''Creates a BinaryOperation. + + :param lhs: Left-hand side operand. + :param rhs: Right-hand side operand. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__c0e59e6ea7e78215051bf4fe6b69de179aefb4116a344decdfaab4b6b15189b8) ++ check_type(argname="argument lhs", value=lhs, expected_type=type_hints["lhs"]) ++ check_type(argname="argument rhs", value=rhs, expected_type=type_hints["rhs"]) + jsii.create(self.__class__, self, [lhs, rhs]) + + @jsii.member(jsii_name="toString") + def to_string(self) -> builtins.str: + '''String representation of the value.''' +@@ -7941,10 +8675,13 @@ + def rung(self) -> builtins.bool: + return typing.cast(builtins.bool, jsii.get(self, "rung")) + + @rung.setter + def rung(self, value: builtins.bool) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__fa23831ecd0b539d7689616a0557240dc1a45f924fafe58c0d5f0ac464eecf94) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "rung", value) + + + @jsii.data_type( + jsii_type="jsii-calc.ChildStruct982", +@@ -7955,10 +8692,14 @@ + def __init__(self, *, foo: builtins.str, bar: jsii.Number) -> None: + ''' + :param foo: + :param bar: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__84a0b7e93c52a4977e9726c1186b64f57ff35c59c5bc0e7250da1d3236e70208) ++ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) ++ check_type(argname="argument bar", value=bar, expected_type=type_hints["bar"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "foo": foo, + "bar": bar, + } + +@@ -7999,37 +8740,49 @@ + def a(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "a")) + + @a.setter + def a(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__720d53a768711730e792d129fcff6272627608d1d3942f42e3010e61a3463b31) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "a", value) + + @builtins.property + @jsii.member(jsii_name="b") + def b(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "b")) + + @b.setter + def b(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5236e267a6763b672404dac13a3d5e50c03eb03d35fe2c18cbe7f649933301f1) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "b", value) + + @builtins.property + @jsii.member(jsii_name="c") + def c(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "c")) + + @c.setter + def c(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__1bd3b16d1aaf127e7610a230095bced32c4c3ef1cadc73f6b24c76b3ebffdd8e) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "c", value) + + @builtins.property + @jsii.member(jsii_name="d") + def d(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "d")) + + @d.setter + def d(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__4e685d8185af60a2f5c9bcffe812224568fe893228304e510b4d989f92c19b90) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "d", value) + + + @jsii.implements(INonInternalInterface) + class ClassThatImplementsThePrivateInterface( +@@ -8044,37 +8797,49 @@ + def a(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "a")) + + @a.setter + def a(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__6499a25aa5ac6723e26c4c716dd2d62a1f9ecd75ae2a476d3213fa5fe8792a1d) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "a", value) + + @builtins.property + @jsii.member(jsii_name="b") + def b(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "b")) + + @b.setter + def b(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5da75e226d085b0daac7742a86525ea697c77a044896ce80d48677f5fadb2d57) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "b", value) + + @builtins.property + @jsii.member(jsii_name="c") + def c(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "c")) + + @c.setter + def c(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__538f9410afd2d028ca599a233896016121b326bd90d69693e949aff75d72caf3) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "c", value) + + @builtins.property + @jsii.member(jsii_name="e") + def e(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "e")) + + @e.setter + def e(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__ba8bf3471001981f03d1ad5b84a1b0a4a4d7d556c72734d25d96637a60ad2477) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "e", value) + + + @jsii.implements(IInterfaceWithProperties) + class ClassWithPrivateConstructorAndAutomaticProperties( +@@ -8092,10 +8857,14 @@ + ) -> "ClassWithPrivateConstructorAndAutomaticProperties": + ''' + :param read_only_string: - + :param read_write_string: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__71399b17d07223b2b83f0d7b33d5172c49eb3d0cf3fe38d6059d4c9b7f471113) ++ check_type(argname="argument read_only_string", value=read_only_string, expected_type=type_hints["read_only_string"]) ++ check_type(argname="argument read_write_string", value=read_write_string, expected_type=type_hints["read_write_string"]) + return typing.cast("ClassWithPrivateConstructorAndAutomaticProperties", jsii.sinvoke(cls, "create", [read_only_string, read_write_string])) + + @builtins.property + @jsii.member(jsii_name="readOnlyString") + def read_only_string(self) -> builtins.str: +@@ -8106,10 +8875,13 @@ + def read_write_string(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "readWriteString")) + + @read_write_string.setter + def read_write_string(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__e308499c7b9268c91ee3dc9e4a9c975efdfaa0cd72bd877383c6c64e8f2768d0) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "readWriteString", value) + + + @jsii.implements(IIndirectlyImplemented) + class FullCombo(BaseClass, metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.FullCombo"): +@@ -8224,10 +8996,13 @@ + ): + def __init__(self, property: builtins.str) -> None: + ''' + :param property: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__148cd823b5de47723c8a76d0553f3ff6c880ba8ecec14b9a86bd89025a18f4d3) ++ check_type(argname="argument property", value=property, expected_type=type_hints["property"]) + jsii.create(self.__class__, self, [property]) + + @jsii.member(jsii_name="bar") + def bar(self) -> None: + return typing.cast(None, jsii.invoke(self, "bar", [])) +@@ -8248,10 +9023,13 @@ + + def __init__(self, operand: _scope_jsii_calc_lib_c61f082f.NumericValue) -> None: + ''' + :param operand: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__e7aa949631662ae6f6ab2804e4a231fa264a1c879d86efa8267e53158c50e647) ++ check_type(argname="argument operand", value=operand, expected_type=type_hints["operand"]) + jsii.create(self.__class__, self, [operand]) + + @jsii.member(jsii_name="farewell") + def farewell(self) -> builtins.str: + '''Say farewell.''' +@@ -8311,10 +9089,16 @@ + :param id: some identifier. + :param default_bar: the default value of \`\`bar\`\`. + :param props: some props once can provide. + :param rest: a variadic continuation. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__2f90423a63bd0fc04016022e622b4bf01d35f365e38b15153d0a4d6fa014ee5b) ++ check_type(argname="argument id", value=id, expected_type=type_hints["id"]) ++ check_type(argname="argument default_bar", value=default_bar, expected_type=type_hints["default_bar"]) ++ check_type(argname="argument props", value=props, expected_type=type_hints["props"]) ++ check_type(argname="argument rest", value=rest, expected_type=typing.Tuple[type_hints["rest"], ...]) # pyright: ignore [reportGeneralTypeIssues] + jsii.create(self.__class__, self, [id, default_bar, props, *rest]) + + @builtins.property + @jsii.member(jsii_name="id") + def id(self) -> jsii.Number: +@@ -8613,5 +9397,1544 @@ + from . import nodirect + from . import onlystatic + from . import python_self + from . import submodule + from . import union ++ ++def _typecheckingstub__8348af6419fc01178f78ba59cea59d0c7437626169866d772f4e957d09e6e13a( ++ seed: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__06c06b97e36be962012901c4c1f542b3f51b377154f91bf1154d1bd475221829( ++ str: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__0f076015f51de68c2d0e6902c0d199c9058ad0bff9c11f58b2aae99578ece6ae( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__81a2d86a9598fa10dde4af8bd70d369967edc6febb332dc788702f6aea07f33c( ++ inp: typing.Any, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__56056c33132184bd4ad46f69c534777112c49b9a987cc7b962d4026cf550998c( ++ value: StringEnum, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__1ab9ae75c746f751d2bf2ac254bcd1bee8eae7281ec936e222c9f29765fdcfa4( ++ value: typing.List[typing.Any], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__f88e356a91a703923e622c02850435cc7f632a66f49ca79f00d42590d2928a5e( ++ value: typing.Mapping[builtins.str, typing.Any], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__d81f1a89ccd850ccdb0b96a43000dfcde30f3542bf797051c754610d641f2316( ++ value: typing.Any, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__0c663902e9a8a1db9aff59eb8642a68c944dc2e3385744098d2b51ecf2e2e11f( ++ value: typing.List[builtins.str], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__106a83d3c77dbb6dbc6fcd706bca888d57ec37cd4beedf7dcc9d7d4428f44845( ++ value: builtins.bool, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5e62ea2f9629943c1138cad77629f47906644279c178b9436e4303e5a5f74c8a( ++ value: datetime.datetime, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__f0d83d5dde352e12690bd34359b2272194b20ad0d4585d4cd235a62a68413cc7( ++ value: AllTypesEnum, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__8cddc5c03b0b87366a7bf274aedf92ced502b23fe811780c7f8c3da532cba3fc( ++ value: typing.Mapping[typing.Any, typing.Any], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__ce34799b1443789feb28cffe434f5bcbb9cb940065992aa75dbb30eb89cd78e6( ++ value: typing.Mapping[builtins.str, _scope_jsii_calc_lib_c61f082f.Number], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c8fb4d044e2e7432d7e661aafdb286ebf21dfe5a82b9908dee57945f6892a63e( ++ value: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__4e3dc199e54a9fbd40ceb20cecf887aa2aeca670e9ba223707466d9670eec9b9( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__4a9e87035008a2c1b649b911c8cfc02f2723230d8ced957948b2948c76caf61a( ++ value: typing.List[typing.Union[jsii.Number, _scope_jsii_calc_lib_c61f082f.NumericValue]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__62ebee42e1871545bc2e82cfb9c7fe43b5a607c8f662caff89dda0f0ed99a3df( ++ value: typing.Mapping[builtins.str, typing.Union[builtins.str, jsii.Number, _scope_jsii_calc_lib_c61f082f.Number]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c9be2756a18e8a40eb03cf55231201574f76abf02996a73d0d75fefd1393473d( ++ value: typing.Union[builtins.str, jsii.Number, _scope_jsii_calc_lib_c61f082f.Number, Multiply], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__e49729a44c21aef8c75584ff0991ddba3ee45184cacf816eb1a6a13b99e99ecc( ++ value: typing.List[typing.Any], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__f8de6b30de9bfa884f9de02e2abe57e9394fb7a387b5691f858b7b98817b1db7( ++ value: typing.Mapping[builtins.str, typing.Any], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__901c3574a81e006fdf36f73e34f66b34f65ada4bddcb11cd15a51d6e3d9b59e4( ++ value: typing.Any, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__705bed55c0dbc20a3a1bad9a21931270f0c285e5b3b276e13bca645ffa7ccb0f( ++ value: typing.Optional[StringEnum], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__99730dd857f01c8e93755d3e4f1e04f44efd2e63487e37db32f0fae8d36c618e( ++ _p1: builtins.str, ++ _p2: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__7f25304a2274ca1691dbe05a223f32126250948b15187c5095780e5c9af08c2a( ++ with_param: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__12f6979e6d88948e4aebfe8c25ed814c21d19b4b549d6bc2db4620794e706238( ++ _x: builtins.str, ++ _y: jsii.Number, ++ _z: builtins.bool, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__ca978ab380897c8607252c370202d45bc72e8b5cdc52549bb53b870299333d52( ++ _x: builtins.str, ++ _y: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__35fb7428c2ad70583f7b280c07cec184905b51e8e896efe6cc88eaf83a6f65c3( ++ scope_: Bell, ++ *, ++ scope: builtins.str, ++ props: typing.Optional[builtins.bool] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__2e74ece926d1cff82c3a42c02b35b0b5b4427369dfc17caf49b658e36503a986( ++ obj: typing.Any, ++ prop_a: builtins.str, ++ prop_b: builtins.str, ++ result_prop: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__49537950cbbeb6e2c62cb1b8a079cc9bb5cc6d06d95cf2229128539d2be886a3( ++ mult: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__408890be1949f7684db536e79081b85d00d72250ca9eb19c74db6ad226564784( ++ lhs: _scope_jsii_calc_lib_c61f082f.NumericValue, ++ rhs: _scope_jsii_calc_lib_c61f082f.NumericValue, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__67894f861ef38d2769b440d2fe71f549cb9e333247b385c5d6ae862b2eb04fc5( ++ value: typing.Any, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__106b87a3d0b194bda7cee057654f752c82d9a92a3775bcc3b2dc5cf7814ba84d( ++ value: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__b0e9a9c8546dd024e1568b2e6d11bd847e53548d624f33afffdffacc77fe01ef( ++ value: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c62707f1a80d6bc26c0b74205f8892c1777e6ed97359263df05628018d8ef6fc( ++ value: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c74abb191c66f86aed2c139ec3e50b0442b6d3bdcd41beb06db17c9b3c5d93d0( ++ value: _scope_jsii_calc_lib_c61f082f.NumericValue, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__1af5d9bb897bd9bfc2029e92d33fc306fc090e2d0a9bc0bd70fb01762e798fe6( ++ value: typing.Optional[jsii.Number], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__349b2a1dce95cb7ff4c5a7772d81772697767c5f4e7e5fd709847ff5e526c3c1( ++ value: typing.Optional[typing.Union[Add, Multiply, Power]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__21033948ed66f89716ed818c4cf9e5a38a9252e042231e1e8e1672356d403bef( ++ *, ++ initial_value: typing.Optional[jsii.Number] = None, ++ maximum_value: typing.Optional[jsii.Number] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__9e749834c2e46eee6370de7b60daabbff6e5c16febe9775b98a2b961b0d4e335( ++ union_property: typing.Sequence[typing.Mapping[builtins.str, typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]]]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__80b80f78c4ac7fda46ac2aec7ab826a87bef3eaaba64661c90f346972800baf5( ++ value: typing.List[typing.Mapping[builtins.str, typing.Union[StructA, StructB]]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__7eb49cfb1282d7f1bd28096ff0407c0806693194f02f5c053936f99756a2a8fd( ++ map: typing.Mapping[builtins.str, builtins.str], ++ array: typing.Sequence[builtins.str], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__964903eb68623806c91fc9026cacfdc726cfbb287698530724c5a9938a7bb2ca( ++ value: typing.List[builtins.str], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__8dd7203701e4915203e4778820ee40fe6bdd6f0bb2855c200f375606277e06c8( ++ value: typing.Mapping[builtins.str, builtins.str], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c0c76fec28076841e36c26581c26385de1e984d96e91ea434a61c4bf36c9b4d9( ++ value: typing.List[builtins.str], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5461a3c7bb81040765e4ca2e9effb12cc7f5fb018e5e1b8b21501a3f9cd6a8b3( ++ value: typing.Mapping[builtins.str, builtins.str], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__11d94174b1d488125abef65967a384ceb599f4948eca6cb9be3d55e1979fb64f( ++ array: typing.Sequence[typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], ++ record: typing.Mapping[builtins.str, typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], ++ obj: typing.Mapping[builtins.str, typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], ++ *, ++ array_prop: typing.Sequence[typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], ++ obj_prop: typing.Mapping[builtins.str, typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], ++ record_prop: typing.Mapping[builtins.str, typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c017a39e0da5d21f3a9acbfd00f6a5c84eb4cad306148504e7c835359d35537e( ++ int: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__7a756cab89b47a2ae4c08f36162482b60fdf963b8ba638917a63c5e110b4d33e( ++ assert_: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__3afbef7e05ef43a18b9260b86660c09b15be66fabeae128c9a9f99b729da7143( ++ value: IMutableObjectLiteral, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__0b8f0f729686dad01c8555a3b1bc47509e495bd18f1560ef045b558884b2a1fb( ++ union_property: typing.Sequence[typing.Union[typing.Mapping[builtins.str, typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]]], typing.Sequence[typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]]]]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__a8a15eb37393d5188c71779e29278367f7b3600c6dd48bdbcd502cdf510c3c15( ++ value: typing.List[typing.Union[typing.Mapping[builtins.str, typing.Union[StructA, StructB]], typing.List[typing.Union[StructA, StructB]]]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__ec229cc92e04670f4dca9546759b3b39ee813eb1aa18057135bb155d08971e6a( ++ value: typing.Optional[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, typing.List[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, AbstractClass]]]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__481b1113b85e6dc9d7ba31c3ef5654e3550abac1edef9204348ab0f9554f61c1( ++ *, ++ union_property: typing.Optional[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, typing.Sequence[typing.Union[_scope_jsii_calc_lib_c61f082f.IFriendly, AbstractClass]]]] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5676fcb3395f1db1a013537fa52220553e5e418c2a9d97aa2f9541c00ffe259e( ++ consumer: PartiallyInitializedThisConsumer, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5c5defc6d683ee91707f8b7770d8d2fb11d381b9c928d7e5d6e2c5c495395f38( ++ delegate: IStructReturningDelegate, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__1df814299f3f9720be108d84bdfd61bc591699a79a3c8ac6d450bfb0a9610278( ++ ringer: IBellRinger, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__2f08bd2d56e856071db5f777b63fe2577f9e96dbfcd91e4044d0eda2d26f9017( ++ ringer: IBellRinger, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__4a2b7f0a05298ddaec112cb088cc71cfa2856aaa1d8414a5157d581b6d5a7293( ++ ringer: IBellRinger, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__f751da3f5766ea4973eb2d89086565259f0a3cd626425a7eec723afd7b64f392( ++ ringer: IConcreteBellRinger, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__cca04fe4a4c41a0034087ab0c574d1d2f1d0427d87a806fc660446b6a7e5290a( ++ ringer: IBellRinger, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__7bde53b867de290d21a419baa46b8e833a0d394835a1ce2be3b429179b2ddce5( ++ ringer: IBellRinger, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__988e53d92b16fb4b7224c654f985a074cbfa7dd5f567df005b41522641ad92ac( ++ ringer: IBellRinger, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__1d786308546ae61deacb465c6f501fe7e0be028973494548b57e0480759ed460( ++ ringer: IConcreteBellRinger, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__83037a3f429b90a38d2d9532a347144030578d83f68817b1a5677ebcd1b38e12( ++ obj: IAnotherPublicInterface, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__139bf4e63e56bef32e364c5972e055de5cba153d49cc821740fba1d51f73ef70( ++ obj: INonInternalInterface, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__2be181b08e5a2c0e1e3f3a84732a423af31039117701d35431ee251d343ca9d5( ++ *, ++ array_prop: typing.Sequence[typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], ++ obj_prop: typing.Mapping[builtins.str, typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], ++ record_prop: typing.Mapping[builtins.str, typing.Union[DummyObj, typing.Dict[builtins.str, typing.Any]]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__dd941dcba8415b4b4dbb95bc3f55ac3404bdaf303822dfc7093fb615dc66b2cf( ++ data: typing.Mapping[builtins.str, typing.Any], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__9008dfc97234c0f2895caaa88d20a94de081c3cd97c38f9a012f13cdae75fbd6( ++ map: typing.Mapping[builtins.str, typing.Any], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__019e6ec86ae7ee325dc404a7025eaf0edcb164e166535a831bccf6658adfbb10( ++ arg1: typing.Optional[jsii.Number] = None, ++ arg2: typing.Optional[builtins.str] = None, ++ arg3: typing.Optional[datetime.datetime] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__f64945b01dd806fcd872f369983e1fa6b3db8811cb0682ac6adf88aebb0aabda( ++ readonly_string: builtins.str, ++ mutable_number: typing.Optional[jsii.Number] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__3aef3220b38be7daf4208453b1766d9eafb6a74bd51dfb351d21235a205afa34( ++ value: typing.Optional[jsii.Number], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__cdee1d6893b4921a8d7cf0a9c957a543b69f7a98eb3cedd7ece84871fc81c767( ++ *, ++ readonly_property: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c544311353634d5a2f08144f0c184afbcb700d8304b9f49deae99f19e1e7b0af( ++ *, ++ anumber: jsii.Number, ++ astring: builtins.str, ++ first_optional: typing.Optional[typing.Sequence[builtins.str]] = None, ++ another_required: datetime.datetime, ++ bool: builtins.bool, ++ non_primitive: DoubleTrouble, ++ another_optional: typing.Optional[typing.Mapping[builtins.str, _scope_jsii_calc_lib_c61f082f.NumericValue]] = None, ++ optional_any: typing.Any = None, ++ optional_array: typing.Optional[typing.Sequence[builtins.str]] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__865cdfdd094ca753189170221ee7d6a0e59c2c0bcfdeff3dc37bb87dd39515ca( ++ *, ++ hoisted_top: typing.Optional[builtins.str] = None, ++ left: typing.Optional[jsii.Number] = None, ++ right: typing.Optional[builtins.bool] = None, ++ bottom: typing.Optional[datetime.datetime] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__cfa52ba952c3d4a7e6df7fba3f619bf3ac14c52e829cce862a5fa495e45d0e70( ++ *, ++ base_level_property: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__354311bd3d60d2b3b4ea927d6a96bdf66aa6d1109c29bfcd96266051c7c30a5e( ++ *, ++ base_level_property: builtins.str, ++ first_mid_level_property: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__8074c5f38699399b9e6f8708c125bef5d7c89118c36ffcce8582d66cac2197da( ++ *, ++ base_level_property: builtins.str, ++ second_mid_level_property: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__9384691e88dd3ab7e55516762b2076445d94bd6d9348db1b93f79de9f4ae0ea1( ++ *, ++ base_level_property: builtins.str, ++ first_mid_level_property: builtins.str, ++ second_mid_level_property: builtins.str, ++ top_level_property: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5ae2124576c295a0c88fc75be0e57258f0f72e63c733e7493367b8558266510e( ++ new_value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__8ffaadb351f5c2c48a7368068d5c88e0c7836deefe0e13aa9fe53ac104052fd5( ++ _required_any: typing.Any, ++ _optional_any: typing.Any = None, ++ _optional_string: typing.Optional[builtins.str] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5af7b38b9b5c170ebd3e05c215e05f10e6843b03868850dad87a5a149b90e790( ++ optional: typing.Optional[builtins.str] = None, ++ *things: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__feb33b34fd05e771c7e47c132104c701042acfdf4eb6753873c4463e01f3cd9c( ++ *, ++ dont_set_me: typing.Optional[builtins.str] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__ae5d543014149876cec8b005abbb94c112981cccaf318870c7fe4e8353c2c675( ++ *, ++ example: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c0d457497f870b36d210f01af9890c6624684d1e53da833858e801c18baf9fbb( ++ value_store: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__4f40c12fae2ef2673f3f324c0c452f65c187c1b3e6552b86768465a2d20de051( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__9106fb2a86e944ce0c61537852ab2d310a8a53448c6946af051de0325a67fa1a( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__ad557fbd0532aa4220227645f5aae3e73ebae6b529cfe074430abf30d18cd5e9( ++ original_value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__a4026611d197b83d9a37b973ba97c69254e674921a7d89d0eb57ac41a19b636e( ++ new_value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__2a7f203302b2610301f1b36f34453db0f5572f2e02b0bc4c9933fd670e594222( ++ clock: IWallClock, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__a90d161fb7d47a195a192cf987ac6968fc2c6fbe27005bdd7684478a3d956e66( ++ word: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__b87cc89f87e9b1c180227625f3aba9395da5a8b258a88e605d466edb9004d709( ++ opts: typing.Union[EraseUndefinedHashValuesOptions, typing.Dict[builtins.str, typing.Any]], ++ key: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__d34e4f5dab670ec3ea298ec2cda50be32700f7f52dcef6a618ca9cb3706062ee( ++ *, ++ option1: typing.Optional[builtins.str] = None, ++ option2: typing.Optional[builtins.str] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__6a92c7223d00e7a0a2f0611cbb689671885b835bb26eedc8eb4a4d12e4ed5021( ++ readonly_string: builtins.str, ++ mutable_number: typing.Optional[jsii.Number] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__52559292c6e04ad49e53e443b1a4c56149833b8f12876d779bb8860fcb231b41( ++ value: typing.Optional[jsii.Number], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__b0c8f4c6eca5af7072a4a7c737950b39e75c61a56c505deb94edc5cd0995ed7d( ++ *, ++ readonly_property: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__dad018fa707514e8023df185b5e6e0a4b611bec563fe57abd9b81939b8833ebb( ++ success: builtins.bool, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__861a5ec03219f6c9fecd1b039faa2e53075227ff0d28f8eb66929909bc0c3096( ++ *, ++ boom: builtins.bool, ++ prop: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__82149b1f61aca58419f6ba4c74c8bb1c5c241433707e64ea4626937b294d8fe5( ++ readonly_string: builtins.str, ++ mutable_number: typing.Optional[jsii.Number] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__8380ec30b1f8773df7b5b27be8811be79b04f1d17c8eca83f83927eb56cdfd34( ++ value: typing.Optional[jsii.Number], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__8e8843a5fc914ec2c1e3baccdad526ea4d48eee37296f6812f3c0673ef86794f( ++ *, ++ readonly_property: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__3dce87825e36304d54521ce5524aa7e230fa5d505b0abbc79101fd9014f2cbd9( ++ *, ++ name: typing.Optional[builtins.str] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__d17f0544be961cba6cabfbb40f28c196963de107fcaef9c56d8227bdcb359431( ++ friendly: _scope_jsii_calc_lib_c61f082f.IFriendly, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__3eabfcad9a21b26024f4c1480ca127a3d6c6888067f0ae991d5922a49bfe81d4( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__d127476ce3b6e59ff9f375f547c1b6e1826d7a3969612c0605ebd0017d2b985d( ++ bell: IBell, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__2c34aaac5945bdc61c4f56492dee5608e1852940835d94d3e991fed377db66f2( ++ bell: Bell, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__e4d76200a6c5bdbdd51f208229da8bfd8f6f4c967af28e1e733579780e9d4a0e( ++ value: typing.Optional[jsii.Number], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__6e68d313f3254be7145220b211c66f45749aa8efc15aaf93d96330eb3cb7c6c7( ++ value: typing.Optional[jsii.Number], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__8199a83e86f8a4cf29ddc53d2b2151c37c7fa10d29562b454127376d1867d6da( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__a904d745cb9f037de717ed7a2b1d3a207493564662fdbe1d7c63e60a24f9bace( ++ value: typing.Optional[jsii.Number], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5568c72c746dd5221cb6fb7b741ed7a3346c346d7a30863c5abe3d99ada53098( ++ arg1: builtins.str, ++ arg2: typing.Optional[jsii.Number] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__858de6e8785f18ad264a158ca83a0fc1e0a6299efa9f77a0b31eaaffaa5b086c( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c571c6749392bc04e123a99b926edaf10b88be6b6d6b6a3937cae9893af5119e( ++ value: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__e0395944061fad9d5156b633dc20682ff9759ae0acb88df574b159f4919ab3a5( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__9d1e4198ba3f4e6b6a6f4ce0a4a185223ec216368c0c3304c69b029aba13ca49( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__6774e195ab25dab5790e1d187eb30be56997804d5186753a9928f2575f81977b( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__831f664cd567fd4e707fd175e9c9e13519f3ca587b792d7d5bc79f427589a802( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__254a58386276f7b7d5a41dddd674375b8942c2cad4deb6c2d24b55d240d14350( ++ value: typing.Optional[jsii.Number], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__10bb8b026d6c8368d479cf0da8b27c049c5f9088f173a63624e515dd36607439( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__2df4d055b033cdfdf7ad915b451ddc787ad68fb64b7e02386a9d8e591c1657af( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__b70592e4d080897239bf5f8b0de5b6b464cd9e888e39fca1082c04b5cbeca890( ++ *, ++ foo: _scope_jsii_calc_base_of_base_49fa37fe.Very, ++ bar: builtins.str, ++ goo: datetime.datetime, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__1d6e348a61ed27bfc8b7928365798b43e0130ca2b720c1105baca04fa093d194( ++ count: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__30ce308abdc1d2462c00bf7a4acc194ec05d61ddee24b2e79c674aa7034e5ffa( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__eef7c487e6f0c4d81dd633cf70121104ff8f3458fa52a418df64bcab9fe4bd3e( ++ value: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__a7654af9a241e67ad498c3eb33b98e6cdb1558487bb9b02dcce41f75334b76ad( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__43f45c49ecee3d08351b82aa5cdc3548d9dafa534cd2d99da8b5c5c9188e9a54( ++ value: typing.Any = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__ef705a05998260349d35c748c557e65cf539d53e136eb9191250080bdce852c3( ++ *, ++ value: builtins.bool, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__2a9e65060bf85c3d49b79ada1f9394ae146c380a4212c190065e031098d570b8( ++ *, ++ prop: typing.Union[LevelOne.PropBooleanValue, typing.Dict[builtins.str, typing.Any]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__479be5d5625f656c28cf12ffdc2cef9d6d74aae555551630f440fcb05351d261( ++ *, ++ prop: typing.Union[LevelOne.PropProperty, typing.Dict[builtins.str, typing.Any]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__b3d89a25beb0ebd10c196d941aa924197ae9a2def08f1f414c190a2a6d943d9c( ++ *, ++ container_port: typing.Optional[jsii.Number] = None, ++ cpu: typing.Optional[builtins.str] = None, ++ memory_mib: typing.Optional[builtins.str] = None, ++ public_load_balancer: typing.Optional[builtins.bool] = None, ++ public_tasks: typing.Optional[builtins.bool] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__7e73465ea858e34d4df8697d34f29a53ca3c3a41c47946382e5d49f498e3747d( ++ lhs: _scope_jsii_calc_lib_c61f082f.NumericValue, ++ rhs: _scope_jsii_calc_lib_c61f082f.NumericValue, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__04dae031a5097183ccda93eb91ec51a8a6fa1133134a6a398f1f05c581bc0091( ++ *, ++ number_prop: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__218107d38285901ff40e08163f0de0bac5d835bd64c21c0a735e8d72399ebe35( ++ _param1: builtins.str, ++ optional: typing.Any = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__a109cd8429db09172895a3eb04ca7e9d5c92129c7ca7a50f85fa89b6f6ab366b( ++ value: typing.Any = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__7102c29a709c4297fb88615c74a3e42a584364ac4ccba5c1db42a65e05184d1b( ++ value: typing.Optional[builtins.str], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__ae8d47cabe4d36f88c891d250d7e792432b0d153223789ec3687e714ba92a5f3( ++ *, ++ array_with_three_elements_and_undefined_as_second_argument: typing.Sequence[typing.Any], ++ this_should_be_undefined: typing.Any = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__3c1812783ba0b3b2146a3dd9609a6e12af404502ff5fbb9b9a9be49bf576122b( ++ generator: IRandomNumberGenerator, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__151b90e9765ce9a05ae13e568f4ba7c9e36e34c1cd991c5c1ee0249869fd4cce( ++ gen: IRandomNumberGenerator, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__0f5a1cc548d3db6e156cec5671bc04b980132e529c77f3bb5aaa58427db35e7c( ++ value: IRandomNumberGenerator, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__f5cb9f9511b0248cd4c0c4bec4eed9e75e7690012237fdb1b39b3f7b3bb0392e( ++ values: typing.Sequence[_scope_jsii_calc_lib_c61f082f.NumericValue], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__ca5199647728e53a1ec89d4fd7dad9aeb7239f8c1213c51b4e2eda734daa4cf4( ++ values: typing.Mapping[builtins.str, _scope_jsii_calc_lib_c61f082f.NumericValue], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__da93d15e57e6e2a1857cd7df156fb2a55ec91715c97323f20268def40f72137c( ++ delegate: IInterfaceWithOptionalMethodArguments, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5f6c5e5b55379123a8bd2bc457d9a5e9a0d34dd512b2bd2f59c6a5bec2a95f14( ++ arg1: jsii.Number, ++ arg2: builtins.str, ++ arg3: typing.Optional[datetime.datetime] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__26ecd0d4ea200acf388a8b91f17bfd3c09b6c7f8e0a84228b89c27ace672d0b1( ++ *, ++ field: typing.Optional[builtins.str] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__72ca8c3c148afe2b76dc14b63b8e2baf0bbf28802add3f88490cb5d3792825fb( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__ca8d417ddf787890441d6903718eebaf7fde3508b3466202724fdac3a17ba79b( ++ obj: IReturnsNumber, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__32a51b5d61d5ca58d33e8f6b9d9e1c4f16b39bf431a669250d4c290de0bbf46f( ++ builtins: builtins.str, ++ str: builtins.str, ++ *, ++ boolean_property: builtins.bool, ++ string_property: builtins.str, ++ struct_property: typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c93d69c5c8307eec2d1c6e8d5f9892234fbdd24bb5cce3f5ea1e210276bc58c1( ++ *, ++ boolean_property: builtins.bool, ++ string_property: builtins.str, ++ struct_property: typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__ae63c91319764cabd02536ac5b03026eb3f4071497b2a04adf93ca02985507ae( ++ scope: _scope_jsii_calc_lib_c61f082f.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__f6db465208dd616dc4f171643676a159b21fe5963ec9a3d1fd752e5cb291868d( ++ *, ++ foo: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__85c3ad65f24d8d5af99d7777a0379b793f45ac0e0e39714f279b8f2d58dbcfdb( ++ obj: ConstructorPassesThisOut, ++ dt: datetime.datetime, ++ ev: AllTypesEnum, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__edbbf85a7c4217635da7418d28aa61c4e11f7a0c1e9c960528ed4e7bee1ad541( ++ friendly: _scope_jsii_calc_lib_c61f082f.IFriendly, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__df4f41b4c003b9ba61f07f4d41a4059f167ea41c03ea29933966d2caeb831d8c( ++ base: _scope_jsii_calc_lib_c61f082f.NumericValue, ++ pow: _scope_jsii_calc_lib_c61f082f.NumericValue, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__235768085718ab33214221cff3145bb2a82c28916350f273995760a428a1aba3( ++ value: _scope_jsii_calc_lib_c61f082f.EnumFromScopedModule, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__100c679fa10c1938fc087475a1e5fcdf7c2cbff383b1c02b1d09471cb4f23123( ++ value: typing.Optional[_scope_jsii_calc_lib_c61f082f.EnumFromScopedModule], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__cf66d7b4f4a567aefacbafc24f61d33a942afde3d167676ed65ea82da95cd36e( ++ *, ++ string_prop: builtins.str, ++ nested_struct: typing.Optional[typing.Union[NestedStruct, typing.Dict[builtins.str, typing.Any]]] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__6db501e892de783af62ff728e59cc3155afc51ddc2dff77cce61ffe698e2e1f3( ++ arg1: typing.Optional[jsii.Number] = None, ++ arg2: typing.Optional[builtins.str] = None, ++ arg3: typing.Optional[datetime.datetime] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5978f09aaa3317742377437d5735571f672119325c2b5d69f26153bae6764c85( ++ arg: typing.Any = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c894904fd4904d7e110da91df846a8ec0970051a274bba5ad95c2b7dc1125cc2( ++ arg1: jsii.Number, ++ arg2: builtins.str, ++ arg3: typing.Optional[datetime.datetime] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__e7383b9a36a10b88815e6c310c7b13c611260f5ccb143b75dac114873643350d( ++ *, ++ deeper_required_prop: builtins.str, ++ deeper_optional_prop: typing.Optional[builtins.str] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__2ccde09a2986c421795069d44c46d9e2d7470609094b8b7177c6b154360f7435( ++ value: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__76cbdc0bba36d674ab013a40d091c1f3ccb139f10e78844ebc868bfa5d707ef8( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__1b795ca2a3052da38144d10d87f230e74bcfa497af1262580f53908be48f6710( ++ *, ++ property: builtins.str, ++ yet_anoter_one: builtins.bool, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__8c577a76d55e32f4b62a2a005d0c321bf9d0784b2f6cea5f10e297f3f79fc4bb( ++ readonly_string: builtins.str, ++ mutable_number: typing.Optional[jsii.Number] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__737be2f0376e64bd8c0980aee9fc6afd796bb4d0cb3415eab28d054f15881752( ++ value: typing.Optional[jsii.Number], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__4bbf1eebbce12768b1d2ef90968ffdbe749e42ce8bcdaf4c8750314d2160c5ea( ++ *, ++ readonly_property: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__cf00e16ec45ebcadc1f7003eb344ecf452096a12a1a76ff0e15fce1066d716d2( ++ value: builtins.bool, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__69df39c5fc3367bba974a46518d9122ce067721f56037ef6e1faedf479222822( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c4597464b7867e98bf0052f7808e080b75874d088aeac980865a4fc19e47a6d1( ++ name: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__748a4d0813e4a3ab750bd52215b9ff4dee315d39b160d47884780ea7c4b10daf( ++ value: Statics, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5d0ed37ae4b7f5bd294a768da342f4735c6636e0197883a5727e46ed81deec69( ++ value: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__aa3b9a5342b6fe1366fac3279219c5bae15389881ddd050c544c1d0001853482( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c9e4f6413d6ce49f4a289256d84d0fa97f7abac1877fc8d49f80f4a7d83a4972( ++ *, ++ required_string: builtins.str, ++ optional_number: typing.Optional[jsii.Number] = None, ++ optional_string: typing.Optional[builtins.str] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__4d335a3a7bbc35ed76509a5e85466d6d29221efebdd6dd4de639ef040628f332( ++ *, ++ required_string: builtins.str, ++ optional_boolean: typing.Optional[builtins.bool] = None, ++ optional_struct_a: typing.Optional[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]]] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__7eb7b6caeb33bbd3740ca0fc027022df9d4fade4a7d1943a334f2869ab44bd98( ++ *, ++ scope: builtins.str, ++ props: typing.Optional[builtins.bool] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__e3587fc6359e7cd1adf0bb70ed66e1cd69faa462a530e07c8d25a96b942cb943( ++ _positional: jsii.Number, ++ *inputs: TopLevelStruct, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__b60fd8dad9496da93546e0555f2f8a7a34711e7160c06dc64a47f095f1539d02( ++ _positional: jsii.Number, ++ *, ++ required: builtins.str, ++ second_level: typing.Union[jsii.Number, typing.Union[SecondLevelStruct, typing.Dict[builtins.str, typing.Any]]], ++ optional: typing.Optional[builtins.str] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__1c22dd35a08877498e4c2c0ed61e220c19d83da3b6a1e278dfcb7af4d76d2df8( ++ struct: typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__bfb5d0235b42940b9a17c7bb3182f454c7652fdb031f8993719a701d42833623( ++ struct: typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__e3e3d0b072ef214d95806fb0366dd1f4a92b97932f845c9364616c9348bce502( ++ which: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__06173422e8b2a410ef992bee26115592516245e72f1a99397919d18bfebc1259( ++ *, ++ union_property: typing.Sequence[typing.Mapping[builtins.str, typing.Union[typing.Union[StructA, typing.Dict[builtins.str, typing.Any]], typing.Union[StructB, typing.Dict[builtins.str, typing.Any]]]]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__9fac60639e71eb35a422d891e6b571b3ba2118da50de35e8ba784bbb73928be9( ++ *, ++ foo: StringEnum, ++ bar: typing.Optional[AllTypesEnum] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__21b11cdfe2d95237cdddef417a67936ff8529ea3cef4bd7e80fe498f1e27527d( ++ *, ++ default: builtins.str, ++ assert_: typing.Optional[builtins.str] = None, ++ result: typing.Optional[builtins.str] = None, ++ that: typing.Optional[builtins.str] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__e2e14d04b1a68f16d9aef0965aa4ffbc51af3cbd2d201ac6e236d861b10c2fbf( ++ value: typing.List[_scope_jsii_calc_lib_c61f082f.NumericValue], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__11e78aa6557af36be636eea7a1a9b1d6ebf38d63d876b270de65a5f23152b605( ++ *, ++ bar: jsii.Number, ++ id: typing.Optional[builtins.str] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__46b91a4f1b85f01437aa8a6dda82c7c9e02f0b2ae5324f8c1591fa7ff74feaa0( ++ id_: jsii.Number, ++ *, ++ bar: jsii.Number, ++ id: typing.Optional[builtins.str] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__a961c6dee96c75a70470863d82c09136094c1d72d47aafe7f105c7733536dd4d( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__f3d4d3109122672e8fa17c64fb60787d84a098ee0ee0857d4a10ffe5345a1908( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__ba36c4cb32b9551fe1c3e91bd834b2e97f7ee93d0b5919acfb1c4fd3d6161295( ++ n: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__7118412729d7ec6272cded791897b09f12ee70e1ca550853121f98ceb30ee0e7( ++ value: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c361a6694d6564ff5c16af012cfaf94cac0a971928a1d0fb014c27f971287836( ++ value: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__d5d44f6e3395b0db421bab95a6dd7d1560538c63f136025c6b216ffb01eae179( ++ value: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__64c8c65ae76fcafb4b6d28e75f8fd31efad60ab9e71d11cbd5877c28c45d8f70( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__52ea95020be0094da769c873214a182768aa2de47b1c4c3dff43f1226edfe281( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__21d6ffe465a7e42c257c8318bf2bee38ecbc6b1959e6e945e769e365afb3e55d( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__74359fdf4e6a6505a1c0bc4c2c687826dde0a7696de75fc39f9ed57d89137f96( ++ *, ++ required: builtins.str, ++ second_level: typing.Union[jsii.Number, typing.Union[SecondLevelStruct, typing.Dict[builtins.str, typing.Any]]], ++ optional: typing.Optional[builtins.str] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__e31f878fe14747887a58683a15ca9c8ab54ec35cd6e3a665ad70dd53deadb573( ++ operand: _scope_jsii_calc_lib_c61f082f.NumericValue, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__223de5294ccc50da976adb8794cb8556981e31d63a2c8b249f7dfbd9e2d99eac( ++ *, ++ bar: typing.Union[builtins.str, jsii.Number, AllTypes], ++ foo: typing.Optional[typing.Union[builtins.str, jsii.Number]] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__aaaf822e80c6473bff9b1da58151a278cd846ae0614db9af97bc57ea6f899ce2( ++ delegate: typing.Mapping[builtins.str, typing.Any], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__73d1545891c65d400938add489402441cb083c61d214ad7a922b6417d3984732( ++ obj: IInterfaceWithProperties, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__60f3870a6dceb3773397b75ec3f3b664f38c2cc3d2f37dc055262663d12f41a8( ++ ext: IInterfaceWithPropertiesExtension, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__42edcb376aed0b6e6fec7d7df016bda9e3a31df0e47ecabb5465d1c84d16a414( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__6d238d6a2f6e464c570c3176db3d78d62e0be9908b705705c8f6d7b6b2385c54( ++ method: VariadicMethod, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__43f32dfb73f1a7fe9c86c00bbc381391db4812c13b5b72363ddcfcd57638c368( ++ *values: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__a33769c23320f9f6bce3e3a70c594135cf44ca5c9c6d1de1cae8cc62a99d49e9( ++ *prefix: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__1c18f2c7d91dcdc13843ff1637ed95a1f1c1ed99384d6276ee493b0ca579b4a4( ++ first: jsii.Number, ++ *others: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__f18ff2aa5c744d99cc2b37e705d6ed44823660f714c20539c148c9e34e123752( ++ *union: typing.Union[StructA, StructB], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__01944feab2feb5a9fdf3d356f62de139685f520d3bb3a38ddc5c42d0b03963fe( ++ value: typing.List[typing.Union[StructA, StructB]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5efa2ef42e261d5c38c59d5e216e587cb3005bbbb5b4a62e926087ee58478a36( ++ index: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__ca8f2360b0292d0b5329ac52818673aece7fb01cf2f09567e60ff65b7728c9cc( ++ index: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5bc99fd66b59152ee7799cf716c91bec428d7091eb33ece69057f9ca9b9fdb19( ++ count: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__58451fb4813d1aa8877a55de41f1ef8bd30300048337edb2bcf16985abbb6f45( ++ count: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__7ac4c09636b11fefb0a54fbd52b88fc2b4c5c356eb07189a0d2545601f3bef9c( ++ count: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__54f5b2f0a61a7f2fafae719635a1408f7ff0a8f8a503e559bf0d6bc99772471f( ++ value: typing.Optional[builtins.str], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__01fcbc911a24b1fa352275e1273526114db562d2c278b742181eba6e8cb11ad4( ++ private_field: typing.Optional[builtins.str] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__af1f574dee5c4eb581961518ccf32b4060094ed2f9b7e60bece1ed48e3fc45a1( ++ name: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__c0e59e6ea7e78215051bf4fe6b69de179aefb4116a344decdfaab4b6b15189b8( ++ lhs: _scope_jsii_calc_lib_c61f082f.NumericValue, ++ rhs: _scope_jsii_calc_lib_c61f082f.NumericValue, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__fa23831ecd0b539d7689616a0557240dc1a45f924fafe58c0d5f0ac464eecf94( ++ value: builtins.bool, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__84a0b7e93c52a4977e9726c1186b64f57ff35c59c5bc0e7250da1d3236e70208( ++ *, ++ foo: builtins.str, ++ bar: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__720d53a768711730e792d129fcff6272627608d1d3942f42e3010e61a3463b31( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5236e267a6763b672404dac13a3d5e50c03eb03d35fe2c18cbe7f649933301f1( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__1bd3b16d1aaf127e7610a230095bced32c4c3ef1cadc73f6b24c76b3ebffdd8e( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__4e685d8185af60a2f5c9bcffe812224568fe893228304e510b4d989f92c19b90( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__6499a25aa5ac6723e26c4c716dd2d62a1f9ecd75ae2a476d3213fa5fe8792a1d( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5da75e226d085b0daac7742a86525ea697c77a044896ce80d48677f5fadb2d57( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__538f9410afd2d028ca599a233896016121b326bd90d69693e949aff75d72caf3( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__ba8bf3471001981f03d1ad5b84a1b0a4a4d7d556c72734d25d96637a60ad2477( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__71399b17d07223b2b83f0d7b33d5172c49eb3d0cf3fe38d6059d4c9b7f471113( ++ read_only_string: builtins.str, ++ read_write_string: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__e308499c7b9268c91ee3dc9e4a9c975efdfaa0cd72bd877383c6c64e8f2768d0( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__148cd823b5de47723c8a76d0553f3ff6c880ba8ecec14b9a86bd89025a18f4d3( ++ property: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__e7aa949631662ae6f6ab2804e4a231fa264a1c879d86efa8267e53158c50e647( ++ operand: _scope_jsii_calc_lib_c61f082f.NumericValue, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__2f90423a63bd0fc04016022e622b4bf01d35f365e38b15153d0a4d6fa014ee5b( ++ id: jsii.Number, ++ default_bar: typing.Optional[jsii.Number] = None, ++ props: typing.Optional[typing.Union[SupportsNiceJavaBuilderProps, typing.Dict[builtins.str, typing.Any]]] = None, ++ *rest: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/anonymous/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/anonymous/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/anonymous/__init__.py --runtime-type-checking +@@ -57,31 +57,58 @@ + @builtins.classmethod + def consume(cls, option: typing.Union[IOptionA, IOptionB]) -> builtins.str: + ''' + :param option: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__132536bffc9129421b4ae0a6539d0bbfdc1c52c3de007c4546d2f2626ba8c31e) ++ check_type(argname="argument option", value=option, expected_type=type_hints["option"]) + return typing.cast(builtins.str, jsii.sinvoke(cls, "consume", [option])) + + @jsii.member(jsii_name="privideAsAny") + @builtins.classmethod + def privide_as_any(cls, which: builtins.str) -> typing.Any: + ''' + :param which: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__d461fff988e22833dcf37c5193332d48b9e455d605f2a1e708ab0d111a1659c7) ++ check_type(argname="argument which", value=which, expected_type=type_hints["which"]) + return typing.cast(typing.Any, jsii.sinvoke(cls, "privideAsAny", [which])) + + @jsii.member(jsii_name="provide") + @builtins.classmethod + def provide(cls, which: builtins.str) -> typing.Union[IOptionA, IOptionB]: + ''' + :param which: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__f841b966136dfd090628b12290eedd178724cc8f332e05aba2b3a035f07dae50) ++ check_type(argname="argument which", value=which, expected_type=type_hints["which"]) + return typing.cast(typing.Union[IOptionA, IOptionB], jsii.sinvoke(cls, "provide", [which])) + + + __all__ = [ + "IOptionA", + "IOptionB", + "UseOptions", + ] + + publication.publish() ++ ++def _typecheckingstub__132536bffc9129421b4ae0a6539d0bbfdc1c52c3de007c4546d2f2626ba8c31e( ++ option: typing.Union[IOptionA, IOptionB], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__d461fff988e22833dcf37c5193332d48b9e455d605f2a1e708ab0d111a1659c7( ++ which: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__f841b966136dfd090628b12290eedd178724cc8f332e05aba2b3a035f07dae50( ++ which: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/cdk16625/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/cdk16625/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/cdk16625/__init__.py --runtime-type-checking +@@ -45,10 +45,13 @@ + def _unwrap(self, gen: _IRandomNumberGenerator_9643a8b9) -> jsii.Number: + '''Implement this functin to return \`\`gen.next()\`\`. It is extremely important that the \`\`donotimport\`\` submodule is NEVER explicitly loaded in the testing application (otherwise this test is void). + + :param gen: a VERY pseudo random number generator. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__92f621cedc18f68d281c38191023e89bba6348836db623bc5d780630324b992b) ++ check_type(argname="argument gen", value=gen, expected_type=type_hints["gen"]) + return typing.cast(jsii.Number, jsii.invoke(self, "unwrap", [gen])) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class + typing.cast(typing.Any, Cdk16625).__jsii_proxy_class__ = lambda : _Cdk16625Proxy + +@@ -60,5 +63,11 @@ + + publication.publish() + + # Loading modules to ensure their types are registered with the jsii runtime library + from . import donotimport ++ ++def _typecheckingstub__92f621cedc18f68d281c38191023e89bba6348836db623bc5d780630324b992b( ++ gen: _IRandomNumberGenerator_9643a8b9, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/cdk16625/donotimport/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/cdk16625/donotimport/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/cdk16625/donotimport/__init__.py --runtime-type-checking +@@ -34,10 +34,13 @@ + + def __init__(self, value: jsii.Number) -> None: + ''' + :param value: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__e2659669d69691129e05836f0722a48449fe2efe197706d9d59c10c141470a4b) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.create(self.__class__, self, [value]) + + @jsii.member(jsii_name="next") + def next(self) -> jsii.Number: + '''Not quite random, but it'll do. +@@ -50,5 +53,11 @@ + __all__ = [ + "UnimportedSubmoduleType", + ] + + publication.publish() ++ ++def _typecheckingstub__e2659669d69691129e05836f0722a48449fe2efe197706d9d59c10c141470a4b( ++ value: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/cdk22369/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/cdk22369/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/cdk22369/__init__.py --runtime-type-checking +@@ -34,10 +34,13 @@ + class AcceptsPathProps: + def __init__(self, *, source_path: builtins.str) -> None: + ''' + :param source_path: A path that doesn't exist. + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5a067c851774273f33badeac9c167720ebde25d4301ab096dec54b2e615dc8a4) ++ check_type(argname="argument source_path", value=source_path, expected_type=type_hints["source_path"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "source_path": source_path, + } + + @builtins.property +@@ -63,5 +66,12 @@ + "AcceptsPath", + "AcceptsPathProps", + ] + + publication.publish() ++ ++def _typecheckingstub__5a067c851774273f33badeac9c167720ebde25d4301ab096dec54b2e615dc8a4( ++ *, ++ source_path: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/composition/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/composition/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/composition/__init__.py --runtime-type-checking +@@ -55,30 +55,39 @@ + '''A set of postfixes to include in a decorated .toString().''' + return typing.cast(typing.List[builtins.str], jsii.get(self, "decorationPostfixes")) + + @decoration_postfixes.setter + def decoration_postfixes(self, value: typing.List[builtins.str]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__f546e09b5b6c86dfee3f946eff8913ea8feb763a4156fb8aad45ecc179c63e62) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "decorationPostfixes", value) + + @builtins.property + @jsii.member(jsii_name="decorationPrefixes") + def decoration_prefixes(self) -> typing.List[builtins.str]: + '''A set of prefixes to include in a decorated .toString().''' + return typing.cast(typing.List[builtins.str], jsii.get(self, "decorationPrefixes")) + + @decoration_prefixes.setter + def decoration_prefixes(self, value: typing.List[builtins.str]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__abce94053402e9d1fcf1605226fa2c285e1340ec8219cfd1061f917e876a9051) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "decorationPrefixes", value) + + @builtins.property + @jsii.member(jsii_name="stringStyle") + def string_style(self) -> "CompositeOperation.CompositionStringStyle": + '''The .toString() style.''' + return typing.cast("CompositeOperation.CompositionStringStyle", jsii.get(self, "stringStyle")) + + @string_style.setter + def string_style(self, value: "CompositeOperation.CompositionStringStyle") -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__9dbbc353e0ea03d68edfa3977eadeb5446b56a89ffb921cb8406ba9fca0805b0) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "stringStyle", value) + + @jsii.enum( + jsii_type="jsii-calc.composition.CompositeOperation.CompositionStringStyle" + ) +@@ -111,5 +120,23 @@ + __all__ = [ + "CompositeOperation", + ] + + publication.publish() ++ ++def _typecheckingstub__f546e09b5b6c86dfee3f946eff8913ea8feb763a4156fb8aad45ecc179c63e62( ++ value: typing.List[builtins.str], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__abce94053402e9d1fcf1605226fa2c285e1340ec8219cfd1061f917e876a9051( ++ value: typing.List[builtins.str], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__9dbbc353e0ea03d68edfa3977eadeb5446b56a89ffb921cb8406ba9fca0805b0( ++ value: CompositeOperation.CompositionStringStyle, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/derived_class_has_no_properties/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/derived_class_has_no_properties/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/derived_class_has_no_properties/__init__.py --runtime-type-checking +@@ -28,10 +28,13 @@ + def prop(self) -> builtins.str: + return typing.cast(builtins.str, jsii.get(self, "prop")) + + @prop.setter + def prop(self, value: builtins.str) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__4b95d284137921c7cbf29a9e3a15da0a5cf9dda87efad87aa9ed601662f00b2c) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "prop", value) + + + class Derived( + Base, +@@ -46,5 +49,11 @@ + "Base", + "Derived", + ] + + publication.publish() ++ ++def _typecheckingstub__4b95d284137921c7cbf29a9e3a15da0a5cf9dda87efad87aa9ed601662f00b2c( ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/homonymous_forward_references/bar/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/homonymous_forward_references/bar/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/homonymous_forward_references/bar/__init__.py --runtime-type-checking +@@ -49,10 +49,13 @@ + ''' + :param homonymous: + ''' + if isinstance(homonymous, dict): + homonymous = Homonymous(**homonymous) ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__a201923592702b83e439b8af921b7eae6f1b86b0eeeffb6c2b506d66a57d4c3a) ++ check_type(argname="argument homonymous", value=homonymous, expected_type=type_hints["homonymous"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "homonymous": homonymous, + } + + @builtins.property +@@ -81,10 +84,13 @@ + class Homonymous: + def __init__(self, *, numeric_property: jsii.Number) -> None: + ''' + :param numeric_property: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__b7814834f12f5cbacf39dd7bdb11da208ae4c429011eff511d21e10d621cf9d5) ++ check_type(argname="argument numeric_property", value=numeric_property, expected_type=type_hints["numeric_property"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "numeric_property": numeric_property, + } + + @builtins.property +@@ -110,5 +116,19 @@ + "ConsumerProps", + "Homonymous", + ] + + publication.publish() ++ ++def _typecheckingstub__a201923592702b83e439b8af921b7eae6f1b86b0eeeffb6c2b506d66a57d4c3a( ++ *, ++ homonymous: typing.Union[Homonymous, typing.Dict[builtins.str, typing.Any]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__b7814834f12f5cbacf39dd7bdb11da208ae4c429011eff511d21e10d621cf9d5( ++ *, ++ numeric_property: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/homonymous_forward_references/foo/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/homonymous_forward_references/foo/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/homonymous_forward_references/foo/__init__.py --runtime-type-checking +@@ -49,10 +49,13 @@ + ''' + :param homonymous: + ''' + if isinstance(homonymous, dict): + homonymous = Homonymous(**homonymous) ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__56bad81fb024ccb6a97af9b4edcb748a4d5e34e81491c4222bb761bc0e5890b6) ++ check_type(argname="argument homonymous", value=homonymous, expected_type=type_hints["homonymous"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "homonymous": homonymous, + } + + @builtins.property +@@ -81,10 +84,13 @@ + class Homonymous: + def __init__(self, *, string_property: builtins.str) -> None: + ''' + :param string_property: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__57e873ae26cc34d45d619900518aa9fbc9f512fa9ca964387f9bcd933e461123) ++ check_type(argname="argument string_property", value=string_property, expected_type=type_hints["string_property"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "string_property": string_property, + } + + @builtins.property +@@ -110,5 +116,19 @@ + "ConsumerProps", + "Homonymous", + ] + + publication.publish() ++ ++def _typecheckingstub__56bad81fb024ccb6a97af9b4edcb748a4d5e34e81491c4222bb761bc0e5890b6( ++ *, ++ homonymous: typing.Union[Homonymous, typing.Dict[builtins.str, typing.Any]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__57e873ae26cc34d45d619900518aa9fbc9f512fa9ca964387f9bcd933e461123( ++ *, ++ string_property: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/interface_in_namespace_includes_classes/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/interface_in_namespace_includes_classes/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/interface_in_namespace_includes_classes/__init__.py --runtime-type-checking +@@ -28,10 +28,13 @@ + def bar(self) -> typing.Optional[builtins.str]: + return typing.cast(typing.Optional[builtins.str], jsii.get(self, "bar")) + + @bar.setter + def bar(self, value: typing.Optional[builtins.str]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__3319085b675e83451882dd81f7704e88da2e392266f9d5188ecb22725f3f71bb) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "bar", value) + + + @jsii.data_type( + jsii_type="jsii-calc.InterfaceInNamespaceIncludesClasses.Hello", +@@ -41,10 +44,13 @@ + class Hello: + def __init__(self, *, foo: jsii.Number) -> None: + ''' + :param foo: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5c05b45db7e873d4164cc7295b5d2800ba4bed1813d4a2d57aad8cedb292186d) ++ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "foo": foo, + } + + @builtins.property +@@ -69,5 +75,18 @@ + "Foo", + "Hello", + ] + + publication.publish() ++ ++def _typecheckingstub__3319085b675e83451882dd81f7704e88da2e392266f9d5188ecb22725f3f71bb( ++ value: typing.Optional[builtins.str], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__5c05b45db7e873d4164cc7295b5d2800ba4bed1813d4a2d57aad8cedb292186d( ++ *, ++ foo: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/interface_in_namespace_only_interface/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/interface_in_namespace_only_interface/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/interface_in_namespace_only_interface/__init__.py --runtime-type-checking +@@ -24,10 +24,13 @@ + class Hello: + def __init__(self, *, foo: jsii.Number) -> None: + ''' + :param foo: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__cc86cfd2ea53d0ae81d6d80ed07db33f3ca7b140e37166ba1d572a8ed2a78d2c) ++ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "foo": foo, + } + + @builtins.property +@@ -51,5 +54,12 @@ + __all__ = [ + "Hello", + ] + + publication.publish() ++ ++def _typecheckingstub__cc86cfd2ea53d0ae81d6d80ed07db33f3ca7b140e37166ba1d572a8ed2a78d2c( ++ *, ++ foo: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/jsii3656/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/jsii3656/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/jsii3656/__init__.py --runtime-type-checking +@@ -30,10 +30,14 @@ + ) -> None: + ''' + :param name: + :param count: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__9754f0ac616c8a4339db020e52a796e65577c9909ed5e25d0c696417da04377c) ++ check_type(argname="argument name", value=name, expected_type=type_hints["name"]) ++ check_type(argname="argument count", value=count, expected_type=type_hints["count"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "name": name, + } + if count is not None: + self._values["count"] = count +@@ -72,10 +76,13 @@ + @builtins.classmethod + def call_abstract(cls, receiver: "OverrideMe") -> builtins.bool: + ''' + :param receiver: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__37c9a298f20a606212f074bd150ba5bc37e38a4cc1f9b2672facafd80734afc1) ++ check_type(argname="argument receiver", value=receiver, expected_type=type_hints["receiver"]) + return typing.cast(builtins.bool, jsii.sinvoke(cls, "callAbstract", [receiver])) + + @jsii.member(jsii_name="implementMe") + @abc.abstractmethod + def implement_me( +@@ -115,5 +122,19 @@ + "ImplementMeOpts", + "OverrideMe", + ] + + publication.publish() ++ ++def _typecheckingstub__9754f0ac616c8a4339db020e52a796e65577c9909ed5e25d0c696417da04377c( ++ *, ++ name: builtins.str, ++ count: typing.Optional[jsii.Number] = None, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__37c9a298f20a606212f074bd150ba5bc37e38a4cc1f9b2672facafd80734afc1( ++ receiver: OverrideMe, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/module2530/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/module2530/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/module2530/__init__.py --runtime-type-checking +@@ -24,28 +24,55 @@ + + def __init__(self, _: jsii.Number) -> None: + ''' + :param _: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__d62f783e4108a6327009d506f8ae7f5aca2734de07314ffd120f24d3e918f697) ++ check_type(argname="argument _", value=_, expected_type=type_hints["_"]) + jsii.create(self.__class__, self, [_]) + + @jsii.member(jsii_name="bar") + @builtins.classmethod + def bar(cls, _: builtins.bool) -> None: + ''' + :param _: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__f35c91dda02ec538c4e5ee9182aaa01ba14f837c78951f48bb0abd1a866a4d5c) ++ check_type(argname="argument _", value=_, expected_type=type_hints["_"]) + return typing.cast(None, jsii.sinvoke(cls, "bar", [_])) + + @jsii.member(jsii_name="foo") + def foo(self, _: builtins.str) -> None: + ''' + :param _: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__dd74e61269fd21c6a0b0983199f27c5d4df8a4447ff77e770890f58f6c9b6969) ++ check_type(argname="argument _", value=_, expected_type=type_hints["_"]) + return typing.cast(None, jsii.invoke(self, "foo", [_])) + + + __all__ = [ + "MyClass", + ] + + publication.publish() ++ ++def _typecheckingstub__d62f783e4108a6327009d506f8ae7f5aca2734de07314ffd120f24d3e918f697( ++ _: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__f35c91dda02ec538c4e5ee9182aaa01ba14f837c78951f48bb0abd1a866a4d5c( ++ _: builtins.bool, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__dd74e61269fd21c6a0b0983199f27c5d4df8a4447ff77e770890f58f6c9b6969( ++ _: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/module2647/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/module2647/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/module2647/__init__.py --runtime-type-checking +@@ -34,10 +34,13 @@ + ''' + :param very: - + + :stability: deprecated + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__3b33906576528227344dbb0f079876c5dccd08a32f3dbaa0acdc3f444c5fe448) ++ check_type(argname="argument very", value=very, expected_type=type_hints["very"]) + jsii.create(self.__class__, self, [very]) + + @jsii.member(jsii_name="hello") + def hello(self) -> builtins.str: + '''Say hello!''' +@@ -51,5 +54,11 @@ + __all__ = [ + "ExtendAndImplement", + ] + + publication.publish() ++ ++def _typecheckingstub__3b33906576528227344dbb0f079876c5dccd08a32f3dbaa0acdc3f444c5fe448( ++ very: _scope_jsii_calc_base_of_base_49fa37fe.Very, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/module2689/methods/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/module2689/methods/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/module2689/methods/__init__.py --runtime-type-checking +@@ -32,23 +32,41 @@ + _bar: typing.Mapping[builtins.str, typing.Union[_scope_jsii_calc_base_734f0262.BaseProps, typing.Dict[builtins.str, typing.Any]]], + ) -> None: + ''' + :param _bar: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__cfbe1bc46497cbad551fc80c4d304742daa30493dee8c65b7119cafdeb06e9af) ++ check_type(argname="argument _bar", value=_bar, expected_type=type_hints["_bar"]) + return typing.cast(None, jsii.invoke(self, "bar", [_bar])) + + @jsii.member(jsii_name="foo") + def foo( + self, + _values: typing.Sequence[_scope_jsii_calc_lib_c61f082f.Number], + ) -> None: + ''' + :param _values: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__40045f17e26efacbabd3e103d903497e18761a611301d901fcdebc3cf8baaced) ++ check_type(argname="argument _values", value=_values, expected_type=type_hints["_values"]) + return typing.cast(None, jsii.invoke(self, "foo", [_values])) + + + __all__ = [ + "MyClass", + ] + + publication.publish() ++ ++def _typecheckingstub__cfbe1bc46497cbad551fc80c4d304742daa30493dee8c65b7119cafdeb06e9af( ++ _bar: typing.Mapping[builtins.str, typing.Union[_scope_jsii_calc_base_734f0262.BaseProps, typing.Dict[builtins.str, typing.Any]]], ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__40045f17e26efacbabd3e103d903497e18761a611301d901fcdebc3cf8baaced( ++ _values: typing.Sequence[_scope_jsii_calc_lib_c61f082f.Number], ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/module2689/structs/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/module2689/structs/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/module2689/structs/__init__.py --runtime-type-checking +@@ -33,10 +33,14 @@ + ) -> None: + ''' + :param base_map: + :param numbers: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__71fe496245d27f33a2ded522fdf47757e7fb41b578fd3ec479cd5b45534588fc) ++ check_type(argname="argument base_map", value=base_map, expected_type=type_hints["base_map"]) ++ check_type(argname="argument numbers", value=numbers, expected_type=type_hints["numbers"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "base_map": base_map, + "numbers": numbers, + } + +@@ -69,5 +73,13 @@ + __all__ = [ + "MyStruct", + ] + + publication.publish() ++ ++def _typecheckingstub__71fe496245d27f33a2ded522fdf47757e7fb41b578fd3ec479cd5b45534588fc( ++ *, ++ base_map: typing.Mapping[builtins.str, typing.Union[_scope_jsii_calc_base_734f0262.BaseProps, typing.Dict[builtins.str, typing.Any]]], ++ numbers: typing.Sequence[_scope_jsii_calc_lib_c61f082f.Number], ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/module2692/submodule1/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/module2692/submodule1/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/module2692/submodule1/__init__.py --runtime-type-checking +@@ -24,10 +24,13 @@ + class Bar: + def __init__(self, *, bar1: builtins.str) -> None: + ''' + :param bar1: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__6602c05b71ef2e77c650dd283c33ba4543f756dbbca5d1c31752ee29f836b1f5) ++ check_type(argname="argument bar1", value=bar1, expected_type=type_hints["bar1"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "bar1": bar1, + } + + @builtins.property +@@ -51,5 +54,12 @@ + __all__ = [ + "Bar", + ] + + publication.publish() ++ ++def _typecheckingstub__6602c05b71ef2e77c650dd283c33ba4543f756dbbca5d1c31752ee29f836b1f5( ++ *, ++ bar1: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/module2692/submodule2/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/module2692/submodule2/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/module2692/submodule2/__init__.py --runtime-type-checking +@@ -26,10 +26,13 @@ + class Bar: + def __init__(self, *, bar2: builtins.str) -> None: + ''' + :param bar2: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__d9a43a9ecad39319deef77fa38822e65c584450447849fb04c34b767a8c0881d) ++ check_type(argname="argument bar2", value=bar2, expected_type=type_hints["bar2"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "bar2": bar2, + } + + @builtins.property +@@ -66,10 +69,15 @@ + ''' + :param bar2: + :param bar1: + :param foo2: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__717272f96a16c5ea04b9406364f96f18d1c2b16b183b81ef7bae856ebd371a43) ++ check_type(argname="argument bar2", value=bar2, expected_type=type_hints["bar2"]) ++ check_type(argname="argument bar1", value=bar1, expected_type=type_hints["bar1"]) ++ check_type(argname="argument foo2", value=foo2, expected_type=type_hints["foo2"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "bar2": bar2, + "bar1": bar1, + "foo2": foo2, + } +@@ -108,5 +116,21 @@ + "Bar", + "Foo", + ] + + publication.publish() ++ ++def _typecheckingstub__d9a43a9ecad39319deef77fa38822e65c584450447849fb04c34b767a8c0881d( ++ *, ++ bar2: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__717272f96a16c5ea04b9406364f96f18d1c2b16b183b81ef7bae856ebd371a43( ++ *, ++ bar2: builtins.str, ++ bar1: builtins.str, ++ foo2: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/python_self/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/python_self/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/python_self/__init__.py --runtime-type-checking +@@ -22,17 +22,23 @@ + ): + def __init__(self_, self: builtins.str) -> None: + ''' + :param self: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__5cc662603963e69f50f446fe7bf40b3f3ccf17842ed59562f45f4eb63848155b) ++ check_type(argname="argument self", value=self, expected_type=type_hints["self"]) + jsii.create(self_.__class__, self_, [self]) + + @jsii.member(jsii_name="method") + def method(self_, self: jsii.Number) -> builtins.str: + ''' + :param self: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__7085240966e9682f4d0598c65f482b932ae1281420f2cead92f0036488d061d4) ++ check_type(argname="argument self", value=self, expected_type=type_hints["self"]) + return typing.cast(builtins.str, jsii.invoke(self_, "method", [self])) + + @builtins.property + @jsii.member(jsii_name="self") + def self(self) -> builtins.str: +@@ -73,10 +79,13 @@ + @jsii.member(jsii_name="method") + def method(self_, self: jsii.Number) -> builtins.str: + ''' + :param self: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__8e4a50df1f139ac6d917c0954b0b6346aeeb47f16abae33b345a5aa2aa02fc99) ++ check_type(argname="argument self", value=self, expected_type=type_hints["self"]) + return typing.cast(builtins.str, jsii.invoke(self_, "method", [self])) + + # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface + typing.cast(typing.Any, IInterfaceWithSelf).__jsii_proxy_class__ = lambda : _IInterfaceWithSelfProxy + +@@ -89,10 +98,13 @@ + class StructWithSelf: + def __init__(self_, *, self: builtins.str) -> None: + ''' + :param self: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__796022ef7b07de2b3997ff905b7451854b30a5e8e06145e4cc31e88f0ea8b0d0) ++ check_type(argname="argument self", value=self, expected_type=type_hints["self"]) + self_._values: typing.Dict[builtins.str, typing.Any] = { + "self": self, + } + + @builtins.property +@@ -119,5 +131,30 @@ + "IInterfaceWithSelf", + "StructWithSelf", + ] + + publication.publish() ++ ++def _typecheckingstub__5cc662603963e69f50f446fe7bf40b3f3ccf17842ed59562f45f4eb63848155b( ++ self: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__7085240966e9682f4d0598c65f482b932ae1281420f2cead92f0036488d061d4( ++ self: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__8e4a50df1f139ac6d917c0954b0b6346aeeb47f16abae33b345a5aa2aa02fc99( ++ self: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__796022ef7b07de2b3997ff905b7451854b30a5e8e06145e4cc31e88f0ea8b0d0( ++ *, ++ self: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/submodule/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/submodule/__init__.py --runtime-type-checking +@@ -42,10 +42,13 @@ + + :param foo: + + :see: https://github.com/aws/jsii/issues/2637 + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__a44c39bd2002b354344d30dcb1ae0e2dc7ef8f604c2d31c61616cbbfc6a6fc40) ++ check_type(argname="argument foo", value=foo, expected_type=type_hints["foo"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "foo": foo, + } + + @builtins.property +@@ -110,10 +113,13 @@ + def all_types(self) -> typing.Optional[_AllTypes_b08307c5]: + return typing.cast(typing.Optional[_AllTypes_b08307c5], jsii.get(self, "allTypes")) + + @all_types.setter + def all_types(self, value: typing.Optional[_AllTypes_b08307c5]) -> None: ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__bfa98c91ee81ff3f0ca8bdba51d8e53f57e5260e9d6071534e9caa5ba2ffaed1) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + jsii.set(self, "allTypes", value) + + + __all__ = [ + "Default", +@@ -133,5 +139,18 @@ + from . import child + from . import isolated + from . import nested_submodule + from . import param + from . import returnsparam ++ ++def _typecheckingstub__a44c39bd2002b354344d30dcb1ae0e2dc7ef8f604c2d31c61616cbbfc6a6fc40( ++ *, ++ foo: jsii.Number, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__bfa98c91ee81ff3f0ca8bdba51d8e53f57e5260e9d6071534e9caa5ba2ffaed1( ++ value: typing.Optional[_AllTypes_b08307c5], ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/back_references/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/submodule/back_references/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/submodule/back_references/__init__.py --runtime-type-checking +@@ -26,10 +26,13 @@ + class MyClassReference: + def __init__(self, *, reference: _MyClass_a2fdc0b6) -> None: + ''' + :param reference: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__e7f53d1efa418d6ee29ababd1c2660c1d3d9a5d3de3ad874b2d0cd7c6481139b) ++ check_type(argname="argument reference", value=reference, expected_type=type_hints["reference"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "reference": reference, + } + + @builtins.property +@@ -53,5 +56,12 @@ + __all__ = [ + "MyClassReference", + ] + + publication.publish() ++ ++def _typecheckingstub__e7f53d1efa418d6ee29ababd1c2660c1d3d9a5d3de3ad874b2d0cd7c6481139b( ++ *, ++ reference: _MyClass_a2fdc0b6, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/child/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/submodule/child/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/submodule/child/__init__.py --runtime-type-checking +@@ -76,10 +76,13 @@ + class SomeStruct: + def __init__(self, *, prop: SomeEnum) -> None: + ''' + :param prop: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__ce6e4bc4b6c503e757ba9e0640368ea37840d2ca58311e6ec8b98cdcda077f48) ++ check_type(argname="argument prop", value=prop, expected_type=type_hints["prop"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "prop": prop, + } + + @builtins.property +@@ -108,10 +111,13 @@ + class Structure: + def __init__(self, *, bool: builtins.bool) -> None: + ''' + :param bool: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__f4dc81f7243c5c317d71ab682231a51bf3c3a189d9be68c17b8d41246c0abef5) ++ check_type(argname="argument bool", value=bool, expected_type=type_hints["bool"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "bool": bool, + } + + @builtins.property +@@ -146,10 +152,14 @@ + ) -> None: + ''' + :param prop: + :param extra: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__b3b6b38208a14cadd94ba787e4091f753debb361ad5dd2ee9d037908f5677d8b) ++ check_type(argname="argument prop", value=prop, expected_type=type_hints["prop"]) ++ check_type(argname="argument extra", value=extra, expected_type=type_hints["extra"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "prop": prop, + } + if extra is not None: + self._values["extra"] = extra +@@ -187,5 +197,27 @@ + "SomeStruct", + "Structure", + ] + + publication.publish() ++ ++def _typecheckingstub__ce6e4bc4b6c503e757ba9e0640368ea37840d2ca58311e6ec8b98cdcda077f48( ++ *, ++ prop: SomeEnum, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__f4dc81f7243c5c317d71ab682231a51bf3c3a189d9be68c17b8d41246c0abef5( ++ *, ++ bool: builtins.bool, ++) -> None: ++ """Type checking stubs""" ++ pass ++ ++def _typecheckingstub__b3b6b38208a14cadd94ba787e4091f753debb361ad5dd2ee9d037908f5677d8b( ++ *, ++ prop: SomeEnum, ++ extra: typing.Optional[builtins.str] = None, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/param/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/submodule/param/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/submodule/param/__init__.py --runtime-type-checking +@@ -24,10 +24,13 @@ + class SpecialParameter: + def __init__(self, *, value: builtins.str) -> None: + ''' + :param value: + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__25c6f5775c01f503690c503a264eb256af186a94c0c65bd43d6a11942ff54b1c) ++ check_type(argname="argument value", value=value, expected_type=type_hints["value"]) + self._values: typing.Dict[builtins.str, typing.Any] = { + "value": value, + } + + @builtins.property +@@ -51,5 +54,12 @@ + __all__ = [ + "SpecialParameter", + ] + + publication.publish() ++ ++def _typecheckingstub__25c6f5775c01f503690c503a264eb256af186a94c0c65bd43d6a11942ff54b1c( ++ *, ++ value: builtins.str, ++) -> None: ++ """Type checking stubs""" ++ pass +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/union/__init__.py.diff 1`] = ` +--- python/src/jsii_calc/union/__init__.py --no-runtime-type-checking ++++ python/src/jsii_calc/union/__init__.py --runtime-type-checking +@@ -26,10 +26,13 @@ + param: typing.Union["IResolvable", "Resolvable", _scope_jsii_calc_lib_c61f082f.IFriendly], + ) -> None: + ''' + :param param: - + ''' ++ if __debug__: ++ type_hints = typing.get_type_hints(_typecheckingstub__62dfa3c0a0a719fea295807df31fd40fd66b0e76cf44d9f742ffb421f8e4ca77) ++ check_type(argname="argument param", value=param, expected_type=type_hints["param"]) + return typing.cast(None, jsii.sinvoke(cls, "unionType", [param])) + + + @jsii.interface(jsii_type="jsii-calc.union.IResolvable") + class IResolvable(typing_extensions.Protocol): +@@ -61,5 +64,11 @@ + "IResolvable", + "Resolvable", + ] + + publication.publish() ++ ++def _typecheckingstub__62dfa3c0a0a719fea295807df31fd40fd66b0e76cf44d9f742ffb421f8e4ca77( ++ param: typing.Union[IResolvable, Resolvable, _scope_jsii_calc_lib_c61f082f.IFriendly], ++) -> None: ++ """Type checking stubs""" ++ pass +`;