diff --git a/.gitattributes b/.gitattributes index 7e451e4406..b2d7a6b1dc 100644 --- a/.gitattributes +++ b/.gitattributes @@ -14,4 +14,5 @@ # Github Linguist configuration (https://github.com/github/linguist) yarn.lock linguidt-generated +*.snap linguist-generated docs/** linguist-documentation diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 668f033357..2094a02ac5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -44,8 +44,11 @@ jobs: - name: Locate Caches id: cache-locations run: |- + echo "::group::Upgrade pip" # Need to have PIP >= 20.1 for "pip cache dir" to work python3 -m pip install --upgrade pip + echo "::endgroup" + echo "::set-output name=pip-cache::$(python3 -m pip cache dir)" echo "::set-output name=yarn-cache::$(yarn cache dir)" - name: Cache @@ -63,18 +66,26 @@ jobs: ${{ runner.os }}- # Prepare dependencies and build - name: Install Dependencies - run: yarn install --frozen-lockfile + run: |- + yarn install --frozen-lockfile - name: Full Build - run: yarn build - - name: "Upload Artifact: built-tree" + run: |- + yarn build + - name: Prepare Artifact + run: |- + tar Jcvf ${{ runner.temp }}/built-tree.tar.xz \ + --exclude='**/.env' \ + --exclude='**/node_modules' \ + --exclude='**/project/.m2/repository' \ + --exclude-tag-all='pyenv.cfg' \ + --directory=${{ github.workspace }} \ + . + # Upload artifact (we'll tar it up to save time) + - name: 'Upload Artifact: built-tree' uses: actions/upload-artifact@v2 with: name: built-tree - path: |- - ${{ github.workspace }} - !**/.env/** - !**/node_modules/** - !**/project/.m2/** + path: ${{ runner.temp }}/built-tree.tar.xz create-release-package: name: Create Release Package @@ -104,8 +115,11 @@ jobs: - name: Locate Caches id: cache-locations run: |- + echo "::group::Upgrade pip" # Need to have PIP >= 20.1 for "pip cache dir" to work python3 -m pip install --upgrade pip + echo "::endgroup" + echo "::set-output name=pip-cache::$(python3 -m pip cache dir)" echo "::set-output name=yarn-cache::$(yarn cache dir)" - name: Cache @@ -140,17 +154,22 @@ jobs: --prerelease=nightly.$(date -u +'%Y%m%d') \ --skip.commit # Now we'll be preparing a release package (with the "real" version) - - name: Align Versions - run: ./scripts/align-version.sh + - name: Run "align-version.sh" + run: |- + ./scripts/align-version.sh - name: Full Build - run: yarn build - - name: Package Libraries - run: yarn package - - name: "Upload Artifact: release-package" + run: |- + yarn build + - name: Package + run: |- + yarn package + # Upload artifacts + - name: 'Upload Artifact: release-package' uses: actions/upload-artifact@v2 with: name: release-package path: ${{ github.workspace }}/dist/ + test: name: Test (${{ matrix.os }} / java ${{ matrix.java }} / node ${{ matrix.node }} / python ${{ matrix.python }}) needs: build @@ -226,11 +245,27 @@ jobs: uses: actions/download-artifact@v2 with: name: built-tree + # Put GitBash ahead of $PATH, so we avoid surprises due to bad tar, etc... + # (technically a hack around https://github.com/actions/virtual-environments/issues/282) + - name: 'Windows: Put GitBash ahead of $PATH' + if: runner.os == 'Windows' + run: |- + echo "::add-path::C:\Program Files\Git\usr\bin" + - name: Extract Artifact + run: |- + echo "::group::Untar Archive" + tar Jxvf built-tree.tar.xz + echo "::endgroup" + + rm built-tree.tar.xz - name: Locate Caches id: cache-locations run: |- + echo "::group::Upgrade pip" # Need to have PIP >= 20.1 for "pip cache dir" to work python3 -m pip install --upgrade pip + echo "::endgroup" + echo "::set-output name=pip-cache::$(python3 -m pip cache dir)" echo "::set-output name=yarn-cache::$(yarn cache dir)" - name: Cache @@ -247,9 +282,10 @@ jobs: ${{ runner.os }}-node@${{ matrix.node }}-python@${{ matrix.python }}- ${{ runner.os }}-node@${{ matrix.node }}- ${{ runner.os }}- - # Install dependencies (ensures arch/os specific packages are re-built) + # Run the tests - name: Install Dependencies - run: yarn install --frozen-lockfile - # Run all tests + run: |- + yarn install --frozen-lockfile - name: Test - run: yarn test + run: |- + yarn test diff --git a/.mergify.yml b/.mergify/config.yml similarity index 65% rename from .mergify.yml rename to .mergify/config.yml index 27750546cf..8fc821ee23 100644 --- a/.mergify.yml +++ b/.mergify/config.yml @@ -31,6 +31,21 @@ pull_request_rules: - status-success~=AWS CodeBuild us-east-1 - status-success=continuous-integration/travis-ci/pr - status-success=Semantic Pull Request + # One test for each OS + - status-success~=^Test \(ubuntu-.*$ + - status-success~=^Test \(macos-.*$ + - status-success~=^Test \(windows-.*$ + # One test for each supported nodejs version + - status-success~=^Test \(.* node 10 .*$ + - status-success~=^Test \(.* node 12 .*$ + - status-success~=^Test \(.* node 14 .*$ + # One test for Java 8 and 11 + - status-success~=^Test \(.* java 8 .*$ + - status-success~=^Test \(.* java 11 .*$ + # One test for Python 3.6, 3.7, and 3.8 + - status-success~=^Test \(.* python 3\.6 .*$ + - status-success~=^Test \(.* python 3\.7 .*$ + - status-success~=^Test \(.* python 3\.8 .*$ - name: Synchronize that PR to upstream and merge it (squash) actions: @@ -61,6 +76,21 @@ pull_request_rules: - status-success~=AWS CodeBuild us-east-1 - status-success=continuous-integration/travis-ci/pr - status-success=Semantic Pull Request + # One test for each OS + - status-success~=^Test \(ubuntu-.*$ + - status-success~=^Test \(macos-.*$ + - status-success~=^Test \(windows-.*$ + # One test for each supported nodejs version + - status-success~=^Test \(.* node 10 .*$ + - status-success~=^Test \(.* node 12 .*$ + - status-success~=^Test \(.* node 14 .*$ + # One test for Java 8 and 11 + - status-success~=^Test \(.* java 8 .*$ + - status-success~=^Test \(.* java 11 .*$ + # One test for Python 3.6, 3.7, and 3.8 + - status-success~=^Test \(.* python 3\.6 .*$ + - status-success~=^Test \(.* python 3\.7 .*$ + - status-success~=^Test \(.* python 3\.8 .*$ - name: Synchronize that PR to upstream and merge it (no-squash) actions: @@ -91,6 +121,21 @@ pull_request_rules: - status-success~=AWS CodeBuild us-east-1 - status-success=continuous-integration/travis-ci/pr - status-success=Semantic Pull Request + # One test for each OS + - status-success~=^Test \(ubuntu-.*$ + - status-success~=^Test \(macos-.*$ + - status-success~=^Test \(windows-.*$ + # One test for each supported nodejs version + - status-success~=^Test \(.* node 10 .*$ + - status-success~=^Test \(.* node 12 .*$ + - status-success~=^Test \(.* node 14 .*$ + # One test for Java 8 and 11 + - status-success~=^Test \(.* java 8 .*$ + - status-success~=^Test \(.* java 11 .*$ + # One test for Python 3.6, 3.7, and 3.8 + - status-success~=^Test \(.* python 3\.6 .*$ + - status-success~=^Test \(.* python 3\.7 .*$ + - status-success~=^Test \(.* python 3\.8 .*$ - name: Clean branch up actions: diff --git a/package.json b/package.json index 6ef612549c..4c93c3e5b7 100644 --- a/package.json +++ b/package.json @@ -10,9 +10,9 @@ "dist-clean": "lerna run dist-clean --stream && rm -rf dist", "fetch-dotnet-snk": "bash scripts/fetch-dotnet-snk.sh", "package": "bash scripts/package.sh", - "test": "lerna run test --stream", + "test": "lerna run test --concurrency=1 --stream", "test:integ": "lerna run test:integ --stream", - "test:update": "lerna run test:update --stream" + "test:update": "lerna run test:update --concurrency=1 --stream" }, "devDependencies": { "@typescript-eslint/eslint-plugin": "^3.8.0", diff --git a/packages/@jsii/dotnet-runtime-test/package.json b/packages/@jsii/dotnet-runtime-test/package.json index e43c1e62b6..5cca9e72f2 100644 --- a/packages/@jsii/dotnet-runtime-test/package.json +++ b/packages/@jsii/dotnet-runtime-test/package.json @@ -34,6 +34,6 @@ "@types/node": "^10.17.28", "jsii-calc": "^0.0.0", "jsii-pacmak": "^0.0.0", - "typescript": "~3.9.6" + "typescript": "~3.9.7" } } diff --git a/packages/@jsii/dotnet-runtime/package.json b/packages/@jsii/dotnet-runtime/package.json index 9e3affa226..7982baea60 100644 --- a/packages/@jsii/dotnet-runtime/package.json +++ b/packages/@jsii/dotnet-runtime/package.json @@ -43,6 +43,6 @@ "@types/semver": "^7.3.1", "jsii-build-tools": "^0.0.0", "semver": "^7.3.2", - "typescript": "~3.9.6" + "typescript": "~3.9.7" } } diff --git a/packages/@jsii/integ-test/package.json b/packages/@jsii/integ-test/package.json index ad21c36ba5..29c6a67fbd 100644 --- a/packages/@jsii/integ-test/package.json +++ b/packages/@jsii/integ-test/package.json @@ -36,7 +36,7 @@ "eslint-config-prettier": "^6.11.0", "eslint-plugin-prettier": "^3.1.4", "prettier": "^1.19.1", - "typescript": "~3.9.6" + "typescript": "~3.9.7" }, "jest": { "errorOnDeprecated": true, diff --git a/packages/@jsii/java-runtime/package.json b/packages/@jsii/java-runtime/package.json index bac5b77033..13d72a29c1 100644 --- a/packages/@jsii/java-runtime/package.json +++ b/packages/@jsii/java-runtime/package.json @@ -35,6 +35,6 @@ "@jsii/runtime": "^0.0.0", "@types/node": "^10.17.28", "jsii-build-tools": "^0.0.0", - "typescript": "~3.9.6" + "typescript": "~3.9.7" } } diff --git a/packages/@jsii/kernel/package.json b/packages/@jsii/kernel/package.json index 81d6d3a72f..b037733e92 100644 --- a/packages/@jsii/kernel/package.json +++ b/packages/@jsii/kernel/package.json @@ -52,7 +52,7 @@ "jsii-build-tools": "^0.0.0", "jsii-calc": "^0.0.0", "prettier": "^1.19.1", - "typescript": "~3.9.6" + "typescript": "~3.9.7" }, "jest": { "collectCoverage": true, diff --git a/packages/@jsii/kernel/test/kernel.test.ts b/packages/@jsii/kernel/test/kernel.test.ts index 4ab494b0d2..e8ab48b1ee 100644 --- a/packages/@jsii/kernel/test/kernel.test.ts +++ b/packages/@jsii/kernel/test/kernel.test.ts @@ -76,27 +76,31 @@ defineTest.skip = function ( return defineTest(name, method, test.skip); }; -test('load preserves file permissions', async () => { - // Changing the umask to 077 (which would neutralize group/other permissions) - const originalUmask = process.umask(0o077); +// Note: this test asserts file permissions, which work differently on Windows, so we skip it there +(process.platform === 'win32' ? test.skip : test)( + 'load preserves file permissions', + async () => { + // Changing the umask to 077 (which would neutralize group/other permissions) + const originalUmask = process.umask(0o077); - try { - const kernel = await createCalculatorSandbox( - 'load_preserves_file_permissions', - ); + try { + const kernel = await createCalculatorSandbox( + 'load_preserves_file_permissions', + ); - const result = kernel.sinvoke({ - fqn: 'jsii-calc.UmaskCheck', - method: 'mode', - }); - expect(result.result).toBe(0o644); + const result = kernel.sinvoke({ + fqn: 'jsii-calc.UmaskCheck', + method: 'mode', + }); + expect(result.result).toBe(0o644); - return closeRecording(kernel); - } finally { - // Restore the original umask - process.umask(originalUmask); - } -}); + return closeRecording(kernel); + } finally { + // Restore the original umask + process.umask(originalUmask); + } + }, +); defineTest('stats() return sandbox statistics', (sandbox) => { const stats = sandbox.stats({}); diff --git a/packages/@jsii/python-runtime/bin/generate b/packages/@jsii/python-runtime/bin/generate deleted file mode 100755 index 77e97735f9..0000000000 --- a/packages/@jsii/python-runtime/bin/generate +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env python3 -import json -import os -import os.path -import shutil - -EMBEDDED_SOURCE = "../runtime/webpack/" -EMBEDDED_INFO = "../runtime/package.json" - - -# Copy metadata over into the Python package -with open("package.json") as fp: - data = json.load(fp) - -with open(EMBEDDED_INFO) as fp: - embedded_data = json.load(fp) - -with open("src/jsii/_metadata.json", "w") as fp: - json.dump( - { - "version": data["version"], - "description": data["description"], - "license": data["license"], - "author": data["author"]["name"], - "jsii-runtime": {"version": embedded_data["version"]}, - "bugs": data["bugs"]["url"], - "homepage": data["homepage"], - "repository": data["repository"]["url"], - }, - fp, - indent=2, - ) - - -# Embed the JSII runtime into the Python Package. -for filename in os.listdir(EMBEDDED_SOURCE): - filepath = os.path.join(EMBEDDED_SOURCE, filename) - shutil.copy2(filepath, "src/jsii/_embedded/jsii") diff --git a/packages/@jsii/python-runtime/bin/generate-calc b/packages/@jsii/python-runtime/bin/generate-calc deleted file mode 100755 index 8be9ca2154..0000000000 --- a/packages/@jsii/python-runtime/bin/generate-calc +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env python3 -import os -import subprocess -import sys - -# Clean out this directory, as it otherwise may -# accumuluate multiple versions of the same library -# and pip will complain. -subprocess.run(['rm', '-rf', '.env/jsii-calc'], check=True) - -venv = os.path.join(os.getcwd(), '.env') - -subprocess.run( - [ - "jsii-pacmak", - "-t", - "python", - "-o", - ".env/jsii-calc", - "--recurse", - "../../jsii-calc", - ], - check=True, - env={ - **os.environ, - # Make sure we run within the virtual environment provisioned here... - 'PATH': "%s:%s" % (os.path.join(venv, 'bin'), os.environ['PATH']), - 'VIRTUAL_ENV': venv, - }, -) -subprocess.run( - [ - sys.executable, - "-m", - "pip", - "install", - "--upgrade", - ] - + - [x for x in os.listdir(".") if x.endswith(".whl")] - + - [os.path.join('.env/jsii-calc/python', x) for x in os.listdir(".env/jsii-calc/python") if x.endswith(".whl")], - check=True, -) diff --git a/packages/@jsii/python-runtime/build-tools/_constants.ts b/packages/@jsii/python-runtime/build-tools/_constants.ts new file mode 100644 index 0000000000..9674acb8a6 --- /dev/null +++ b/packages/@jsii/python-runtime/build-tools/_constants.ts @@ -0,0 +1,28 @@ +import { spawnSync, SpawnOptions } from 'child_process'; +import { join, resolve } from 'path'; + +const venvRoot = resolve(__dirname, '..', '.env'); + +export const venv = { + root: venvRoot, + bin: join(venvRoot, process.platform === 'win32' ? 'Scripts' : 'bin'), +} as const; + +export function runCommand( + command: string, + args: readonly string[], + opts: SpawnOptions = {}, +): void { + const result = spawnSync(command, args, { + ...opts, + shell: process.platform === 'win32', + stdio: 'inherit', + }); + if (result.status !== 0) { + throw new Error( + `Command failed with ${ + result.signal ? `signal ${result.signal}` : `code ${result.status}` + }: ${command} ${args.join(' ')}`, + ); + } +} diff --git a/packages/@jsii/python-runtime/build-tools/deps.ts b/packages/@jsii/python-runtime/build-tools/deps.ts new file mode 100644 index 0000000000..6e76a9b2b2 --- /dev/null +++ b/packages/@jsii/python-runtime/build-tools/deps.ts @@ -0,0 +1,33 @@ +#!/usr/bin/env npx ts-node + +import { join } from 'path'; +import { venv, runCommand } from './_constants'; + +const python = join(venv.bin, 'python'); + +runCommand('python3', ['-m', 'venv', venv.root]); + +const env = { + ...process.env, + PATH: `${venv.bin}:${process.env.PATH}`, + VIRTUAL_ENV: venv.root, +}; + +runCommand( + python, + [ + '-m', + 'pip', + 'install', + '--no-input', + 'pip~=20.2', + 'setuptools~=46.1.3', + 'wheel~=0.34.2', + ], + { env }, +); +runCommand( + python, + ['-m', 'pip', 'install', '--no-input', '-r', 'requirements.txt'], + { env }, +); diff --git a/packages/@jsii/python-runtime/build-tools/gen-calc.ts b/packages/@jsii/python-runtime/build-tools/gen-calc.ts new file mode 100644 index 0000000000..da1667f3c1 --- /dev/null +++ b/packages/@jsii/python-runtime/build-tools/gen-calc.ts @@ -0,0 +1,39 @@ +#!/usr/bin/env npx ts-node + +import { readdirSync, removeSync } from 'fs-extra'; +import { join, resolve } from 'path'; +import { venv, runCommand } from './_constants'; + +const genRoot = join(venv.root, 'jsii-calc'); + +removeSync(genRoot); +runCommand( + 'npx', + [ + 'jsii-pacmak', + '-t', + 'python', + '-o', + genRoot, + '--recurse', + resolve(__dirname, '..', '..', '..', 'jsii-calc'), + ], + { + env: { + ...process.env, + PATH: `${venv.bin}:${process.env.PATH}`, + VIRTUAL_ENV: venv.root, + }, + }, +); + +runCommand(join(venv.bin, 'python'), [ + '-m', + 'pip', + 'install', + '--no-input', + '--upgrade', + ...readdirSync(join(genRoot, 'python')) + .filter((file) => file.endsWith('.whl')) + .map((file) => join(genRoot, 'python', file)), +]); diff --git a/packages/@jsii/python-runtime/build-tools/gen.ts b/packages/@jsii/python-runtime/build-tools/gen.ts new file mode 100644 index 0000000000..9ad96931da --- /dev/null +++ b/packages/@jsii/python-runtime/build-tools/gen.ts @@ -0,0 +1,39 @@ +#!/usr/bin/env npx ts-node + +import { copyFileSync, readdirSync, writeFileSync } from 'fs'; +import { join, resolve } from 'path'; + +const EMBEDDED_SOURCE = resolve(__dirname, '..', '..', 'runtime', 'webpack'); +const EMBEDDED_INFO = resolve(__dirname, '..', '..', 'runtime', 'package.json'); + +const data = require('../package.json'); +const embeddedData = require(EMBEDDED_INFO); + +writeFileSync( + resolve(__dirname, '..', 'src', 'jsii', '_metadata.json'), + JSON.stringify( + { + version: data.version, + description: data.description, + license: data.license, + author: data.author.name, + 'jsii-runtime': { + version: embeddedData.version, + }, + bugs: data.bugs.url, + homepage: data.homepage, + repository: data.repository.url, + }, + null, + 2, + ), + { encoding: 'utf-8' }, +); + +for (const filename of readdirSync(EMBEDDED_SOURCE)) { + const filepath = join(EMBEDDED_SOURCE, filename); + copyFileSync( + filepath, + resolve(__dirname, '..', 'src', 'jsii', '_embedded', 'jsii', filename), + ); +} diff --git a/packages/@jsii/python-runtime/build-tools/venv.ts b/packages/@jsii/python-runtime/build-tools/venv.ts new file mode 100644 index 0000000000..725eff7b89 --- /dev/null +++ b/packages/@jsii/python-runtime/build-tools/venv.ts @@ -0,0 +1,11 @@ +#!/usr/bin/env npx ts-node + +import { join } from 'path'; +import { venv, runCommand } from './_constants'; + +const [, , command, ...args] = process.argv; + +const argv0 = join(venv.bin, command); + +console.log(`Running: ${argv0} ${args.join(' ')}`); +runCommand(argv0, args); diff --git a/packages/@jsii/python-runtime/package.json b/packages/@jsii/python-runtime/package.json index 7a39a64e6a..3c53107395 100644 --- a/packages/@jsii/python-runtime/package.json +++ b/packages/@jsii/python-runtime/package.json @@ -22,22 +22,25 @@ }, "main": "index.js", "scripts": { - "generate": "python3 bin/generate", - "deps": "python3 -m venv .env && .env/bin/pip install pip~=20.2 setuptools~=46.1.3 wheel~=0.34.2 && .env/bin/pip install -r requirements.txt", + "generate": "ts-node build-tools/gen.ts", + "deps": "ts-node build-tools/deps.ts", "dist-clean": "rm -rf dist", "build": "cp ../../../README.md . && rm -f jsii-*.whl && npm run generate && npm run deps", "package": "package-python && package-private", "test": "npm run test:gen && npm run test:run", - "test:gen": "npm run deps && .env/bin/python bin/generate-calc", - "test:run": ".env/bin/py.test -v --mypy", + "test:gen": "npm run deps && ts-node build-tools/gen-calc.ts", + "test:run": "ts-node build-tools/venv.ts py.test -v --mypy", "test:update": "UPDATE_DIFF=1 npm run test" }, "dependencies": { "@jsii/runtime": "^0.0.0" }, "devDependencies": { + "fs-extra": "^9.0.1", "jsii-build-tools": "^0.0.0", "jsii-calc": "^0.0.0", - "jsii-pacmak": "^0.0.0" + "jsii-pacmak": "^0.0.0", + "ts-node": "^8.10.2", + "typescript": "~3.9.7" } } diff --git a/packages/@jsii/runtime/package.json b/packages/@jsii/runtime/package.json index 6b27bf33ca..de6341cabf 100644 --- a/packages/@jsii/runtime/package.json +++ b/packages/@jsii/runtime/package.json @@ -51,7 +51,7 @@ "prettier": "^1.19.1", "source-map": "^0.7.3", "source-map-loader": "^1.0.1", - "typescript": "~3.9.6", + "typescript": "~3.9.7", "wasm-loader": "^1.3.0", "webpack": "^4.44.1", "webpack-cli": "^3.3.12" diff --git a/packages/@jsii/runtime/test/kernel-host.test.ts b/packages/@jsii/runtime/test/kernel-host.test.ts index 46bfe8704b..839461c1ab 100644 --- a/packages/@jsii/runtime/test/kernel-host.test.ts +++ b/packages/@jsii/runtime/test/kernel-host.test.ts @@ -96,7 +96,7 @@ function loadRequest(library: string): api.LoadRequest { const result = child.spawnSync( 'npm', ['pack', path.dirname(require.resolve(`${library}/package.json`))], - { cwd: targetDir, stdio: ['inherit', 'pipe', 'pipe'] }, + { cwd: targetDir, shell: true, stdio: ['inherit', 'pipe', 'pipe'] }, ); if (result.error) { throw result.error; diff --git a/packages/@jsii/runtime/test/playback.test.ts b/packages/@jsii/runtime/test/playback.test.ts index 0104222902..0a62fb701e 100644 --- a/packages/@jsii/runtime/test/playback.test.ts +++ b/packages/@jsii/runtime/test/playback.test.ts @@ -37,11 +37,15 @@ function createRecords(): string { path.join(os.tmpdir(), 'jsii-kernel.recording.'), ); const result = child.spawnSync( - require.resolve('jest/bin/jest'), - [require.resolve('@jsii/kernel/test/kernel.test.js')], + process.execPath, + [ + ...process.execArgv, + require.resolve('jest/bin/jest'), + '--coverage=false', + 'test/kernel.test.js', + ], { env: { ...process.env, JSII_RECORD: records, JSII_NOSTACK: '1' }, - shell: true, stdio: ['inherit', 'pipe', 'pipe'], cwd: path.resolve( require.resolve('@jsii/kernel/test/kernel.test.js'), @@ -56,8 +60,20 @@ function createRecords(): string { } if (result.signal != null || result.status !== 0) { - console.log(result.stdout); - console.error(result.stderr.toString('utf-8')); + console.log( + result.stdout + .toString('utf-8') + .split('\n') + .map((x) => `STDOUT: ${x}`) + .join('\n'), + ); + console.error( + result.stderr + .toString('utf-8') + .split('\n') + .map((x) => `STDERR: ${x}`) + .join('\n'), + ); } if (result.signal != null) { diff --git a/packages/@jsii/spec/package.json b/packages/@jsii/spec/package.json index 4cfadcab83..68bfa89254 100644 --- a/packages/@jsii/spec/package.json +++ b/packages/@jsii/spec/package.json @@ -42,7 +42,7 @@ "jest": "^26.2.2", "jsii-build-tools": "^0.0.0", "prettier": "^1.19.1", - "typescript": "~3.9.6", + "typescript": "~3.9.7", "typescript-json-schema": "^0.42.0" }, "jest": { diff --git a/packages/codemaker/package.json b/packages/codemaker/package.json index 1cdfb0f41b..d7fda28ab4 100644 --- a/packages/codemaker/package.json +++ b/packages/codemaker/package.json @@ -44,7 +44,7 @@ "eslint-plugin-prettier": "^3.1.4", "jest": "^26.2.2", "prettier": "^2.0.5", - "typescript": "~3.9.6" + "typescript": "~3.9.7" }, "jest": { "collectCoverage": true, diff --git a/packages/jsii-config/package.json b/packages/jsii-config/package.json index b0a89faee4..3627067f02 100644 --- a/packages/jsii-config/package.json +++ b/packages/jsii-config/package.json @@ -30,12 +30,12 @@ "jest": "^26.2.2", "jest-expect-message": "^1.0.2", "prettier": "^2.0.5", - "typescript": "~3.9.6" + "typescript": "~3.9.7" }, "dependencies": { "@jsii/spec": "^0.0.0", "inquirer": "^7.3.3", - "yargs": "^15.4.0" + "yargs": "^15.4.1" }, "jest": { "collectCoverage": true, diff --git a/packages/jsii-diff/package.json b/packages/jsii-diff/package.json index e0c42e100a..d4d93dc2c0 100644 --- a/packages/jsii-diff/package.json +++ b/packages/jsii-diff/package.json @@ -37,7 +37,7 @@ "fs-extra": "^9.0.1", "jsii-reflect": "^0.0.0", "log4js": "^6.3.0", - "typescript": "~3.9.6", + "typescript": "~3.9.7", "yargs": "^15.4.0" }, "devDependencies": { diff --git a/packages/jsii-pacmak/lib/npm-modules.ts b/packages/jsii-pacmak/lib/npm-modules.ts index 435f0ecb39..cb86926ade 100644 --- a/packages/jsii-pacmak/lib/npm-modules.ts +++ b/packages/jsii-pacmak/lib/npm-modules.ts @@ -14,7 +14,10 @@ import { topologicalSort } from './toposort'; * * The result is topologically sorted. */ -export async function findJsiiModules(directories: string[], recurse: boolean) { +export async function findJsiiModules( + directories: string[], + recurse: boolean, +): Promise { const ret: JsiiModule[] = []; const visited = new Set(); @@ -83,7 +86,9 @@ export async function findJsiiModules(directories: string[], recurse: boolean) { } } -export async function updateAllNpmIgnores(packages: JsiiModule[]) { +export async function updateAllNpmIgnores( + packages: JsiiModule[], +): Promise { await Promise.all( packages.map((pkg) => updateNpmIgnore(pkg.moduleDirectory, pkg.outputDirectory), diff --git a/packages/jsii-pacmak/lib/targets/dotnet/dotnetgenerator.ts b/packages/jsii-pacmak/lib/targets/dotnet/dotnetgenerator.ts index 49d525b414..691655584c 100644 --- a/packages/jsii-pacmak/lib/targets/dotnet/dotnetgenerator.ts +++ b/packages/jsii-pacmak/lib/targets/dotnet/dotnetgenerator.ts @@ -74,9 +74,9 @@ export class DotNetGenerator extends Generator { super.generate(fingerprint); } - public async save(outdir: string, tarball: string) { + public async save(outdir: string, tarball: string): Promise { // Generating the csproj and AssemblyInfo.cs files - const tarballFileName = tarball.substr(tarball.lastIndexOf('/') + 1); + const tarballFileName = path.basename(tarball); const filegen = new FileGenerator( this.assembly, tarballFileName, diff --git a/packages/jsii-pacmak/lib/targets/java.ts b/packages/jsii-pacmak/lib/targets/java.ts index 9d5d664aa4..ca722f187a 100644 --- a/packages/jsii-pacmak/lib/targets/java.ts +++ b/packages/jsii-pacmak/lib/targets/java.ts @@ -2060,11 +2060,13 @@ class JavaGenerator extends Generator { name: fqn.replace(/.*\.([^.]+)$/, '$1'), }); - const name = `${path.join( + const parts = [ ...packageName.split('.'), - typeName.split('.')[0], - )}${ext}`; - const filePath = path.join('src', 'main', 'resources', name); + `${typeName.split('.')[0]}${ext}`, + ]; + // Resource names are /-delimited paths (even on Windows *wink wink*) + const name = parts.join('/'); + const filePath = path.join('src', 'main', 'resources', ...parts); return { filePath, name }; } diff --git a/packages/jsii-pacmak/lib/targets/python.ts b/packages/jsii-pacmak/lib/targets/python.ts index b77b511a08..16e6feb547 100644 --- a/packages/jsii-pacmak/lib/targets/python.ts +++ b/packages/jsii-pacmak/lib/targets/python.ts @@ -1,11 +1,11 @@ +import * as spec from '@jsii/spec'; import { CodeMaker, toSnakeCase } from 'codemaker'; import * as escapeStringRegexp from 'escape-string-regexp'; import * as fs from 'fs-extra'; import * as reflect from 'jsii-reflect'; +import * as lockfile from 'lockfile'; import * as os from 'os'; import * as path from 'path'; -import * as spec from '@jsii/spec'; -import { Stability } from '@jsii/spec'; import { Generator, GeneratorOptions } from '../generator'; import { info, warn } from '../logging'; import { md2rst } from '../markdown'; @@ -33,6 +33,8 @@ import { die, toPythonIdentifier } from './python/util'; // eslint-disable-next-line @typescript-eslint/no-var-requires,@typescript-eslint/no-require-imports const spdxLicenseList = require('spdx-license-list'); +const VENV_BIN = process.platform === 'win32' ? 'Scripts' : 'bin'; + export default class Python extends Target { private static BLACK_PATH?: Promise; @@ -88,26 +90,48 @@ export default class Python extends Target { '.jsii-cache', 'python-black', ); - const exists = await fs.pathExists(blackInstallDir); - if (!exists) { + const venvRoot = path.join(blackInstallDir, 'venv'); + const black = path.join(venvRoot, VENV_BIN, 'black'); + + await fs.mkdirp(blackInstallDir); + const lockFile = path.join(blackInstallDir, 'busy.lock'); + + await lock(lockFile); + + try { + const existing = await cachedBlackPath(); + if (existing != null) { + return existing; + } + info( - `No existing black installation. Install afresh at ${blackInstallDir}...`, - ); - await fs.mkdirp(blackInstallDir); - await shell( - 'python3', - ['-m', 'venv', path.join(blackInstallDir, '.env')], - { - cwd: blackInstallDir, - }, + `No existing black installations. install afresh at ${blackInstallDir}...`, ); + + await shell('python3', ['-m', 'venv', venvRoot], { + cwd: blackInstallDir, + }); await shell( - path.join(blackInstallDir, '.env', 'bin', 'pip'), - ['install', 'black'], + path.join(venvRoot, VENV_BIN, 'pip'), + ['install', '--no-input', 'black'], { cwd: blackInstallDir }, ); + } finally { + await unlock(lockFile); + } + + return (await cachedBlackPath())!; + + async function cachedBlackPath() { + const suffixes = process.platform === 'win32' ? ['.exe', '.bat'] : ['']; + for (const suffix of suffixes) { + // eslint-disable-next-line no-await-in-loop + if (await fs.pathExists(`${black}${suffix}`)) { + return `${black}${suffix}`; + } + } + return undefined; } - return path.join(blackInstallDir, '.env', 'bin', 'black'); } } @@ -2391,9 +2415,9 @@ function onelineDescription(docs: spec.Docs | undefined) { return parts.join(' ').replace(/\s+/g, ' '); } -function shouldMentionStability(s: Stability) { +function shouldMentionStability(s: spec.Stability) { // Don't render "stable" or "external", those are both stable by implication. - return s === Stability.Deprecated || s === Stability.Experimental; + return s === spec.Stability.Deprecated || s === spec.Stability.Experimental; } function isStruct( @@ -2423,3 +2447,27 @@ function slugifyAsNeeded(name: string, inUse: readonly string[]): string { } return name; } + +async function lock(path: string, opts: lockfile.Options = { stale: 60_000 }) { + return new Promise((ok, ko) => + lockfile.lock(path, opts, (error) => { + if (error != null) { + ko(error); + } else { + ok(); + } + }), + ); +} + +async function unlock(path: string) { + return new Promise((ok, ko) => + lockfile.unlock(path, (error) => { + if (error != null) { + ko(error); + } else { + ok(); + } + }), + ); +} diff --git a/packages/jsii-pacmak/lib/util.ts b/packages/jsii-pacmak/lib/util.ts index fdd6c596e1..2d85818cb8 100644 --- a/packages/jsii-pacmak/lib/util.ts +++ b/packages/jsii-pacmak/lib/util.ts @@ -69,13 +69,12 @@ export async function shell( return ok(out); } const err = Buffer.concat(stderr).toString('utf-8'); - if (code != null) { - return ko( - new Error(`Process exited with status ${code}\n${out}\n${err}`), - ); - } + const reason = signal != null ? `signal ${signal}` : `status ${code}`; + const command = `${cmd} ${args.join(' ')}`; return ko( - new Error(`Process terminated by signal ${signal}\n${out}\n${err}`), + new Error( + `Command exited with ${reason}:\n- Command: ${command}\n- STDOUT:\n${out}\n- STDERR:\n${err}`, + ), ); }); }); diff --git a/packages/jsii-pacmak/package.json b/packages/jsii-pacmak/package.json index 5a8a42cdab..a0fbc9b086 100644 --- a/packages/jsii-pacmak/package.json +++ b/packages/jsii-pacmak/package.json @@ -30,8 +30,8 @@ "watch": "tsc --build -w", "lint": "eslint . --ext .js,.ts --ignore-path=.gitignore", "lint:fix": "yarn lint --fix", - "test": "jest && bash test/diff-test.sh && bash test/build-test.sh", - "test:update": "UPDATE_DIFF=1 bash test/diff-test.sh && bash test/build-test.sh && jest -u", + "test": "jest && bash test/build-test.sh", + "test:update": "jest -u && bash test/build-test.sh", "package": "package-js" }, "dependencies": { @@ -43,10 +43,11 @@ "fs-extra": "^9.0.1", "jsii-reflect": "^0.0.0", "jsii-rosetta": "^0.0.0", + "lockfile": "^1.0.4", "semver": "^7.3.2", "spdx-license-list": "^6.2.0", "xmlbuilder": "^15.1.1", - "yargs": "^15.4.0" + "yargs": "^15.4.1" }, "devDependencies": { "@jsii/dotnet-runtime": "^0.0.0", @@ -56,6 +57,7 @@ "@types/commonmark": "^0.27.4", "@types/fs-extra": "^8.1.1", "@types/jest": "^26.0.9", + "@types/lockfile": "^1.0.1", "@types/mock-fs": "^4.10.0", "@types/node": "^10.17.28", "@types/semver": "^7.3.1", @@ -68,7 +70,7 @@ "jsii-calc": "^0.0.0", "mock-fs": "^4.12.0", "prettier": "^2.0.5", - "typescript": "~3.9.6" + "typescript": "~3.9.7" }, "keywords": [ "jsii", diff --git a/packages/jsii-pacmak/test/__snapshots__/jsii-pacmak.test.js.snap b/packages/jsii-pacmak/test/__snapshots__/jsii-pacmak.test.js.snap new file mode 100644 index 0000000000..204f67e395 --- /dev/null +++ b/packages/jsii-pacmak/test/__snapshots__/jsii-pacmak.test.js.snap @@ -0,0 +1,67839 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Generated code for "@scope/jsii-calc-base": / 1`] = ` + + ┣━ 📁 dotnet + ┃ ┗━ 📁 Amazon.JSII.Tests.CalculatorPackageId.BasePackageId + ┃ ┣━ 📄 .jsii + ┃ ┣━ 📁 Amazon + ┃ ┃ ┗━ 📁 JSII + ┃ ┃ ┗━ 📁 Tests + ┃ ┃ ┗━ 📁 CalculatorNamespace + ┃ ┃ ┗━ 📁 BaseNamespace + ┃ ┃ ┣━ 📄 Base.cs + ┃ ┃ ┣━ 📄 BaseProps.cs + ┃ ┃ ┣━ 📄 BasePropsProxy.cs + ┃ ┃ ┣━ 📄 BaseProxy.cs + ┃ ┃ ┣━ 📄 IBaseInterface.cs + ┃ ┃ ┣━ 📄 IBaseInterfaceProxy.cs + ┃ ┃ ┣━ 📄 IBaseProps.cs + ┃ ┃ ┗━ 📁 Internal + ┃ ┃ ┗━ 📁 DependencyResolution + ┃ ┃ ┗━ 📄 Anchor.cs + ┃ ┣━ 📄 Amazon.JSII.Tests.CalculatorPackageId.BasePackageId.csproj + ┃ ┣━ 📄 AssemblyInfo.cs + ┃ ┗━ 📄 scope-jsii-calc-base-0.0.0.tgz + ┣━ 📁 java + ┃ ┣━ 📄 pom.xml + ┃ ┗━ 📁 src + ┃ ┗━ 📁 main + ┃ ┣━ 📁 java + ┃ ┃ ┗━ 📁 software + ┃ ┃ ┗━ 📁 amazon + ┃ ┃ ┗━ 📁 jsii + ┃ ┃ ┗━ 📁 tests + ┃ ┃ ┗━ 📁 calculator + ┃ ┃ ┗━ 📁 base + ┃ ┃ ┣━ 📄 $Module.java + ┃ ┃ ┣━ 📄 Base.java + ┃ ┃ ┣━ 📄 BaseProps.java + ┃ ┃ ┗━ 📄 IBaseInterface.java + ┃ ┗━ 📁 resources + ┃ ┗━ 📁 software + ┃ ┗━ 📁 amazon + ┃ ┗━ 📁 jsii + ┃ ┗━ 📁 tests + ┃ ┗━ 📁 calculator + ┃ ┗━ 📁 base + ┃ ┣━ 📄 $Module.txt + ┃ ┗━ 📄 jsii-calc-base@0.0.0.jsii.tgz + ┣━ 📁 js + ┃ ┗━ 📄 jsii-calc-base@0.0.0.jsii.tgz + ┗━ 📁 python + ┣━ 📄 MANIFEST.in + ┣━ 📄 pyproject.toml + ┣━ 📄 README.md + ┣━ 📄 setup.py + ┗━ 📁 src + ┗━ 📁 scope + ┗━ 📁 jsii_calc_base + ┣━ 📄 __init__.py + ┣━ 📁 _jsii + ┃ ┣━ 📄 __init__.py + ┃ ┗━ 📄 jsii-calc-base@0.0.0.jsii.tgz + ┗━ 📄 py.typed +`; + +exports[`Generated code for "@scope/jsii-calc-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/.jsii 1`] = ` +Object { + Symbol(file): "{ + \\"author\\": { + \\"name\\": \\"Amazon Web Services\\", + \\"organization\\": true, + \\"roles\\": [ + \\"author\\" + ], + \\"url\\": \\"https://aws.amazon.com\\" + }, + \\"dependencies\\": { + \\"@scope/jsii-calc-base-of-base\\": \\"^0.0.0\\" + }, + \\"dependencyClosure\\": { + \\"@scope/jsii-calc-base-of-base\\": { + \\"targets\\": { + \\"dotnet\\": { + \\"namespace\\": \\"Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace\\", + \\"packageId\\": \\"Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId\\" + }, + \\"java\\": { + \\"maven\\": { + \\"artifactId\\": \\"calculator-base-of-base\\", + \\"groupId\\": \\"software.amazon.jsii.tests\\" + }, + \\"package\\": \\"software.amazon.jsii.tests.calculator.baseofbase\\" + }, + \\"js\\": { + \\"npm\\": \\"@scope/jsii-calc-base-of-base\\" + }, + \\"python\\": { + \\"distName\\": \\"scope.jsii-calc-base-of-base\\", + \\"module\\": \\"scope.jsii_calc_base_of_base\\" + } + } + } + }, + \\"description\\": \\"An example direct dependency for jsii-calc.\\", + \\"homepage\\": \\"https://github.com/aws/jsii\\", + \\"jsiiVersion\\": \\"0.0.0\\", + \\"license\\": \\"Apache-2.0\\", + \\"name\\": \\"@scope/jsii-calc-base\\", + \\"repository\\": { + \\"directory\\": \\"packages/@scope/jsii-calc-base\\", + \\"type\\": \\"git\\", + \\"url\\": \\"https://github.com/aws/jsii.git\\" + }, + \\"schema\\": \\"jsii/0.10.0\\", + \\"targets\\": { + \\"dotnet\\": { + \\"namespace\\": \\"Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace\\", + \\"packageId\\": \\"Amazon.JSII.Tests.CalculatorPackageId.BasePackageId\\" + }, + \\"java\\": { + \\"maven\\": { + \\"artifactId\\": \\"calculator-base\\", + \\"groupId\\": \\"software.amazon.jsii.tests\\" + }, + \\"package\\": \\"software.amazon.jsii.tests.calculator.base\\" + }, + \\"js\\": { + \\"npm\\": \\"@scope/jsii-calc-base\\" + }, + \\"python\\": { + \\"distName\\": \\"scope.jsii-calc-base\\", + \\"module\\": \\"scope.jsii_calc_base\\" + } + }, + \\"types\\": { + \\"@scope/jsii-calc-base.Base\\": { + \\"abstract\\": true, + \\"assembly\\": \\"@scope/jsii-calc-base\\", + \\"docs\\": { + \\"summary\\": \\"A base class.\\" + }, + \\"fqn\\": \\"@scope/jsii-calc-base.Base\\", + \\"initializer\\": {}, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 6 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"returns\\": \\"the name of the class (to verify native type names are created for derived classes).\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 10 + }, + \\"name\\": \\"typeName\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + } + } + ], + \\"name\\": \\"Base\\" + }, + \\"@scope/jsii-calc-base.BaseProps\\": { + \\"assembly\\": \\"@scope/jsii-calc-base\\", + \\"datatype\\": true, + \\"fqn\\": \\"@scope/jsii-calc-base.BaseProps\\", + \\"interfaces\\": [ + \\"@scope/jsii-calc-base-of-base.VeryBaseProps\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 15 + }, + \\"name\\": \\"BaseProps\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 16 + }, + \\"name\\": \\"bar\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"@scope/jsii-calc-base.IBaseInterface\\": { + \\"assembly\\": \\"@scope/jsii-calc-base\\", + \\"fqn\\": \\"@scope/jsii-calc-base.IBaseInterface\\", + \\"interfaces\\": [ + \\"@scope/jsii-calc-base-of-base.IVeryBaseInterface\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 19 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 20 + }, + \\"name\\": \\"bar\\" + } + ], + \\"name\\": \\"IBaseInterface\\" + } + }, + \\"version\\": \\"0.0.0\\", + \\"fingerprint\\": \\"ttHhQ5EzgjW0lybCNSKOfqilJ04kp4VK3arcpRl3rBM=\\" +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId.csproj 1`] = ` +Object { + Symbol(file): " + + + An example direct dependency for jsii-calc. + Amazon.JSII.Tests.CalculatorPackageId.BasePackageId + Apache-2.0 + 0.0.0 + + Amazon Web Services + Amazon Web Services + en-US + https://github.com/aws/jsii + https://github.com/aws/jsii.git + git + + true + true + true + true + enable + snupkg + netcoreapp3.1 + + + + + + + + + + 0612,0618 + + + +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/Base.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace +{ + /// A base class. + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Base), fullyQualifiedName: \\"@scope/jsii-calc-base.Base\\")] + public abstract class Base : DeputyBase + { + protected Base(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Base(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Base(DeputyProps props): base(props) + { + } + + /// the name of the class (to verify native type names are created for derived classes). + [JsiiMethod(name: \\"typeName\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public virtual object TypeName() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/BaseProps.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace +{ + #pragma warning disable CS8618 + + [JsiiByValue(fqn: \\"@scope/jsii-calc-base.BaseProps\\")] + public class BaseProps : Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.IBaseProps + { + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string Bar + { + get; + set; + } + + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-base-of-base.Very\\\\\\"}\\", isOverride: true)] + public Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very Foo + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/BasePropsProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace +{ + [JsiiTypeProxy(nativeType: typeof(IBaseProps), fullyQualifiedName: \\"@scope/jsii-calc-base.BaseProps\\")] + internal sealed class BasePropsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.IBaseProps + { + private BasePropsProxy(ByRefValue reference): base(reference) + { + } + + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Bar + { + get => GetInstanceProperty(); + } + + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-base-of-base.Very\\\\\\"}\\")] + public Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very Foo + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/BaseProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace +{ + /// A base class. + [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Base), fullyQualifiedName: \\"@scope/jsii-calc-base.Base\\")] + internal sealed class BaseProxy : Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Base + { + private BaseProxy(ByRefValue reference): base(reference) + { + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/IBaseInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace +{ + [JsiiInterface(nativeType: typeof(IBaseInterface), fullyQualifiedName: \\"@scope/jsii-calc-base.IBaseInterface\\")] + public interface IBaseInterface : Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.IVeryBaseInterface + { + [JsiiMethod(name: \\"bar\\")] + void Bar(); + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/IBaseInterfaceProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace +{ + [JsiiTypeProxy(nativeType: typeof(IBaseInterface), fullyQualifiedName: \\"@scope/jsii-calc-base.IBaseInterface\\")] + internal sealed class IBaseInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.IBaseInterface + { + private IBaseInterfaceProxy(ByRefValue reference): base(reference) + { + } + + [JsiiMethod(name: \\"bar\\")] + public void Bar() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + [JsiiMethod(name: \\"foo\\")] + public void Foo() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/IBaseProps.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace +{ + [JsiiInterface(nativeType: typeof(IBaseProps), fullyQualifiedName: \\"@scope/jsii-calc-base.BaseProps\\")] + public interface IBaseProps : Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.IVeryBaseProps + { + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string Bar + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/Internal/DependencyResolution/Anchor.cs 1`] = ` +Object { + Symbol(file): "#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Internal.DependencyResolution +{ + public sealed class Anchor + { + public Anchor() + { + new Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Internal.DependencyResolution.Anchor(); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/AssemblyInfo.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +[assembly: JsiiAssembly(\\"@scope/jsii-calc-base\\", \\"0.0.0\\", \\"scope-jsii-calc-base-0.0.0.tgz\\")] +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/scope-jsii-calc-base-0.0.0.tgz 1`] = `dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/scope-jsii-calc-base-0.0.0.tgz is a tarball`; + +exports[`Generated code for "@scope/jsii-calc-base": /java/pom.xml 1`] = ` +Object { + Symbol(file): " + + 4.0.0 + \${project.groupId}:\${project.artifactId} + An example direct dependency for jsii-calc. + https://github.com/aws/jsii + + + Apache License 2.0 + http://www.apache.org/licenses/LICENSE-2.0 + repo + An OSI-approved license + + + + + Amazon Web Services + + author + + https://aws.amazon.com + + + + scm:git:https://github.com/aws/jsii.git + https://github.com/aws/jsii.git + + software.amazon.jsii.tests + calculator-base + 0.0.0 + jar + + UTF-8 + + + + software.amazon.jsii.tests + calculator-base-of-base + [0.0.0,0.0.1) + + + software.amazon.jsii + jsii-runtime + [0.0.0,0.0.1) + + + org.jetbrains + annotations + [16.0.3,20.0.0) + + + + javax.annotation + javax.annotation-api + [1.3.2,1.4.0) + compile + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.0 + + + true + + true + true + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.2.1 + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.1.1 + + + attach-javadocs + + jar + + + + + false + protected + + **/$Module.java + + -J-XX:+TieredCompilation + -J-XX:TieredStopAtLevel=1 + + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.0.0-M3 + + + enforce-maven + + enforce + + + + + 3.6 + + + + + + + + org.codehaus.mojo + versions-maven-plugin + 2.7 + + false + + + + + +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /java/src/main/java/software/amazon/jsii/tests/calculator/base/$Module.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.base; + +import static java.util.Arrays.asList; + +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.IOException; +import java.io.Reader; +import java.io.UncheckedIOException; + +import java.nio.charset.StandardCharsets; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import software.amazon.jsii.JsiiModule; + +public final class $Module extends JsiiModule { + private static final Map MODULE_TYPES = load(); + + private static Map load() { + final Map result = new HashMap<>(); + final ClassLoader cl = $Module.class.getClassLoader(); + try (final InputStream is = cl.getResourceAsStream(\\"software/amazon/jsii/tests/calculator/base/$Module.txt\\"); + final Reader rd = new InputStreamReader(is, StandardCharsets.UTF_8); + final BufferedReader br = new BufferedReader(rd)) { + br.lines() + .filter(line -> !line.trim().isEmpty()) + .forEach(line -> { + final String[] parts = line.split(\\"=\\", 2); + final String fqn = parts[0]; + final String className = parts[1]; + result.put(fqn, className); + }); + } + catch (final IOException exception) { + throw new UncheckedIOException(exception); + } + return result; + } + + private final Map> cache = new HashMap<>(); + + public $Module() { + super(\\"@scope/jsii-calc-base\\", \\"0.0.0\\", $Module.class, \\"jsii-calc-base@0.0.0.jsii.tgz\\"); + } + + @Override + public List> getDependencies() { + return asList(software.amazon.jsii.tests.calculator.baseofbase.$Module.class); + } + + @Override + protected Class resolveClass(final String fqn) throws ClassNotFoundException { + if (!MODULE_TYPES.containsKey(fqn)) { + throw new ClassNotFoundException(\\"Unknown JSII type: \\" + fqn); + } + String className = MODULE_TYPES.get(fqn); + if (!this.cache.containsKey(className)) { + this.cache.put(className, this.findClass(className)); + } + return this.cache.get(className); + } + + private Class findClass(final String binaryName) { + try { + return Class.forName(binaryName); + } + catch (final ClassNotFoundException exception) { + throw new RuntimeException(exception); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /java/src/main/java/software/amazon/jsii/tests/calculator/base/Base.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.base; + +/** + * A base class. + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.base.$Module.class, fqn = \\"@scope/jsii-calc-base.Base\\") +public abstract class Base extends software.amazon.jsii.JsiiObject { + + protected Base(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Base(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + protected Base() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * @return the name of the class (to verify native type names are created for derived classes). + */ + public @org.jetbrains.annotations.NotNull java.lang.Object typeName() { + return this.jsiiCall(\\"typeName\\", java.lang.Object.class); + } + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.base.Base { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /java/src/main/java/software/amazon/jsii/tests/calculator/base/BaseProps.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.base; + +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.base.$Module.class, fqn = \\"@scope/jsii-calc-base.BaseProps\\") +@software.amazon.jsii.Jsii.Proxy(BaseProps.Jsii$Proxy.class) +public interface BaseProps extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.baseofbase.VeryBaseProps { + + @org.jetbrains.annotations.NotNull java.lang.String getBar(); + + /** + * @return a {@link Builder} of {@link BaseProps} + */ + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link BaseProps} + */ + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String bar; + private software.amazon.jsii.tests.calculator.baseofbase.Very foo; + + /** + * Sets the value of {@link BaseProps#getBar} + * @param bar the value to be set. This parameter is required. + * @return {@code this} + */ + public Builder bar(java.lang.String bar) { + this.bar = bar; + return this; + } + + /** + * Sets the value of {@link BaseProps#getFoo} + * @param foo the value to be set. This parameter is required. + * @return {@code this} + */ + public Builder foo(software.amazon.jsii.tests.calculator.baseofbase.Very foo) { + this.foo = foo; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link BaseProps} + * @throws NullPointerException if any required attribute was not provided + */ + @Override + public BaseProps build() { + return new Jsii$Proxy(bar, foo); + } + } + + /** + * An implementation for {@link BaseProps} + */ + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements BaseProps { + private final java.lang.String bar; + private final software.amazon.jsii.tests.calculator.baseofbase.Very foo; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.bar = this.jsiiGet(\\"bar\\", java.lang.String.class); + this.foo = this.jsiiGet(\\"foo\\", software.amazon.jsii.tests.calculator.baseofbase.Very.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String bar, final software.amazon.jsii.tests.calculator.baseofbase.Very foo) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.bar = java.util.Objects.requireNonNull(bar, \\"bar is required\\"); + this.foo = java.util.Objects.requireNonNull(foo, \\"foo is required\\"); + } + + @Override + public java.lang.String getBar() { + return this.bar; + } + + @Override + public software.amazon.jsii.tests.calculator.baseofbase.Very getFoo() { + return this.foo; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"bar\\", om.valueToTree(this.getBar())); + data.set(\\"foo\\", om.valueToTree(this.getFoo())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"@scope/jsii-calc-base.BaseProps\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + BaseProps.Jsii$Proxy that = (BaseProps.Jsii$Proxy) o; + + if (!bar.equals(that.bar)) return false; + return this.foo.equals(that.foo); + } + + @Override + public int hashCode() { + int result = this.bar.hashCode(); + result = 31 * result + (this.foo.hashCode()); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /java/src/main/java/software/amazon/jsii/tests/calculator/base/IBaseInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.base; + +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.base.$Module.class, fqn = \\"@scope/jsii-calc-base.IBaseInterface\\") +@software.amazon.jsii.Jsii.Proxy(IBaseInterface.Jsii$Proxy.class) +public interface IBaseInterface extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.baseofbase.IVeryBaseInterface { + + void bar(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.base.IBaseInterface { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + @Override + public void bar() { + this.jsiiCall(\\"bar\\", software.amazon.jsii.NativeType.VOID); + } + + @Override + public void foo() { + this.jsiiCall(\\"foo\\", software.amazon.jsii.NativeType.VOID); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /java/src/main/resources/software/amazon/jsii/tests/calculator/base/$Module.txt 1`] = ` +Object { + Symbol(file): "@scope/jsii-calc-base.Base=software.amazon.jsii.tests.calculator.base.Base +@scope/jsii-calc-base.BaseProps=software.amazon.jsii.tests.calculator.base.BaseProps +@scope/jsii-calc-base.IBaseInterface=software.amazon.jsii.tests.calculator.base.IBaseInterface +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /java/src/main/resources/software/amazon/jsii/tests/calculator/base/jsii-calc-base@0.0.0.jsii.tgz 1`] = `java/src/main/resources/software/amazon/jsii/tests/calculator/base/jsii-calc-base@0.0.0.jsii.tgz is a tarball`; + +exports[`Generated code for "@scope/jsii-calc-base": /js/jsii-calc-base@0.0.0.jsii.tgz 1`] = `js/jsii-calc-base@0.0.0.jsii.tgz is a tarball`; + +exports[`Generated code for "@scope/jsii-calc-base": /python/MANIFEST.in 1`] = ` +Object { + Symbol(file): "include pyproject.toml +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /python/README.md 1`] = ` +Object { + Symbol(file): " +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /python/pyproject.toml 1`] = ` +Object { + Symbol(file): "[build-system] +requires = [\\"setuptools >= 38.6.0\\", \\"wheel >= 0.31.0\\"] +build-backend = \\"setuptools.build_meta\\" +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /python/setup.py 1`] = ` +Object { + Symbol(file): "import json +import setuptools + +kwargs = json.loads( + \\"\\"\\" +{ + \\"name\\": \\"scope.jsii-calc-base\\", + \\"version\\": \\"0.0.0\\", + \\"description\\": \\"An example direct dependency for jsii-calc.\\", + \\"license\\": \\"Apache-2.0\\", + \\"url\\": \\"https://github.com/aws/jsii\\", + \\"long_description_content_type\\": \\"text/markdown\\", + \\"author\\": \\"Amazon Web Services\\", + \\"project_urls\\": { + \\"Source\\": \\"https://github.com/aws/jsii.git\\" + }, + \\"package_dir\\": { + \\"\\": \\"src\\" + }, + \\"packages\\": [ + \\"scope.jsii_calc_base\\", + \\"scope.jsii_calc_base._jsii\\" + ], + \\"package_data\\": { + \\"scope.jsii_calc_base._jsii\\": [ + \\"jsii-calc-base@0.0.0.jsii.tgz\\" + ], + \\"scope.jsii_calc_base\\": [ + \\"py.typed\\" + ] + }, + \\"python_requires\\": \\">=3.6\\", + \\"install_requires\\": [ + \\"jsii>=0.0.0, <0.0.1\\", + \\"publication>=0.0.3\\", + \\"scope.jsii-calc-base-of-base>=0.0.0, <0.0.1\\" + ], + \\"classifiers\\": [ + \\"Intended Audience :: Developers\\", + \\"Operating System :: OS Independent\\", + \\"Programming Language :: JavaScript\\", + \\"Programming Language :: Python :: 3 :: Only\\", + \\"Programming Language :: Python :: 3.6\\", + \\"Programming Language :: Python :: 3.7\\", + \\"Programming Language :: Python :: 3.8\\", + \\"Typing :: Typed\\", + \\"License :: OSI Approved\\" + ] +} +\\"\\"\\" +) + +with open(\\"README.md\\") as fp: + kwargs[\\"long_description\\"] = fp.read() + + +setuptools.setup(**kwargs) +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /python/src/scope/jsii_calc_base/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from ._jsii import * + +import scope.jsii_calc_base_of_base + + +class Base(metaclass=jsii.JSIIAbstractClass, jsii_type=\\"@scope/jsii-calc-base.Base\\"): + \\"\\"\\"A base class.\\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _BaseProxy + + def __init__(self) -> None: + jsii.create(Base, self, []) + + @jsii.member(jsii_name=\\"typeName\\") + def type_name(self) -> typing.Any: + \\"\\"\\" + return + :return: the name of the class (to verify native type names are created for derived classes). + \\"\\"\\" + return jsii.invoke(self, \\"typeName\\", []) + + +class _BaseProxy(Base): + pass + + +@jsii.data_type( + jsii_type=\\"@scope/jsii-calc-base.BaseProps\\", + jsii_struct_bases=[scope.jsii_calc_base_of_base.VeryBaseProps], + name_mapping={\\"foo\\": \\"foo\\", \\"bar\\": \\"bar\\"}, +) +class BaseProps(scope.jsii_calc_base_of_base.VeryBaseProps): + def __init__(self, *, foo: scope.jsii_calc_base_of_base.Very, bar: str) -> None: + \\"\\"\\" + :param foo: - + :param bar: - + \\"\\"\\" + self._values = { + \\"foo\\": foo, + \\"bar\\": bar, + } + + @builtins.property + def foo(self) -> scope.jsii_calc_base_of_base.Very: + return self._values.get(\\"foo\\") + + @builtins.property + def bar(self) -> str: + return self._values.get(\\"bar\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"BaseProps(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +@jsii.interface(jsii_type=\\"@scope/jsii-calc-base.IBaseInterface\\") +class IBaseInterface( + scope.jsii_calc_base_of_base.IVeryBaseInterface, jsii.compat.Protocol +): + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IBaseInterfaceProxy + + @jsii.member(jsii_name=\\"bar\\") + def bar(self) -> None: + ... + + +class _IBaseInterfaceProxy( + jsii.proxy_for(scope.jsii_calc_base_of_base.IVeryBaseInterface) +): + __jsii_type__ = \\"@scope/jsii-calc-base.IBaseInterface\\" + + @jsii.member(jsii_name=\\"bar\\") + def bar(self) -> None: + return jsii.invoke(self, \\"bar\\", []) + + +__all__ = [ + \\"Base\\", + \\"BaseProps\\", + \\"IBaseInterface\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /python/src/scope/jsii_calc_base/_jsii/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +import scope.jsii_calc_base_of_base._jsii + +__jsii_assembly__ = jsii.JSIIAssembly.load( + \\"@scope/jsii-calc-base\\", \\"0.0.0\\", __name__[0:-6], \\"jsii-calc-base@0.0.0.jsii.tgz\\" +) + +__all__ = [ + \\"__jsii_assembly__\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base": /python/src/scope/jsii_calc_base/_jsii/jsii-calc-base@0.0.0.jsii.tgz 1`] = `python/src/scope/jsii_calc_base/_jsii/jsii-calc-base@0.0.0.jsii.tgz is a tarball`; + +exports[`Generated code for "@scope/jsii-calc-base": /python/src/scope/jsii_calc_base/py.typed 1`] = ` +Object { + Symbol(file): " +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": / 1`] = ` + + ┣━ 📁 dotnet + ┃ ┗━ 📁 Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId + ┃ ┣━ 📄 .jsii + ┃ ┣━ 📁 Amazon + ┃ ┃ ┗━ 📁 JSII + ┃ ┃ ┗━ 📁 Tests + ┃ ┃ ┗━ 📁 CalculatorNamespace + ┃ ┃ ┗━ 📁 BaseOfBaseNamespace + ┃ ┃ ┣━ 📁 Internal + ┃ ┃ ┃ ┗━ 📁 DependencyResolution + ┃ ┃ ┃ ┗━ 📄 Anchor.cs + ┃ ┃ ┣━ 📄 IVeryBaseInterface.cs + ┃ ┃ ┣━ 📄 IVeryBaseInterfaceProxy.cs + ┃ ┃ ┣━ 📄 IVeryBaseProps.cs + ┃ ┃ ┣━ 📄 Very.cs + ┃ ┃ ┣━ 📄 VeryBaseProps.cs + ┃ ┃ ┗━ 📄 VeryBasePropsProxy.cs + ┃ ┣━ 📄 Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId.csproj + ┃ ┣━ 📄 AssemblyInfo.cs + ┃ ┗━ 📄 scope-jsii-calc-base-of-base-0.0.0.tgz + ┣━ 📁 java + ┃ ┣━ 📄 pom.xml + ┃ ┗━ 📁 src + ┃ ┗━ 📁 main + ┃ ┣━ 📁 java + ┃ ┃ ┗━ 📁 software + ┃ ┃ ┗━ 📁 amazon + ┃ ┃ ┗━ 📁 jsii + ┃ ┃ ┗━ 📁 tests + ┃ ┃ ┗━ 📁 calculator + ┃ ┃ ┗━ 📁 baseofbase + ┃ ┃ ┣━ 📄 $Module.java + ┃ ┃ ┣━ 📄 IVeryBaseInterface.java + ┃ ┃ ┣━ 📄 Very.java + ┃ ┃ ┗━ 📄 VeryBaseProps.java + ┃ ┗━ 📁 resources + ┃ ┗━ 📁 software + ┃ ┗━ 📁 amazon + ┃ ┗━ 📁 jsii + ┃ ┗━ 📁 tests + ┃ ┗━ 📁 calculator + ┃ ┗━ 📁 baseofbase + ┃ ┣━ 📄 $Module.txt + ┃ ┗━ 📄 jsii-calc-base-of-base@0.0.0.jsii.tgz + ┣━ 📁 js + ┃ ┗━ 📄 jsii-calc-base-of-base@0.0.0.jsii.tgz + ┗━ 📁 python + ┣━ 📄 MANIFEST.in + ┣━ 📄 pyproject.toml + ┣━ 📄 README.md + ┣━ 📄 setup.py + ┗━ 📁 src + ┗━ 📁 scope + ┗━ 📁 jsii_calc_base_of_base + ┣━ 📄 __init__.py + ┣━ 📁 _jsii + ┃ ┣━ 📄 __init__.py + ┃ ┗━ 📄 jsii-calc-base-of-base@0.0.0.jsii.tgz + ┗━ 📄 py.typed +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/.jsii 1`] = ` +Object { + Symbol(file): "{ + \\"author\\": { + \\"name\\": \\"Amazon Web Services\\", + \\"organization\\": true, + \\"roles\\": [ + \\"author\\" + ], + \\"url\\": \\"https://aws.amazon.com\\" + }, + \\"description\\": \\"An example transitive dependency for jsii-calc.\\", + \\"homepage\\": \\"https://github.com/aws/jsii\\", + \\"jsiiVersion\\": \\"0.0.0\\", + \\"license\\": \\"Apache-2.0\\", + \\"name\\": \\"@scope/jsii-calc-base-of-base\\", + \\"repository\\": { + \\"directory\\": \\"packages/@scope/jsii-calc-base-of-base\\", + \\"type\\": \\"git\\", + \\"url\\": \\"https://github.com/aws/jsii.git\\" + }, + \\"schema\\": \\"jsii/0.10.0\\", + \\"targets\\": { + \\"dotnet\\": { + \\"namespace\\": \\"Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace\\", + \\"packageId\\": \\"Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId\\" + }, + \\"java\\": { + \\"maven\\": { + \\"artifactId\\": \\"calculator-base-of-base\\", + \\"groupId\\": \\"software.amazon.jsii.tests\\" + }, + \\"package\\": \\"software.amazon.jsii.tests.calculator.baseofbase\\" + }, + \\"js\\": { + \\"npm\\": \\"@scope/jsii-calc-base-of-base\\" + }, + \\"python\\": { + \\"distName\\": \\"scope.jsii-calc-base-of-base\\", + \\"module\\": \\"scope.jsii_calc_base_of_base\\" + } + }, + \\"types\\": { + \\"@scope/jsii-calc-base-of-base.IVeryBaseInterface\\": { + \\"assembly\\": \\"@scope/jsii-calc-base-of-base\\", + \\"fqn\\": \\"@scope/jsii-calc-base-of-base.IVeryBaseInterface\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 1 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 2 + }, + \\"name\\": \\"foo\\" + } + ], + \\"name\\": \\"IVeryBaseInterface\\" + }, + \\"@scope/jsii-calc-base-of-base.Very\\": { + \\"assembly\\": \\"@scope/jsii-calc-base-of-base\\", + \\"fqn\\": \\"@scope/jsii-calc-base-of-base.Very\\", + \\"initializer\\": {}, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 9 + }, + \\"methods\\": [ + { + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 10 + }, + \\"name\\": \\"hey\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + } + ], + \\"name\\": \\"Very\\" + }, + \\"@scope/jsii-calc-base-of-base.VeryBaseProps\\": { + \\"assembly\\": \\"@scope/jsii-calc-base-of-base\\", + \\"datatype\\": true, + \\"fqn\\": \\"@scope/jsii-calc-base-of-base.VeryBaseProps\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 5 + }, + \\"name\\": \\"VeryBaseProps\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 6 + }, + \\"name\\": \\"foo\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-base-of-base.Very\\" + } + } + ] + } + }, + \\"version\\": \\"0.0.0\\", + \\"fingerprint\\": \\"v3mwSbKGQ2aa8g0DEKIeaEXh3csX7PX2MJJxHVRufhI=\\" +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId.csproj 1`] = ` +Object { + Symbol(file): " + + + An example transitive dependency for jsii-calc. + Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId + Apache-2.0 + 0.0.0 + + Amazon Web Services + Amazon Web Services + en-US + https://github.com/aws/jsii + https://github.com/aws/jsii.git + git + + true + true + true + true + enable + snupkg + netcoreapp3.1 + + + + + + + + + 0612,0618 + + + +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/IVeryBaseInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace +{ + [JsiiInterface(nativeType: typeof(IVeryBaseInterface), fullyQualifiedName: \\"@scope/jsii-calc-base-of-base.IVeryBaseInterface\\")] + public interface IVeryBaseInterface + { + [JsiiMethod(name: \\"foo\\")] + void Foo(); + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/IVeryBaseInterfaceProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace +{ + [JsiiTypeProxy(nativeType: typeof(IVeryBaseInterface), fullyQualifiedName: \\"@scope/jsii-calc-base-of-base.IVeryBaseInterface\\")] + internal sealed class IVeryBaseInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.IVeryBaseInterface + { + private IVeryBaseInterfaceProxy(ByRefValue reference): base(reference) + { + } + + [JsiiMethod(name: \\"foo\\")] + public void Foo() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/IVeryBaseProps.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace +{ + [JsiiInterface(nativeType: typeof(IVeryBaseProps), fullyQualifiedName: \\"@scope/jsii-calc-base-of-base.VeryBaseProps\\")] + public interface IVeryBaseProps + { + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-base-of-base.Very\\\\\\"}\\")] + Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very Foo + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/Internal/DependencyResolution/Anchor.cs 1`] = ` +Object { + Symbol(file): "#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Internal.DependencyResolution +{ + public sealed class Anchor + { + public Anchor() + { + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/Very.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace +{ + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very), fullyQualifiedName: \\"@scope/jsii-calc-base-of-base.Very\\")] + public class Very : DeputyBase + { + public Very(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Very(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Very(DeputyProps props): base(props) + { + } + + [JsiiMethod(name: \\"hey\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\")] + public virtual double Hey() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/VeryBaseProps.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace +{ + #pragma warning disable CS8618 + + [JsiiByValue(fqn: \\"@scope/jsii-calc-base-of-base.VeryBaseProps\\")] + public class VeryBaseProps : Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.IVeryBaseProps + { + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-base-of-base.Very\\\\\\"}\\", isOverride: true)] + public Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very Foo + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/VeryBasePropsProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace +{ + [JsiiTypeProxy(nativeType: typeof(IVeryBaseProps), fullyQualifiedName: \\"@scope/jsii-calc-base-of-base.VeryBaseProps\\")] + internal sealed class VeryBasePropsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.IVeryBaseProps + { + private VeryBasePropsProxy(ByRefValue reference): base(reference) + { + } + + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-base-of-base.Very\\\\\\"}\\")] + public Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very Foo + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/AssemblyInfo.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +[assembly: JsiiAssembly(\\"@scope/jsii-calc-base-of-base\\", \\"0.0.0\\", \\"scope-jsii-calc-base-of-base-0.0.0.tgz\\")] +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/scope-jsii-calc-base-of-base-0.0.0.tgz 1`] = `dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/scope-jsii-calc-base-of-base-0.0.0.tgz is a tarball`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /java/pom.xml 1`] = ` +Object { + Symbol(file): " + + 4.0.0 + \${project.groupId}:\${project.artifactId} + An example transitive dependency for jsii-calc. + https://github.com/aws/jsii + + + Apache License 2.0 + http://www.apache.org/licenses/LICENSE-2.0 + repo + An OSI-approved license + + + + + Amazon Web Services + + author + + https://aws.amazon.com + + + + scm:git:https://github.com/aws/jsii.git + https://github.com/aws/jsii.git + + software.amazon.jsii.tests + calculator-base-of-base + 0.0.0 + jar + + UTF-8 + + + + software.amazon.jsii + jsii-runtime + [0.0.0,0.0.1) + + + org.jetbrains + annotations + [16.0.3,20.0.0) + + + + javax.annotation + javax.annotation-api + [1.3.2,1.4.0) + compile + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.0 + + + true + + true + true + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.2.1 + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.1.1 + + + attach-javadocs + + jar + + + + + false + protected + + **/$Module.java + + -J-XX:+TieredCompilation + -J-XX:TieredStopAtLevel=1 + + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.0.0-M3 + + + enforce-maven + + enforce + + + + + 3.6 + + + + + + + + org.codehaus.mojo + versions-maven-plugin + 2.7 + + false + + + + + +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/$Module.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.baseofbase; + +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.IOException; +import java.io.Reader; +import java.io.UncheckedIOException; + +import java.nio.charset.StandardCharsets; + +import java.util.HashMap; +import java.util.Map; + +import software.amazon.jsii.JsiiModule; + +public final class $Module extends JsiiModule { + private static final Map MODULE_TYPES = load(); + + private static Map load() { + final Map result = new HashMap<>(); + final ClassLoader cl = $Module.class.getClassLoader(); + try (final InputStream is = cl.getResourceAsStream(\\"software/amazon/jsii/tests/calculator/baseofbase/$Module.txt\\"); + final Reader rd = new InputStreamReader(is, StandardCharsets.UTF_8); + final BufferedReader br = new BufferedReader(rd)) { + br.lines() + .filter(line -> !line.trim().isEmpty()) + .forEach(line -> { + final String[] parts = line.split(\\"=\\", 2); + final String fqn = parts[0]; + final String className = parts[1]; + result.put(fqn, className); + }); + } + catch (final IOException exception) { + throw new UncheckedIOException(exception); + } + return result; + } + + private final Map> cache = new HashMap<>(); + + public $Module() { + super(\\"@scope/jsii-calc-base-of-base\\", \\"0.0.0\\", $Module.class, \\"jsii-calc-base-of-base@0.0.0.jsii.tgz\\"); + } + + @Override + protected Class resolveClass(final String fqn) throws ClassNotFoundException { + if (!MODULE_TYPES.containsKey(fqn)) { + throw new ClassNotFoundException(\\"Unknown JSII type: \\" + fqn); + } + String className = MODULE_TYPES.get(fqn); + if (!this.cache.containsKey(className)) { + this.cache.put(className, this.findClass(className)); + } + return this.cache.get(className); + } + + private Class findClass(final String binaryName) { + try { + return Class.forName(binaryName); + } + catch (final ClassNotFoundException exception) { + throw new RuntimeException(exception); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/IVeryBaseInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.baseofbase; + +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.baseofbase.$Module.class, fqn = \\"@scope/jsii-calc-base-of-base.IVeryBaseInterface\\") +@software.amazon.jsii.Jsii.Proxy(IVeryBaseInterface.Jsii$Proxy.class) +public interface IVeryBaseInterface extends software.amazon.jsii.JsiiSerializable { + + void foo(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.baseofbase.IVeryBaseInterface { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + @Override + public void foo() { + this.jsiiCall(\\"foo\\", software.amazon.jsii.NativeType.VOID); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/Very.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.baseofbase; + +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.baseofbase.$Module.class, fqn = \\"@scope/jsii-calc-base-of-base.Very\\") +public class Very extends software.amazon.jsii.JsiiObject { + + protected Very(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Very(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + public Very() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + public @org.jetbrains.annotations.NotNull java.lang.Number hey() { + return this.jsiiCall(\\"hey\\", java.lang.Number.class); + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/VeryBaseProps.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.baseofbase; + +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.baseofbase.$Module.class, fqn = \\"@scope/jsii-calc-base-of-base.VeryBaseProps\\") +@software.amazon.jsii.Jsii.Proxy(VeryBaseProps.Jsii$Proxy.class) +public interface VeryBaseProps extends software.amazon.jsii.JsiiSerializable { + + @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.baseofbase.Very getFoo(); + + /** + * @return a {@link Builder} of {@link VeryBaseProps} + */ + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link VeryBaseProps} + */ + public static final class Builder implements software.amazon.jsii.Builder { + private software.amazon.jsii.tests.calculator.baseofbase.Very foo; + + /** + * Sets the value of {@link VeryBaseProps#getFoo} + * @param foo the value to be set. This parameter is required. + * @return {@code this} + */ + public Builder foo(software.amazon.jsii.tests.calculator.baseofbase.Very foo) { + this.foo = foo; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link VeryBaseProps} + * @throws NullPointerException if any required attribute was not provided + */ + @Override + public VeryBaseProps build() { + return new Jsii$Proxy(foo); + } + } + + /** + * An implementation for {@link VeryBaseProps} + */ + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements VeryBaseProps { + private final software.amazon.jsii.tests.calculator.baseofbase.Very foo; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.foo = this.jsiiGet(\\"foo\\", software.amazon.jsii.tests.calculator.baseofbase.Very.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final software.amazon.jsii.tests.calculator.baseofbase.Very foo) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.foo = java.util.Objects.requireNonNull(foo, \\"foo is required\\"); + } + + @Override + public software.amazon.jsii.tests.calculator.baseofbase.Very getFoo() { + return this.foo; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"foo\\", om.valueToTree(this.getFoo())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"@scope/jsii-calc-base-of-base.VeryBaseProps\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + VeryBaseProps.Jsii$Proxy that = (VeryBaseProps.Jsii$Proxy) o; + + return this.foo.equals(that.foo); + } + + @Override + public int hashCode() { + int result = this.foo.hashCode(); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /java/src/main/resources/software/amazon/jsii/tests/calculator/baseofbase/$Module.txt 1`] = ` +Object { + Symbol(file): "@scope/jsii-calc-base-of-base.IVeryBaseInterface=software.amazon.jsii.tests.calculator.baseofbase.IVeryBaseInterface +@scope/jsii-calc-base-of-base.Very=software.amazon.jsii.tests.calculator.baseofbase.Very +@scope/jsii-calc-base-of-base.VeryBaseProps=software.amazon.jsii.tests.calculator.baseofbase.VeryBaseProps +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /java/src/main/resources/software/amazon/jsii/tests/calculator/baseofbase/jsii-calc-base-of-base@0.0.0.jsii.tgz 1`] = `java/src/main/resources/software/amazon/jsii/tests/calculator/baseofbase/jsii-calc-base-of-base@0.0.0.jsii.tgz is a tarball`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /js/jsii-calc-base-of-base@0.0.0.jsii.tgz 1`] = `js/jsii-calc-base-of-base@0.0.0.jsii.tgz is a tarball`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/MANIFEST.in 1`] = ` +Object { + Symbol(file): "include pyproject.toml +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/README.md 1`] = ` +Object { + Symbol(file): " +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/pyproject.toml 1`] = ` +Object { + Symbol(file): "[build-system] +requires = [\\"setuptools >= 38.6.0\\", \\"wheel >= 0.31.0\\"] +build-backend = \\"setuptools.build_meta\\" +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/setup.py 1`] = ` +Object { + Symbol(file): "import json +import setuptools + +kwargs = json.loads( + \\"\\"\\" +{ + \\"name\\": \\"scope.jsii-calc-base-of-base\\", + \\"version\\": \\"0.0.0\\", + \\"description\\": \\"An example transitive dependency for jsii-calc.\\", + \\"license\\": \\"Apache-2.0\\", + \\"url\\": \\"https://github.com/aws/jsii\\", + \\"long_description_content_type\\": \\"text/markdown\\", + \\"author\\": \\"Amazon Web Services\\", + \\"project_urls\\": { + \\"Source\\": \\"https://github.com/aws/jsii.git\\" + }, + \\"package_dir\\": { + \\"\\": \\"src\\" + }, + \\"packages\\": [ + \\"scope.jsii_calc_base_of_base\\", + \\"scope.jsii_calc_base_of_base._jsii\\" + ], + \\"package_data\\": { + \\"scope.jsii_calc_base_of_base._jsii\\": [ + \\"jsii-calc-base-of-base@0.0.0.jsii.tgz\\" + ], + \\"scope.jsii_calc_base_of_base\\": [ + \\"py.typed\\" + ] + }, + \\"python_requires\\": \\">=3.6\\", + \\"install_requires\\": [ + \\"jsii>=0.0.0, <0.0.1\\", + \\"publication>=0.0.3\\" + ], + \\"classifiers\\": [ + \\"Intended Audience :: Developers\\", + \\"Operating System :: OS Independent\\", + \\"Programming Language :: JavaScript\\", + \\"Programming Language :: Python :: 3 :: Only\\", + \\"Programming Language :: Python :: 3.6\\", + \\"Programming Language :: Python :: 3.7\\", + \\"Programming Language :: Python :: 3.8\\", + \\"Typing :: Typed\\", + \\"License :: OSI Approved\\" + ] +} +\\"\\"\\" +) + +with open(\\"README.md\\") as fp: + kwargs[\\"long_description\\"] = fp.read() + + +setuptools.setup(**kwargs) +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/src/scope/jsii_calc_base_of_base/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from ._jsii import * + + +@jsii.interface(jsii_type=\\"@scope/jsii-calc-base-of-base.IVeryBaseInterface\\") +class IVeryBaseInterface(jsii.compat.Protocol): + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IVeryBaseInterfaceProxy + + @jsii.member(jsii_name=\\"foo\\") + def foo(self) -> None: + ... + + +class _IVeryBaseInterfaceProxy: + __jsii_type__ = \\"@scope/jsii-calc-base-of-base.IVeryBaseInterface\\" + + @jsii.member(jsii_name=\\"foo\\") + def foo(self) -> None: + return jsii.invoke(self, \\"foo\\", []) + + +class Very(metaclass=jsii.JSIIMeta, jsii_type=\\"@scope/jsii-calc-base-of-base.Very\\"): + def __init__(self) -> None: + jsii.create(Very, self, []) + + @jsii.member(jsii_name=\\"hey\\") + def hey(self) -> jsii.Number: + return jsii.invoke(self, \\"hey\\", []) + + +@jsii.data_type( + jsii_type=\\"@scope/jsii-calc-base-of-base.VeryBaseProps\\", + jsii_struct_bases=[], + name_mapping={\\"foo\\": \\"foo\\"}, +) +class VeryBaseProps: + def __init__(self, *, foo: \\"Very\\") -> None: + \\"\\"\\" + :param foo: - + \\"\\"\\" + self._values = { + \\"foo\\": foo, + } + + @builtins.property + def foo(self) -> \\"Very\\": + return self._values.get(\\"foo\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"VeryBaseProps(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +__all__ = [ + \\"IVeryBaseInterface\\", + \\"Very\\", + \\"VeryBaseProps\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/src/scope/jsii_calc_base_of_base/_jsii/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +__jsii_assembly__ = jsii.JSIIAssembly.load( + \\"@scope/jsii-calc-base-of-base\\", + \\"0.0.0\\", + __name__[0:-6], + \\"jsii-calc-base-of-base@0.0.0.jsii.tgz\\", +) + +__all__ = [ + \\"__jsii_assembly__\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/src/scope/jsii_calc_base_of_base/_jsii/jsii-calc-base-of-base@0.0.0.jsii.tgz 1`] = `python/src/scope/jsii_calc_base_of_base/_jsii/jsii-calc-base-of-base@0.0.0.jsii.tgz is a tarball`; + +exports[`Generated code for "@scope/jsii-calc-base-of-base": /python/src/scope/jsii_calc_base_of_base/py.typed 1`] = ` +Object { + Symbol(file): " +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": / 1`] = ` + + ┣━ 📁 dotnet + ┃ ┗━ 📁 Amazon.JSII.Tests.CalculatorPackageId.LibPackageId + ┃ ┣━ 📄 .jsii + ┃ ┣━ 📁 Amazon + ┃ ┃ ┗━ 📁 JSII + ┃ ┃ ┗━ 📁 Tests + ┃ ┃ ┣━ 📁 CalculatorNamespace + ┃ ┃ ┃ ┗━ 📁 LibNamespace + ┃ ┃ ┃ ┣━ 📄 EnumFromScopedModule.cs + ┃ ┃ ┃ ┣━ 📄 IDoublable.cs + ┃ ┃ ┃ ┣━ 📄 IDoublableProxy.cs + ┃ ┃ ┃ ┣━ 📄 IFriendly.cs + ┃ ┃ ┃ ┣━ 📄 IFriendlyProxy.cs + ┃ ┃ ┃ ┣━ 📄 IMyFirstStruct.cs + ┃ ┃ ┃ ┣━ 📁 Internal + ┃ ┃ ┃ ┃ ┗━ 📁 DependencyResolution + ┃ ┃ ┃ ┃ ┗━ 📄 Anchor.cs + ┃ ┃ ┃ ┣━ 📄 IStructWithOnlyOptionals.cs + ┃ ┃ ┃ ┣━ 📄 IThreeLevelsInterface.cs + ┃ ┃ ┃ ┣━ 📄 IThreeLevelsInterfaceProxy.cs + ┃ ┃ ┃ ┣━ 📄 MyFirstStruct.cs + ┃ ┃ ┃ ┣━ 📄 MyFirstStructProxy.cs + ┃ ┃ ┃ ┣━ 📄 Number.cs + ┃ ┃ ┃ ┣━ 📄 Operation.cs + ┃ ┃ ┃ ┣━ 📄 OperationProxy.cs + ┃ ┃ ┃ ┣━ 📄 StructWithOnlyOptionals.cs + ┃ ┃ ┃ ┣━ 📄 StructWithOnlyOptionalsProxy.cs + ┃ ┃ ┃ ┣━ 📄 Value_.cs + ┃ ┃ ┃ ┗━ 📄 ValueProxy.cs + ┃ ┃ ┗━ 📁 CustomSubmoduleName + ┃ ┃ ┣━ 📄 IReflectable.cs + ┃ ┃ ┣━ 📄 IReflectableEntry.cs + ┃ ┃ ┣━ 📄 IReflectableProxy.cs + ┃ ┃ ┣━ 📄 ReflectableEntry.cs + ┃ ┃ ┣━ 📄 ReflectableEntryProxy.cs + ┃ ┃ ┗━ 📄 Reflector.cs + ┃ ┣━ 📄 Amazon.JSII.Tests.CalculatorPackageId.LibPackageId.csproj + ┃ ┣━ 📄 AssemblyInfo.cs + ┃ ┗━ 📄 scope-jsii-calc-lib-0.0.0.tgz + ┣━ 📁 java + ┃ ┣━ 📄 pom.xml + ┃ ┗━ 📁 src + ┃ ┗━ 📁 main + ┃ ┣━ 📁 java + ┃ ┃ ┗━ 📁 software + ┃ ┃ ┗━ 📁 amazon + ┃ ┃ ┗━ 📁 jsii + ┃ ┃ ┗━ 📁 tests + ┃ ┃ ┗━ 📁 calculator + ┃ ┃ ┣━ 📁 custom_submodule_name + ┃ ┃ ┃ ┣━ 📄 IReflectable.java + ┃ ┃ ┃ ┣━ 📄 ReflectableEntry.java + ┃ ┃ ┃ ┗━ 📄 Reflector.java + ┃ ┃ ┗━ 📁 lib + ┃ ┃ ┣━ 📄 $Module.java + ┃ ┃ ┣━ 📄 EnumFromScopedModule.java + ┃ ┃ ┣━ 📄 IDoublable.java + ┃ ┃ ┣━ 📄 IFriendly.java + ┃ ┃ ┣━ 📄 IThreeLevelsInterface.java + ┃ ┃ ┣━ 📄 MyFirstStruct.java + ┃ ┃ ┣━ 📄 Number.java + ┃ ┃ ┣━ 📄 Operation.java + ┃ ┃ ┣━ 📄 package-info.java + ┃ ┃ ┣━ 📄 StructWithOnlyOptionals.java + ┃ ┃ ┗━ 📄 Value.java + ┃ ┗━ 📁 resources + ┃ ┗━ 📁 software + ┃ ┗━ 📁 amazon + ┃ ┗━ 📁 jsii + ┃ ┗━ 📁 tests + ┃ ┗━ 📁 calculator + ┃ ┗━ 📁 lib + ┃ ┣━ 📄 $Module.txt + ┃ ┗━ 📄 jsii-calc-lib@0.0.0.jsii.tgz + ┣━ 📁 js + ┃ ┗━ 📄 jsii-calc-lib@0.0.0.jsii.tgz + ┗━ 📁 python + ┣━ 📄 MANIFEST.in + ┣━ 📄 pyproject.toml + ┣━ 📄 README.md + ┣━ 📄 setup.py + ┗━ 📁 src + ┗━ 📁 scope + ┗━ 📁 jsii_calc_lib + ┣━ 📄 __init__.py + ┣━ 📁 _jsii + ┃ ┣━ 📄 __init__.py + ┃ ┗━ 📄 jsii-calc-lib@0.0.0.jsii.tgz + ┣━ 📁 custom_submodule_name + ┃ ┗━ 📄 __init__.py + ┗━ 📄 py.typed +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/.jsii 1`] = ` +Object { + Symbol(file): "{ + \\"author\\": { + \\"name\\": \\"Amazon Web Services\\", + \\"organization\\": true, + \\"roles\\": [ + \\"author\\" + ], + \\"url\\": \\"https://aws.amazon.com\\" + }, + \\"dependencies\\": { + \\"@scope/jsii-calc-base\\": \\"^0.0.0\\", + \\"@scope/jsii-calc-base-of-base\\": \\"^0.0.0\\" + }, + \\"dependencyClosure\\": { + \\"@scope/jsii-calc-base\\": { + \\"targets\\": { + \\"dotnet\\": { + \\"namespace\\": \\"Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace\\", + \\"packageId\\": \\"Amazon.JSII.Tests.CalculatorPackageId.BasePackageId\\" + }, + \\"java\\": { + \\"maven\\": { + \\"artifactId\\": \\"calculator-base\\", + \\"groupId\\": \\"software.amazon.jsii.tests\\" + }, + \\"package\\": \\"software.amazon.jsii.tests.calculator.base\\" + }, + \\"js\\": { + \\"npm\\": \\"@scope/jsii-calc-base\\" + }, + \\"python\\": { + \\"distName\\": \\"scope.jsii-calc-base\\", + \\"module\\": \\"scope.jsii_calc_base\\" + } + } + }, + \\"@scope/jsii-calc-base-of-base\\": { + \\"targets\\": { + \\"dotnet\\": { + \\"namespace\\": \\"Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace\\", + \\"packageId\\": \\"Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId\\" + }, + \\"java\\": { + \\"maven\\": { + \\"artifactId\\": \\"calculator-base-of-base\\", + \\"groupId\\": \\"software.amazon.jsii.tests\\" + }, + \\"package\\": \\"software.amazon.jsii.tests.calculator.baseofbase\\" + }, + \\"js\\": { + \\"npm\\": \\"@scope/jsii-calc-base-of-base\\" + }, + \\"python\\": { + \\"distName\\": \\"scope.jsii-calc-base-of-base\\", + \\"module\\": \\"scope.jsii_calc_base_of_base\\" + } + } + } + }, + \\"description\\": \\"A simple calcuator library built on JSII.\\", + \\"docs\\": { + \\"deprecated\\": \\"Really just deprecated for shows...\\", + \\"stability\\": \\"deprecated\\" + }, + \\"homepage\\": \\"https://github.com/aws/jsii\\", + \\"jsiiVersion\\": \\"0.0.0\\", + \\"license\\": \\"Apache-2.0\\", + \\"name\\": \\"@scope/jsii-calc-lib\\", + \\"repository\\": { + \\"directory\\": \\"packages/@scope/jsii-calc-lib\\", + \\"type\\": \\"git\\", + \\"url\\": \\"https://github.com/aws/jsii.git\\" + }, + \\"schema\\": \\"jsii/0.10.0\\", + \\"submodules\\": { + \\"@scope/jsii-calc-lib.submodule\\": { + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 112 + }, + \\"targets\\": { + \\"dotnet\\": { + \\"namespace\\": \\"Amazon.JSII.Tests.CustomSubmoduleName\\" + }, + \\"java\\": { + \\"package\\": \\"software.amazon.jsii.tests.calculator.custom_submodule_name\\" + }, + \\"python\\": { + \\"module\\": \\"scope.jsii_calc_lib.custom_submodule_name\\" + } + } + } + }, + \\"targets\\": { + \\"dotnet\\": { + \\"namespace\\": \\"Amazon.JSII.Tests.CalculatorNamespace.LibNamespace\\", + \\"packageId\\": \\"Amazon.JSII.Tests.CalculatorPackageId.LibPackageId\\", + \\"versionSuffix\\": \\"-devpreview\\" + }, + \\"java\\": { + \\"maven\\": { + \\"artifactId\\": \\"calculator-lib\\", + \\"groupId\\": \\"software.amazon.jsii.tests\\", + \\"versionSuffix\\": \\".DEVPREVIEW\\" + }, + \\"package\\": \\"software.amazon.jsii.tests.calculator.lib\\" + }, + \\"js\\": { + \\"npm\\": \\"@scope/jsii-calc-lib\\" + }, + \\"python\\": { + \\"distName\\": \\"scope.jsii-calc-lib\\", + \\"module\\": \\"scope.jsii_calc_lib\\" + } + }, + \\"types\\": { + \\"@scope/jsii-calc-lib.EnumFromScopedModule\\": { + \\"assembly\\": \\"@scope/jsii-calc-lib\\", + \\"docs\\": { + \\"remarks\\": \\"See awslabs/jsii#138\\", + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"Check that enums from \\\\\\\\@scoped packages can be references.\\" + }, + \\"fqn\\": \\"@scope/jsii-calc-lib.EnumFromScopedModule\\", + \\"kind\\": \\"enum\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 97 + }, + \\"members\\": [ + { + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"name\\": \\"VALUE1\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"name\\": \\"VALUE2\\" + } + ], + \\"name\\": \\"EnumFromScopedModule\\" + }, + \\"@scope/jsii-calc-lib.IDoublable\\": { + \\"assembly\\": \\"@scope/jsii-calc-lib\\", + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"The general contract for a concrete number.\\" + }, + \\"fqn\\": \\"@scope/jsii-calc-lib.IDoublable\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 23 + }, + \\"name\\": \\"IDoublable\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 24 + }, + \\"name\\": \\"doubleValue\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"@scope/jsii-calc-lib.IFriendly\\": { + \\"assembly\\": \\"@scope/jsii-calc-lib\\", + \\"docs\\": { + \\"remarks\\": \\"These classes can be greeted with\\\\na \\\\\\"hello\\\\\\" or \\\\\\"goodbye\\\\\\" blessing and they will respond back in a fun and friendly manner.\\", + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"Applies to classes that are considered friendly.\\" + }, + \\"fqn\\": \\"@scope/jsii-calc-lib.IFriendly\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 58 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"Say hello!\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 62 + }, + \\"name\\": \\"hello\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"IFriendly\\" + }, + \\"@scope/jsii-calc-lib.IThreeLevelsInterface\\": { + \\"assembly\\": \\"@scope/jsii-calc-lib\\", + \\"docs\\": { + \\"remarks\\": \\"Their presence validates that .NET/Java/jsii-reflect can track all fields\\\\nfar enough up the tree.\\", + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"Interface that inherits from packages 2 levels up the tree.\\" + }, + \\"fqn\\": \\"@scope/jsii-calc-lib.IThreeLevelsInterface\\", + \\"interfaces\\": [ + \\"@scope/jsii-calc-base.IBaseInterface\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 108 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 109 + }, + \\"name\\": \\"baz\\" + } + ], + \\"name\\": \\"IThreeLevelsInterface\\" + }, + \\"@scope/jsii-calc-lib.MyFirstStruct\\": { + \\"assembly\\": \\"@scope/jsii-calc-lib\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"This is the first struct we have created in jsii.\\" + }, + \\"fqn\\": \\"@scope/jsii-calc-lib.MyFirstStruct\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 68 + }, + \\"name\\": \\"MyFirstStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"An awesome number value.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 77 + }, + \\"name\\": \\"anumber\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"A string value.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 72 + }, + \\"name\\": \\"astring\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 78 + }, + \\"name\\": \\"firstOptional\\", + \\"optional\\": true, + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"array\\" + } + } + } + ] + }, + \\"@scope/jsii-calc-lib.Number\\": { + \\"assembly\\": \\"@scope/jsii-calc-lib\\", + \\"base\\": \\"@scope/jsii-calc-lib.Value\\", + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"Represents a concrete number.\\" + }, + \\"fqn\\": \\"@scope/jsii-calc-lib.Number\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"Creates a Number object.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 35 + }, + \\"parameters\\": [ + { + \\"docs\\": { + \\"summary\\": \\"The number.\\" + }, + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"interfaces\\": [ + \\"@scope/jsii-calc-lib.IDoublable\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 30 + }, + \\"name\\": \\"Number\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"The number multiplied by 2.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 42 + }, + \\"name\\": \\"doubleValue\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.IDoublable\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"The number.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 35 + }, + \\"name\\": \\"value\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.Value\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"@scope/jsii-calc-lib.Operation\\": { + \\"abstract\\": true, + \\"assembly\\": \\"@scope/jsii-calc-lib\\", + \\"base\\": \\"@scope/jsii-calc-lib.Value\\", + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"Represents an operation on values.\\" + }, + \\"fqn\\": \\"@scope/jsii-calc-lib.Operation\\", + \\"initializer\\": {}, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 50 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"String representation of the value.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 51 + }, + \\"name\\": \\"toString\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.Value\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"Operation\\" + }, + \\"@scope/jsii-calc-lib.StructWithOnlyOptionals\\": { + \\"assembly\\": \\"@scope/jsii-calc-lib\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"This is a struct with only optional properties.\\" + }, + \\"fqn\\": \\"@scope/jsii-calc-lib.StructWithOnlyOptionals\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 84 + }, + \\"name\\": \\"StructWithOnlyOptionals\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"The first optional!\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 88 + }, + \\"name\\": \\"optional1\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 89 + }, + \\"name\\": \\"optional2\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 90 + }, + \\"name\\": \\"optional3\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"@scope/jsii-calc-lib.Value\\": { + \\"abstract\\": true, + \\"assembly\\": \\"@scope/jsii-calc-lib\\", + \\"base\\": \\"@scope/jsii-calc-base.Base\\", + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"Abstract class which represents a numeric value.\\" + }, + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\", + \\"initializer\\": {}, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 6 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"String representation of the value.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 15 + }, + \\"name\\": \\"toString\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"Value\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"The value.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 10 + }, + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"@scope/jsii-calc-lib.submodule.IReflectable\\": { + \\"assembly\\": \\"@scope/jsii-calc-lib\\", + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"fqn\\": \\"@scope/jsii-calc-lib.submodule.IReflectable\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/index.ts\\", + \\"line\\": 1 + }, + \\"name\\": \\"IReflectable\\", + \\"namespace\\": \\"submodule\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/index.ts\\", + \\"line\\": 2 + }, + \\"name\\": \\"entries\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.submodule.ReflectableEntry\\" + }, + \\"kind\\": \\"array\\" + } + } + } + ] + }, + \\"@scope/jsii-calc-lib.submodule.ReflectableEntry\\": { + \\"assembly\\": \\"@scope/jsii-calc-lib\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"fqn\\": \\"@scope/jsii-calc-lib.submodule.ReflectableEntry\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/index.ts\\", + \\"line\\": 5 + }, + \\"name\\": \\"ReflectableEntry\\", + \\"namespace\\": \\"submodule\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/index.ts\\", + \\"line\\": 6 + }, + \\"name\\": \\"key\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/index.ts\\", + \\"line\\": 7 + }, + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"any\\" + } + } + ] + }, + \\"@scope/jsii-calc-lib.submodule.Reflector\\": { + \\"assembly\\": \\"@scope/jsii-calc-lib\\", + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"fqn\\": \\"@scope/jsii-calc-lib.submodule.Reflector\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/index.ts\\", + \\"line\\": 11 + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/index.ts\\", + \\"line\\": 10 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"deprecated\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/index.ts\\", + \\"line\\": 13 + }, + \\"name\\": \\"asMap\\", + \\"parameters\\": [ + { + \\"name\\": \\"reflectable\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.submodule.IReflectable\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"any\\" + }, + \\"kind\\": \\"map\\" + } + } + } + } + ], + \\"name\\": \\"Reflector\\", + \\"namespace\\": \\"submodule\\" + } + }, + \\"version\\": \\"0.0.0\\", + \\"fingerprint\\": \\"fVfpIK7xUajlT1zkHIJ8uYJPvy0gLgEe5BM8afu1mVg=\\" +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId.csproj 1`] = ` +Object { + Symbol(file): " + + + A simple calcuator library built on JSII. (Stability: Deprecated) + Amazon.JSII.Tests.CalculatorPackageId.LibPackageId + Apache-2.0 + 0.0.0-devpreview + + Amazon Web Services + Amazon Web Services + en-US + https://github.com/aws/jsii + https://github.com/aws/jsii.git + git + + true + true + true + true + enable + snupkg + netcoreapp3.1 + + + + + + + + + + + 0612,0618 + + + +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/EnumFromScopedModule.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// Check that enums from \\\\@scoped packages can be references. + /// + /// See awslabs/jsii#138 + /// + /// Stability: Deprecated + /// + [JsiiEnum(nativeType: typeof(EnumFromScopedModule), fullyQualifiedName: \\"@scope/jsii-calc-lib.EnumFromScopedModule\\")] + [System.Obsolete()] + public enum EnumFromScopedModule + { + /// + /// Stability: Deprecated + /// + [JsiiEnumMember(name: \\"VALUE1\\")] + [System.Obsolete()] + VALUE1, + /// + /// Stability: Deprecated + /// + [JsiiEnumMember(name: \\"VALUE2\\")] + [System.Obsolete()] + VALUE2 + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IDoublable.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// The general contract for a concrete number. + /// + /// Stability: Deprecated + /// + [JsiiInterface(nativeType: typeof(IDoublable), fullyQualifiedName: \\"@scope/jsii-calc-lib.IDoublable\\")] + [System.Obsolete()] + public interface IDoublable + { + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"doubleValue\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + [System.Obsolete()] + double DoubleValue + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IDoublableProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// The general contract for a concrete number. + /// + /// Stability: Deprecated + /// + [JsiiTypeProxy(nativeType: typeof(IDoublable), fullyQualifiedName: \\"@scope/jsii-calc-lib.IDoublable\\")] + [System.Obsolete()] + internal sealed class IDoublableProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IDoublable + { + private IDoublableProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"doubleValue\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + [System.Obsolete()] + public double DoubleValue + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IFriendly.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// Applies to classes that are considered friendly. + /// + /// These classes can be greeted with + /// a \\"hello\\" or \\"goodbye\\" blessing and they will respond back in a fun and friendly manner. + /// + /// Stability: Deprecated + /// + [JsiiInterface(nativeType: typeof(IFriendly), fullyQualifiedName: \\"@scope/jsii-calc-lib.IFriendly\\")] + [System.Obsolete()] + public interface IFriendly + { + /// Say hello! + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"hello\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + [System.Obsolete()] + string Hello(); + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IFriendlyProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// Applies to classes that are considered friendly. + /// + /// These classes can be greeted with + /// a \\"hello\\" or \\"goodbye\\" blessing and they will respond back in a fun and friendly manner. + /// + /// Stability: Deprecated + /// + [JsiiTypeProxy(nativeType: typeof(IFriendly), fullyQualifiedName: \\"@scope/jsii-calc-lib.IFriendly\\")] + [System.Obsolete()] + internal sealed class IFriendlyProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly + { + private IFriendlyProxy(ByRefValue reference): base(reference) + { + } + + /// Say hello! + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"hello\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + [System.Obsolete()] + public string Hello() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IMyFirstStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// This is the first struct we have created in jsii. + /// + /// Stability: Deprecated + /// + [JsiiInterface(nativeType: typeof(IMyFirstStruct), fullyQualifiedName: \\"@scope/jsii-calc-lib.MyFirstStruct\\")] + [System.Obsolete()] + public interface IMyFirstStruct + { + /// An awesome number value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"anumber\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + [System.Obsolete()] + double Anumber + { + get; + } + + /// A string value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"astring\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + [System.Obsolete()] + string Astring + { + get; + } + + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"firstOptional\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] + [System.Obsolete()] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string[]? FirstOptional + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IStructWithOnlyOptionals.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// This is a struct with only optional properties. + /// + /// Stability: Deprecated + /// + [JsiiInterface(nativeType: typeof(IStructWithOnlyOptionals), fullyQualifiedName: \\"@scope/jsii-calc-lib.StructWithOnlyOptionals\\")] + [System.Obsolete()] + public interface IStructWithOnlyOptionals + { + /// The first optional! + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"optional1\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [System.Obsolete()] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? Optional1 + { + get + { + return null; + } + } + + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"optional2\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + [System.Obsolete()] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + double? Optional2 + { + get + { + return null; + } + } + + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"optional3\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] + [System.Obsolete()] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + bool? Optional3 + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IThreeLevelsInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// Interface that inherits from packages 2 levels up the tree. + /// + /// Their presence validates that .NET/Java/jsii-reflect can track all fields + /// far enough up the tree. + /// + /// Stability: Deprecated + /// + [JsiiInterface(nativeType: typeof(IThreeLevelsInterface), fullyQualifiedName: \\"@scope/jsii-calc-lib.IThreeLevelsInterface\\")] + [System.Obsolete()] + public interface IThreeLevelsInterface : Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.IBaseInterface + { + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"baz\\")] + [System.Obsolete()] + void Baz(); + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IThreeLevelsInterfaceProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// Interface that inherits from packages 2 levels up the tree. + /// + /// Their presence validates that .NET/Java/jsii-reflect can track all fields + /// far enough up the tree. + /// + /// Stability: Deprecated + /// + [JsiiTypeProxy(nativeType: typeof(IThreeLevelsInterface), fullyQualifiedName: \\"@scope/jsii-calc-lib.IThreeLevelsInterface\\")] + [System.Obsolete()] + internal sealed class IThreeLevelsInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IThreeLevelsInterface + { + private IThreeLevelsInterfaceProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"baz\\")] + [System.Obsolete()] + public void Baz() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + [JsiiMethod(name: \\"bar\\")] + public void Bar() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + [JsiiMethod(name: \\"foo\\")] + public void Foo() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Internal/DependencyResolution/Anchor.cs 1`] = ` +Object { + Symbol(file): "#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Internal.DependencyResolution +{ + public sealed class Anchor + { + public Anchor() + { + new Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Internal.DependencyResolution.Anchor(); + new Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Internal.DependencyResolution.Anchor(); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/MyFirstStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + #pragma warning disable CS8618 + + /// This is the first struct we have created in jsii. + /// + /// Stability: Deprecated + /// + [JsiiByValue(fqn: \\"@scope/jsii-calc-lib.MyFirstStruct\\")] + public class MyFirstStruct : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct + { + /// An awesome number value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"anumber\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOverride: true)] + [System.Obsolete()] + public double Anumber + { + get; + set; + } + + /// A string value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"astring\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + [System.Obsolete()] + public string Astring + { + get; + set; + } + + /// + /// Stability: Deprecated + /// + [JsiiOptional] + [JsiiProperty(name: \\"firstOptional\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true, isOverride: true)] + [System.Obsolete()] + public string[]? FirstOptional + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/MyFirstStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// This is the first struct we have created in jsii. + /// + /// Stability: Deprecated + /// + [JsiiTypeProxy(nativeType: typeof(IMyFirstStruct), fullyQualifiedName: \\"@scope/jsii-calc-lib.MyFirstStruct\\")] + [System.Obsolete()] + internal sealed class MyFirstStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct + { + private MyFirstStructProxy(ByRefValue reference): base(reference) + { + } + + /// An awesome number value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"anumber\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + [System.Obsolete()] + public double Anumber + { + get => GetInstanceProperty(); + } + + /// A string value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"astring\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + [System.Obsolete()] + public string Astring + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Deprecated + /// + [JsiiOptional] + [JsiiProperty(name: \\"firstOptional\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] + [System.Obsolete()] + public string[]? FirstOptional + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Number.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// Represents a concrete number. + /// + /// Stability: Deprecated + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Number), fullyQualifiedName: \\"@scope/jsii-calc-lib.Number\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"The number.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + [System.Obsolete()] + public class Number : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IDoublable + { + /// Creates a Number object. + /// The number. + /// + /// Stability: Deprecated + /// + [System.Obsolete()] + public Number(double @value): base(new DeputyProps(new object[]{@value})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.Obsolete()] + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Number(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.Obsolete()] + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Number(DeputyProps props): base(props) + { + } + + /// The number multiplied by 2. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"doubleValue\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + [System.Obsolete()] + public virtual double DoubleValue + { + get => GetInstanceProperty(); + } + + /// The number. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + [System.Obsolete()] + public override double Value + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Operation.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// Represents an operation on values. + /// + /// Stability: Deprecated + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Operation), fullyQualifiedName: \\"@scope/jsii-calc-lib.Operation\\")] + [System.Obsolete()] + public abstract class Operation : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ + { + protected Operation(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Operation(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Operation(DeputyProps props): base(props) + { + } + + /// String representation of the value. + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"toString\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + [System.Obsolete()] + public override abstract string ToString(); + + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/OperationProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// Represents an operation on values. + /// + /// Stability: Deprecated + /// + [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Operation), fullyQualifiedName: \\"@scope/jsii-calc-lib.Operation\\")] + [System.Obsolete()] + internal sealed class OperationProxy : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Operation + { + private OperationProxy(ByRefValue reference): base(reference) + { + } + + /// The value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + [System.Obsolete()] + public override double Value + { + get => GetInstanceProperty(); + } + + /// String representation of the value. + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"toString\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + [System.Obsolete()] + public override string ToString() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/StructWithOnlyOptionals.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// This is a struct with only optional properties. + /// + /// Stability: Deprecated + /// + [JsiiByValue(fqn: \\"@scope/jsii-calc-lib.StructWithOnlyOptionals\\")] + public class StructWithOnlyOptionals : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IStructWithOnlyOptionals + { + /// The first optional! + /// + /// Stability: Deprecated + /// + [JsiiOptional] + [JsiiProperty(name: \\"optional1\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + [System.Obsolete()] + public string? Optional1 + { + get; + set; + } + + /// + /// Stability: Deprecated + /// + [JsiiOptional] + [JsiiProperty(name: \\"optional2\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true, isOverride: true)] + [System.Obsolete()] + public double? Optional2 + { + get; + set; + } + + /// + /// Stability: Deprecated + /// + [JsiiOptional] + [JsiiProperty(name: \\"optional3\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true, isOverride: true)] + [System.Obsolete()] + public bool? Optional3 + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/StructWithOnlyOptionalsProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// This is a struct with only optional properties. + /// + /// Stability: Deprecated + /// + [JsiiTypeProxy(nativeType: typeof(IStructWithOnlyOptionals), fullyQualifiedName: \\"@scope/jsii-calc-lib.StructWithOnlyOptionals\\")] + [System.Obsolete()] + internal sealed class StructWithOnlyOptionalsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IStructWithOnlyOptionals + { + private StructWithOnlyOptionalsProxy(ByRefValue reference): base(reference) + { + } + + /// The first optional! + /// + /// Stability: Deprecated + /// + [JsiiOptional] + [JsiiProperty(name: \\"optional1\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [System.Obsolete()] + public string? Optional1 + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Deprecated + /// + [JsiiOptional] + [JsiiProperty(name: \\"optional2\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + [System.Obsolete()] + public double? Optional2 + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Deprecated + /// + [JsiiOptional] + [JsiiProperty(name: \\"optional3\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] + [System.Obsolete()] + public bool? Optional3 + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Value_.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// Abstract class which represents a numeric value. + /// + /// Stability: Deprecated + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_), fullyQualifiedName: \\"@scope/jsii-calc-lib.Value\\")] + [System.Obsolete()] + public abstract class Value_ : Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Base + { + protected Value_(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Value_(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Value_(DeputyProps props): base(props) + { + } + + /// String representation of the value. + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"toString\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + [System.Obsolete()] + public override string ToString() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// The value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + [System.Obsolete()] + public abstract double Value + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/ValueProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace +{ + /// Abstract class which represents a numeric value. + /// + /// Stability: Deprecated + /// + [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_), fullyQualifiedName: \\"@scope/jsii-calc-lib.Value\\")] + [System.Obsolete()] + internal sealed class ValueProxy : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ + { + private ValueProxy(ByRefValue reference): base(reference) + { + } + + /// The value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + [System.Obsolete()] + public override double Value + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/IReflectable.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CustomSubmoduleName +{ + /// + /// Stability: Deprecated + /// + [JsiiInterface(nativeType: typeof(IReflectable), fullyQualifiedName: \\"@scope/jsii-calc-lib.submodule.IReflectable\\")] + [System.Obsolete()] + public interface IReflectable + { + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"entries\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.submodule.ReflectableEntry\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + [System.Obsolete()] + Amazon.JSII.Tests.CustomSubmoduleName.IReflectableEntry[] Entries + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/IReflectableEntry.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CustomSubmoduleName +{ + /// + /// Stability: Deprecated + /// + [JsiiInterface(nativeType: typeof(IReflectableEntry), fullyQualifiedName: \\"@scope/jsii-calc-lib.submodule.ReflectableEntry\\")] + [System.Obsolete()] + public interface IReflectableEntry + { + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"key\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + [System.Obsolete()] + string Key + { + get; + } + + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}\\")] + [System.Obsolete()] + object Value + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/IReflectableProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CustomSubmoduleName +{ + /// + /// Stability: Deprecated + /// + [JsiiTypeProxy(nativeType: typeof(IReflectable), fullyQualifiedName: \\"@scope/jsii-calc-lib.submodule.IReflectable\\")] + [System.Obsolete()] + internal sealed class IReflectableProxy : DeputyBase, Amazon.JSII.Tests.CustomSubmoduleName.IReflectable + { + private IReflectableProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"entries\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.submodule.ReflectableEntry\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + [System.Obsolete()] + public Amazon.JSII.Tests.CustomSubmoduleName.IReflectableEntry[] Entries + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/ReflectableEntry.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CustomSubmoduleName +{ + #pragma warning disable CS8618 + + /// + /// Stability: Deprecated + /// + [JsiiByValue(fqn: \\"@scope/jsii-calc-lib.submodule.ReflectableEntry\\")] + public class ReflectableEntry : Amazon.JSII.Tests.CustomSubmoduleName.IReflectableEntry + { + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"key\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + [System.Obsolete()] + public string Key + { + get; + set; + } + + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}\\", isOverride: true)] + [System.Obsolete()] + public object Value + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/ReflectableEntryProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CustomSubmoduleName +{ + /// + /// Stability: Deprecated + /// + [JsiiTypeProxy(nativeType: typeof(IReflectableEntry), fullyQualifiedName: \\"@scope/jsii-calc-lib.submodule.ReflectableEntry\\")] + [System.Obsolete()] + internal sealed class ReflectableEntryProxy : DeputyBase, Amazon.JSII.Tests.CustomSubmoduleName.IReflectableEntry + { + private ReflectableEntryProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"key\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + [System.Obsolete()] + public string Key + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}\\")] + [System.Obsolete()] + public object Value + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/Reflector.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CustomSubmoduleName +{ + /// + /// Stability: Deprecated + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CustomSubmoduleName.Reflector), fullyQualifiedName: \\"@scope/jsii-calc-lib.submodule.Reflector\\")] + [System.Obsolete()] + public class Reflector : DeputyBase + { + /// + /// Stability: Deprecated + /// + [System.Obsolete()] + public Reflector(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.Obsolete()] + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Reflector(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.Obsolete()] + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Reflector(DeputyProps props): base(props) + { + } + + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"asMap\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"reflectable\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.submodule.IReflectable\\\\\\"}}]\\")] + [System.Obsolete()] + public virtual System.Collections.Generic.IDictionary AsMap(Amazon.JSII.Tests.CustomSubmoduleName.IReflectable reflectable) + { + return InvokeInstanceMethod>(new System.Type[]{typeof(Amazon.JSII.Tests.CustomSubmoduleName.IReflectable)}, new object[]{reflectable}); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/AssemblyInfo.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +[assembly: JsiiAssembly(\\"@scope/jsii-calc-lib\\", \\"0.0.0\\", \\"scope-jsii-calc-lib-0.0.0.tgz\\")] +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/scope-jsii-calc-lib-0.0.0.tgz 1`] = `dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/scope-jsii-calc-lib-0.0.0.tgz is a tarball`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/pom.xml 1`] = ` +Object { + Symbol(file): " + + 4.0.0 + \${project.groupId}:\${project.artifactId} + A simple calcuator library built on JSII. + https://github.com/aws/jsii + + + Apache License 2.0 + http://www.apache.org/licenses/LICENSE-2.0 + repo + An OSI-approved license + + + + + Amazon Web Services + + author + + https://aws.amazon.com + + + + scm:git:https://github.com/aws/jsii.git + https://github.com/aws/jsii.git + + software.amazon.jsii.tests + calculator-lib + 0.0.0.DEVPREVIEW + jar + + UTF-8 + + + + software.amazon.jsii.tests + calculator-base + [0.0.0,0.0.1) + + + software.amazon.jsii.tests + calculator-base-of-base + [0.0.0,0.0.1) + + + software.amazon.jsii + jsii-runtime + [0.0.0,0.0.1) + + + org.jetbrains + annotations + [16.0.3,20.0.0) + + + + javax.annotation + javax.annotation-api + [1.3.2,1.4.0) + compile + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.0 + + + true + + true + true + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.2.1 + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.1.1 + + + attach-javadocs + + jar + + + + + false + protected + + **/$Module.java + + -J-XX:+TieredCompilation + -J-XX:TieredStopAtLevel=1 + + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.0.0-M3 + + + enforce-maven + + enforce + + + + + 3.6 + + + + + + + + org.codehaus.mojo + versions-maven-plugin + 2.7 + + false + + + + + +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/java/software/amazon/jsii/tests/calculator/custom_submodule_name/IReflectable.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.custom_submodule_name; + +/** + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = \\"@scope/jsii-calc-lib.submodule.IReflectable\\") +@software.amazon.jsii.Jsii.Proxy(IReflectable.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +public interface IReflectable extends software.amazon.jsii.JsiiSerializable { + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @org.jetbrains.annotations.NotNull java.util.List getEntries(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.custom_submodule_name.IReflectable { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public @org.jetbrains.annotations.NotNull java.util.List getEntries() { + return java.util.Collections.unmodifiableList(this.jsiiGet(\\"entries\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.custom_submodule_name.ReflectableEntry.class)))); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/java/software/amazon/jsii/tests/calculator/custom_submodule_name/ReflectableEntry.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.custom_submodule_name; + +/** + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = \\"@scope/jsii-calc-lib.submodule.ReflectableEntry\\") +@software.amazon.jsii.Jsii.Proxy(ReflectableEntry.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +public interface ReflectableEntry extends software.amazon.jsii.JsiiSerializable { + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @org.jetbrains.annotations.NotNull java.lang.String getKey(); + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @org.jetbrains.annotations.NotNull java.lang.Object getValue(); + + /** + * @return a {@link Builder} of {@link ReflectableEntry} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link ReflectableEntry} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String key; + private java.lang.Object value; + + /** + * Sets the value of {@link ReflectableEntry#getKey} + * @param key the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public Builder key(java.lang.String key) { + this.key = key; + return this; + } + + /** + * Sets the value of {@link ReflectableEntry#getValue} + * @param value the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public Builder value(java.lang.Object value) { + this.value = value; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link ReflectableEntry} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public ReflectableEntry build() { + return new Jsii$Proxy(key, value); + } + } + + /** + * An implementation for {@link ReflectableEntry} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ReflectableEntry { + private final java.lang.String key; + private final java.lang.Object value; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.key = this.jsiiGet(\\"key\\", java.lang.String.class); + this.value = this.jsiiGet(\\"value\\", java.lang.Object.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String key, final java.lang.Object value) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.key = java.util.Objects.requireNonNull(key, \\"key is required\\"); + this.value = java.util.Objects.requireNonNull(value, \\"value is required\\"); + } + + @Override + public java.lang.String getKey() { + return this.key; + } + + @Override + public java.lang.Object getValue() { + return this.value; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"key\\", om.valueToTree(this.getKey())); + data.set(\\"value\\", om.valueToTree(this.getValue())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"@scope/jsii-calc-lib.submodule.ReflectableEntry\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + ReflectableEntry.Jsii$Proxy that = (ReflectableEntry.Jsii$Proxy) o; + + if (!key.equals(that.key)) return false; + return this.value.equals(that.value); + } + + @Override + public int hashCode() { + int result = this.key.hashCode(); + result = 31 * result + (this.value.hashCode()); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/java/software/amazon/jsii/tests/calculator/custom_submodule_name/Reflector.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.custom_submodule_name; + +/** + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = \\"@scope/jsii-calc-lib.submodule.Reflector\\") +public class Reflector extends software.amazon.jsii.JsiiObject { + + protected Reflector(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Reflector(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public Reflector() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * @param reflectable This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public @org.jetbrains.annotations.NotNull java.util.Map asMap(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.custom_submodule_name.IReflectable reflectable) { + return java.util.Collections.unmodifiableMap(this.jsiiCall(\\"asMap\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)), new Object[] { java.util.Objects.requireNonNull(reflectable, \\"reflectable is required\\") })); + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/java/software/amazon/jsii/tests/calculator/lib/$Module.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.lib; + +import static java.util.Arrays.asList; + +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.IOException; +import java.io.Reader; +import java.io.UncheckedIOException; + +import java.nio.charset.StandardCharsets; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import software.amazon.jsii.JsiiModule; + +public final class $Module extends JsiiModule { + private static final Map MODULE_TYPES = load(); + + private static Map load() { + final Map result = new HashMap<>(); + final ClassLoader cl = $Module.class.getClassLoader(); + try (final InputStream is = cl.getResourceAsStream(\\"software/amazon/jsii/tests/calculator/lib/$Module.txt\\"); + final Reader rd = new InputStreamReader(is, StandardCharsets.UTF_8); + final BufferedReader br = new BufferedReader(rd)) { + br.lines() + .filter(line -> !line.trim().isEmpty()) + .forEach(line -> { + final String[] parts = line.split(\\"=\\", 2); + final String fqn = parts[0]; + final String className = parts[1]; + result.put(fqn, className); + }); + } + catch (final IOException exception) { + throw new UncheckedIOException(exception); + } + return result; + } + + private final Map> cache = new HashMap<>(); + + public $Module() { + super(\\"@scope/jsii-calc-lib\\", \\"0.0.0\\", $Module.class, \\"jsii-calc-lib@0.0.0.jsii.tgz\\"); + } + + @Override + public List> getDependencies() { + return asList(software.amazon.jsii.tests.calculator.base.$Module.class, software.amazon.jsii.tests.calculator.baseofbase.$Module.class); + } + + @Override + protected Class resolveClass(final String fqn) throws ClassNotFoundException { + if (!MODULE_TYPES.containsKey(fqn)) { + throw new ClassNotFoundException(\\"Unknown JSII type: \\" + fqn); + } + String className = MODULE_TYPES.get(fqn); + if (!this.cache.containsKey(className)) { + this.cache.put(className, this.findClass(className)); + } + return this.cache.get(className); + } + + private Class findClass(final String binaryName) { + try { + return Class.forName(binaryName); + } + catch (final ClassNotFoundException exception) { + throw new RuntimeException(exception); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/java/software/amazon/jsii/tests/calculator/lib/EnumFromScopedModule.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.lib; + +/** + * Check that enums from \\\\@scoped packages can be references. + *

+ * See awslabs/jsii#138 + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = \\"@scope/jsii-calc-lib.EnumFromScopedModule\\") +public enum EnumFromScopedModule { + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + VALUE1, + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + VALUE2, +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/java/software/amazon/jsii/tests/calculator/lib/IDoublable.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.lib; + +/** + * The general contract for a concrete number. + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = \\"@scope/jsii-calc-lib.IDoublable\\") +@software.amazon.jsii.Jsii.Proxy(IDoublable.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +public interface IDoublable extends software.amazon.jsii.JsiiSerializable { + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @org.jetbrains.annotations.NotNull java.lang.Number getDoubleValue(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.lib.IDoublable { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public @org.jetbrains.annotations.NotNull java.lang.Number getDoubleValue() { + return this.jsiiGet(\\"doubleValue\\", java.lang.Number.class); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/java/software/amazon/jsii/tests/calculator/lib/IFriendly.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.lib; + +/** + * Applies to classes that are considered friendly. + *

+ * These classes can be greeted with + * a \\"hello\\" or \\"goodbye\\" blessing and they will respond back in a fun and friendly manner. + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = \\"@scope/jsii-calc-lib.IFriendly\\") +@software.amazon.jsii.Jsii.Proxy(IFriendly.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +public interface IFriendly extends software.amazon.jsii.JsiiSerializable { + + /** + * Say hello! + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @org.jetbrains.annotations.NotNull java.lang.String hello(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.lib.IFriendly { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * Say hello! + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public @org.jetbrains.annotations.NotNull java.lang.String hello() { + return this.jsiiCall(\\"hello\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/java/software/amazon/jsii/tests/calculator/lib/IThreeLevelsInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.lib; + +/** + * Interface that inherits from packages 2 levels up the tree. + *

+ * Their presence validates that .NET/Java/jsii-reflect can track all fields + * far enough up the tree. + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = \\"@scope/jsii-calc-lib.IThreeLevelsInterface\\") +@software.amazon.jsii.Jsii.Proxy(IThreeLevelsInterface.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +public interface IThreeLevelsInterface extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.base.IBaseInterface { + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + void baz(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.lib.IThreeLevelsInterface { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public void baz() { + this.jsiiCall(\\"baz\\", software.amazon.jsii.NativeType.VOID); + } + + @Override + public void bar() { + this.jsiiCall(\\"bar\\", software.amazon.jsii.NativeType.VOID); + } + + @Override + public void foo() { + this.jsiiCall(\\"foo\\", software.amazon.jsii.NativeType.VOID); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/java/software/amazon/jsii/tests/calculator/lib/MyFirstStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.lib; + +/** + * This is the first struct we have created in jsii. + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = \\"@scope/jsii-calc-lib.MyFirstStruct\\") +@software.amazon.jsii.Jsii.Proxy(MyFirstStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +public interface MyFirstStruct extends software.amazon.jsii.JsiiSerializable { + + /** + * An awesome number value. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @org.jetbrains.annotations.NotNull java.lang.Number getAnumber(); + + /** + * A string value. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @org.jetbrains.annotations.NotNull java.lang.String getAstring(); + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + default @org.jetbrains.annotations.Nullable java.util.List getFirstOptional() { + return null; + } + + /** + * @return a {@link Builder} of {@link MyFirstStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link MyFirstStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.Number anumber; + private java.lang.String astring; + private java.util.List firstOptional; + + /** + * Sets the value of {@link MyFirstStruct#getAnumber} + * @param anumber An awesome number value. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public Builder anumber(java.lang.Number anumber) { + this.anumber = anumber; + return this; + } + + /** + * Sets the value of {@link MyFirstStruct#getAstring} + * @param astring A string value. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public Builder astring(java.lang.String astring) { + this.astring = astring; + return this; + } + + /** + * Sets the value of {@link MyFirstStruct#getFirstOptional} + * @param firstOptional the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public Builder firstOptional(java.util.List firstOptional) { + this.firstOptional = firstOptional; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link MyFirstStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public MyFirstStruct build() { + return new Jsii$Proxy(anumber, astring, firstOptional); + } + } + + /** + * An implementation for {@link MyFirstStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements MyFirstStruct { + private final java.lang.Number anumber; + private final java.lang.String astring; + private final java.util.List firstOptional; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.anumber = this.jsiiGet(\\"anumber\\", java.lang.Number.class); + this.astring = this.jsiiGet(\\"astring\\", java.lang.String.class); + this.firstOptional = this.jsiiGet(\\"firstOptional\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.Number anumber, final java.lang.String astring, final java.util.List firstOptional) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.anumber = java.util.Objects.requireNonNull(anumber, \\"anumber is required\\"); + this.astring = java.util.Objects.requireNonNull(astring, \\"astring is required\\"); + this.firstOptional = firstOptional; + } + + @Override + public java.lang.Number getAnumber() { + return this.anumber; + } + + @Override + public java.lang.String getAstring() { + return this.astring; + } + + @Override + public java.util.List getFirstOptional() { + return this.firstOptional; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"anumber\\", om.valueToTree(this.getAnumber())); + data.set(\\"astring\\", om.valueToTree(this.getAstring())); + if (this.getFirstOptional() != null) { + data.set(\\"firstOptional\\", om.valueToTree(this.getFirstOptional())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"@scope/jsii-calc-lib.MyFirstStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + MyFirstStruct.Jsii$Proxy that = (MyFirstStruct.Jsii$Proxy) o; + + if (!anumber.equals(that.anumber)) return false; + if (!astring.equals(that.astring)) return false; + return this.firstOptional != null ? this.firstOptional.equals(that.firstOptional) : that.firstOptional == null; + } + + @Override + public int hashCode() { + int result = this.anumber.hashCode(); + result = 31 * result + (this.astring.hashCode()); + result = 31 * result + (this.firstOptional != null ? this.firstOptional.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/java/software/amazon/jsii/tests/calculator/lib/Number.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.lib; + +/** + * Represents a concrete number. + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = \\"@scope/jsii-calc-lib.Number\\") +public class Number extends software.amazon.jsii.tests.calculator.lib.Value implements software.amazon.jsii.tests.calculator.lib.IDoublable { + + protected Number(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Number(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * Creates a Number object. + *

+ * @param value The number. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public Number(final @org.jetbrains.annotations.NotNull java.lang.Number value) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(value, \\"value is required\\") }); + } + + /** + * The number multiplied by 2. + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public @org.jetbrains.annotations.NotNull java.lang.Number getDoubleValue() { + return this.jsiiGet(\\"doubleValue\\", java.lang.Number.class); + } + + /** + * The number. + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { + return this.jsiiGet(\\"value\\", java.lang.Number.class); + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/java/software/amazon/jsii/tests/calculator/lib/Operation.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.lib; + +/** + * Represents an operation on values. + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = \\"@scope/jsii-calc-lib.Operation\\") +public abstract class Operation extends software.amazon.jsii.tests.calculator.lib.Value { + + protected Operation(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Operation(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + protected Operation() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * String representation of the value. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public abstract @org.jetbrains.annotations.NotNull java.lang.String toString(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.lib.Operation { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * The value. + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { + return this.jsiiGet(\\"value\\", java.lang.Number.class); + } + + /** + * String representation of the value. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public @org.jetbrains.annotations.NotNull java.lang.String toString() { + return this.jsiiCall(\\"toString\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/java/software/amazon/jsii/tests/calculator/lib/StructWithOnlyOptionals.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.lib; + +/** + * This is a struct with only optional properties. + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = \\"@scope/jsii-calc-lib.StructWithOnlyOptionals\\") +@software.amazon.jsii.Jsii.Proxy(StructWithOnlyOptionals.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +public interface StructWithOnlyOptionals extends software.amazon.jsii.JsiiSerializable { + + /** + * The first optional! + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + default @org.jetbrains.annotations.Nullable java.lang.String getOptional1() { + return null; + } + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + default @org.jetbrains.annotations.Nullable java.lang.Number getOptional2() { + return null; + } + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + default @org.jetbrains.annotations.Nullable java.lang.Boolean getOptional3() { + return null; + } + + /** + * @return a {@link Builder} of {@link StructWithOnlyOptionals} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link StructWithOnlyOptionals} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String optional1; + private java.lang.Number optional2; + private java.lang.Boolean optional3; + + /** + * Sets the value of {@link StructWithOnlyOptionals#getOptional1} + * @param optional1 The first optional!. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public Builder optional1(java.lang.String optional1) { + this.optional1 = optional1; + return this; + } + + /** + * Sets the value of {@link StructWithOnlyOptionals#getOptional2} + * @param optional2 the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public Builder optional2(java.lang.Number optional2) { + this.optional2 = optional2; + return this; + } + + /** + * Sets the value of {@link StructWithOnlyOptionals#getOptional3} + * @param optional3 the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public Builder optional3(java.lang.Boolean optional3) { + this.optional3 = optional3; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link StructWithOnlyOptionals} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public StructWithOnlyOptionals build() { + return new Jsii$Proxy(optional1, optional2, optional3); + } + } + + /** + * An implementation for {@link StructWithOnlyOptionals} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StructWithOnlyOptionals { + private final java.lang.String optional1; + private final java.lang.Number optional2; + private final java.lang.Boolean optional3; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.optional1 = this.jsiiGet(\\"optional1\\", java.lang.String.class); + this.optional2 = this.jsiiGet(\\"optional2\\", java.lang.Number.class); + this.optional3 = this.jsiiGet(\\"optional3\\", java.lang.Boolean.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String optional1, final java.lang.Number optional2, final java.lang.Boolean optional3) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.optional1 = optional1; + this.optional2 = optional2; + this.optional3 = optional3; + } + + @Override + public java.lang.String getOptional1() { + return this.optional1; + } + + @Override + public java.lang.Number getOptional2() { + return this.optional2; + } + + @Override + public java.lang.Boolean getOptional3() { + return this.optional3; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + if (this.getOptional1() != null) { + data.set(\\"optional1\\", om.valueToTree(this.getOptional1())); + } + if (this.getOptional2() != null) { + data.set(\\"optional2\\", om.valueToTree(this.getOptional2())); + } + if (this.getOptional3() != null) { + data.set(\\"optional3\\", om.valueToTree(this.getOptional3())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"@scope/jsii-calc-lib.StructWithOnlyOptionals\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + StructWithOnlyOptionals.Jsii$Proxy that = (StructWithOnlyOptionals.Jsii$Proxy) o; + + if (this.optional1 != null ? !this.optional1.equals(that.optional1) : that.optional1 != null) return false; + if (this.optional2 != null ? !this.optional2.equals(that.optional2) : that.optional2 != null) return false; + return this.optional3 != null ? this.optional3.equals(that.optional3) : that.optional3 == null; + } + + @Override + public int hashCode() { + int result = this.optional1 != null ? this.optional1.hashCode() : 0; + result = 31 * result + (this.optional2 != null ? this.optional2.hashCode() : 0); + result = 31 * result + (this.optional3 != null ? this.optional3.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/java/software/amazon/jsii/tests/calculator/lib/Value.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.lib; + +/** + * Abstract class which represents a numeric value. + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = \\"@scope/jsii-calc-lib.Value\\") +public abstract class Value extends software.amazon.jsii.tests.calculator.base.Base { + + protected Value(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Value(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + protected Value() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * String representation of the value. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public @org.jetbrains.annotations.NotNull java.lang.String toString() { + return this.jsiiCall(\\"toString\\", java.lang.String.class); + } + + /** + * The value. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public abstract @org.jetbrains.annotations.NotNull java.lang.Number getValue(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.lib.Value { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * The value. + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { + return this.jsiiGet(\\"value\\", java.lang.Number.class); + } + } +} +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/java/software/amazon/jsii/tests/calculator/lib/package-info.java 1`] = ` +Object { + Symbol(file): "/** + * + * Deprecated: Really just deprecated for shows... + */ +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +package software.amazon.jsii.tests.calculator.lib; +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/resources/software/amazon/jsii/tests/calculator/lib/$Module.txt 1`] = ` +Object { + Symbol(file): "@scope/jsii-calc-lib.EnumFromScopedModule=software.amazon.jsii.tests.calculator.lib.EnumFromScopedModule +@scope/jsii-calc-lib.IDoublable=software.amazon.jsii.tests.calculator.lib.IDoublable +@scope/jsii-calc-lib.IFriendly=software.amazon.jsii.tests.calculator.lib.IFriendly +@scope/jsii-calc-lib.IThreeLevelsInterface=software.amazon.jsii.tests.calculator.lib.IThreeLevelsInterface +@scope/jsii-calc-lib.MyFirstStruct=software.amazon.jsii.tests.calculator.lib.MyFirstStruct +@scope/jsii-calc-lib.Number=software.amazon.jsii.tests.calculator.lib.Number +@scope/jsii-calc-lib.Operation=software.amazon.jsii.tests.calculator.lib.Operation +@scope/jsii-calc-lib.StructWithOnlyOptionals=software.amazon.jsii.tests.calculator.lib.StructWithOnlyOptionals +@scope/jsii-calc-lib.Value=software.amazon.jsii.tests.calculator.lib.Value +@scope/jsii-calc-lib.submodule.IReflectable=software.amazon.jsii.tests.calculator.custom_submodule_name.IReflectable +@scope/jsii-calc-lib.submodule.ReflectableEntry=software.amazon.jsii.tests.calculator.custom_submodule_name.ReflectableEntry +@scope/jsii-calc-lib.submodule.Reflector=software.amazon.jsii.tests.calculator.custom_submodule_name.Reflector +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /java/src/main/resources/software/amazon/jsii/tests/calculator/lib/jsii-calc-lib@0.0.0.jsii.tgz 1`] = `java/src/main/resources/software/amazon/jsii/tests/calculator/lib/jsii-calc-lib@0.0.0.jsii.tgz is a tarball`; + +exports[`Generated code for "@scope/jsii-calc-lib": /js/jsii-calc-lib@0.0.0.jsii.tgz 1`] = `js/jsii-calc-lib@0.0.0.jsii.tgz is a tarball`; + +exports[`Generated code for "@scope/jsii-calc-lib": /python/MANIFEST.in 1`] = ` +Object { + Symbol(file): "include pyproject.toml +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /python/README.md 1`] = ` +Object { + Symbol(file): " +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /python/pyproject.toml 1`] = ` +Object { + Symbol(file): "[build-system] +requires = [\\"setuptools >= 38.6.0\\", \\"wheel >= 0.31.0\\"] +build-backend = \\"setuptools.build_meta\\" +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /python/setup.py 1`] = ` +Object { + Symbol(file): "import json +import setuptools + +kwargs = json.loads( + \\"\\"\\" +{ + \\"name\\": \\"scope.jsii-calc-lib\\", + \\"version\\": \\"0.0.0\\", + \\"description\\": \\"A simple calcuator library built on JSII.\\", + \\"license\\": \\"Apache-2.0\\", + \\"url\\": \\"https://github.com/aws/jsii\\", + \\"long_description_content_type\\": \\"text/markdown\\", + \\"author\\": \\"Amazon Web Services\\", + \\"project_urls\\": { + \\"Source\\": \\"https://github.com/aws/jsii.git\\" + }, + \\"package_dir\\": { + \\"\\": \\"src\\" + }, + \\"packages\\": [ + \\"scope.jsii_calc_lib\\", + \\"scope.jsii_calc_lib._jsii\\", + \\"scope.jsii_calc_lib.custom_submodule_name\\" + ], + \\"package_data\\": { + \\"scope.jsii_calc_lib._jsii\\": [ + \\"jsii-calc-lib@0.0.0.jsii.tgz\\" + ], + \\"scope.jsii_calc_lib\\": [ + \\"py.typed\\" + ] + }, + \\"python_requires\\": \\">=3.6\\", + \\"install_requires\\": [ + \\"jsii>=0.0.0, <0.0.1\\", + \\"publication>=0.0.3\\", + \\"scope.jsii-calc-base>=0.0.0, <0.0.1\\", + \\"scope.jsii-calc-base-of-base>=0.0.0, <0.0.1\\" + ], + \\"classifiers\\": [ + \\"Intended Audience :: Developers\\", + \\"Operating System :: OS Independent\\", + \\"Programming Language :: JavaScript\\", + \\"Programming Language :: Python :: 3 :: Only\\", + \\"Programming Language :: Python :: 3.6\\", + \\"Programming Language :: Python :: 3.7\\", + \\"Programming Language :: Python :: 3.8\\", + \\"Typing :: Typed\\", + \\"Development Status :: 7 - Inactive\\", + \\"License :: OSI Approved\\" + ] +} +\\"\\"\\" +) + +with open(\\"README.md\\") as fp: + kwargs[\\"long_description\\"] = fp.read() + + +setuptools.setup(**kwargs) +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /python/src/scope/jsii_calc_lib/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from ._jsii import * + +import scope.jsii_calc_base + + +@jsii.enum(jsii_type=\\"@scope/jsii-calc-lib.EnumFromScopedModule\\") +class EnumFromScopedModule(enum.Enum): + \\"\\"\\"Check that enums from @scoped packages can be references. + + See awslabs/jsii#138 + + stability + :stability: deprecated + \\"\\"\\" + + VALUE1 = \\"VALUE1\\" + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + VALUE2 = \\"VALUE2\\" + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + + +@jsii.interface(jsii_type=\\"@scope/jsii-calc-lib.IDoublable\\") +class IDoublable(jsii.compat.Protocol): + \\"\\"\\"The general contract for a concrete number. + + stability + :stability: deprecated + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IDoublableProxy + + @builtins.property + @jsii.member(jsii_name=\\"doubleValue\\") + def double_value(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + ... + + +class _IDoublableProxy: + \\"\\"\\"The general contract for a concrete number. + + stability + :stability: deprecated + \\"\\"\\" + + __jsii_type__ = \\"@scope/jsii-calc-lib.IDoublable\\" + + @builtins.property + @jsii.member(jsii_name=\\"doubleValue\\") + def double_value(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + return jsii.get(self, \\"doubleValue\\") + + +@jsii.interface(jsii_type=\\"@scope/jsii-calc-lib.IFriendly\\") +class IFriendly(jsii.compat.Protocol): + \\"\\"\\"Applies to classes that are considered friendly. + + These classes can be greeted with + a \\"hello\\" or \\"goodbye\\" blessing and they will respond back in a fun and friendly manner. + + stability + :stability: deprecated + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IFriendlyProxy + + @jsii.member(jsii_name=\\"hello\\") + def hello(self) -> str: + \\"\\"\\"Say hello! + + stability + :stability: deprecated + \\"\\"\\" + ... + + +class _IFriendlyProxy: + \\"\\"\\"Applies to classes that are considered friendly. + + These classes can be greeted with + a \\"hello\\" or \\"goodbye\\" blessing and they will respond back in a fun and friendly manner. + + stability + :stability: deprecated + \\"\\"\\" + + __jsii_type__ = \\"@scope/jsii-calc-lib.IFriendly\\" + + @jsii.member(jsii_name=\\"hello\\") + def hello(self) -> str: + \\"\\"\\"Say hello! + + stability + :stability: deprecated + \\"\\"\\" + return jsii.invoke(self, \\"hello\\", []) + + +@jsii.interface(jsii_type=\\"@scope/jsii-calc-lib.IThreeLevelsInterface\\") +class IThreeLevelsInterface(scope.jsii_calc_base.IBaseInterface, jsii.compat.Protocol): + \\"\\"\\"Interface that inherits from packages 2 levels up the tree. + + Their presence validates that .NET/Java/jsii-reflect can track all fields + far enough up the tree. + + stability + :stability: deprecated + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IThreeLevelsInterfaceProxy + + @jsii.member(jsii_name=\\"baz\\") + def baz(self) -> None: + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + ... + + +class _IThreeLevelsInterfaceProxy(jsii.proxy_for(scope.jsii_calc_base.IBaseInterface)): + \\"\\"\\"Interface that inherits from packages 2 levels up the tree. + + Their presence validates that .NET/Java/jsii-reflect can track all fields + far enough up the tree. + + stability + :stability: deprecated + \\"\\"\\" + + __jsii_type__ = \\"@scope/jsii-calc-lib.IThreeLevelsInterface\\" + + @jsii.member(jsii_name=\\"baz\\") + def baz(self) -> None: + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + return jsii.invoke(self, \\"baz\\", []) + + +@jsii.data_type( + jsii_type=\\"@scope/jsii-calc-lib.MyFirstStruct\\", + jsii_struct_bases=[], + name_mapping={ + \\"anumber\\": \\"anumber\\", + \\"astring\\": \\"astring\\", + \\"first_optional\\": \\"firstOptional\\", + }, +) +class MyFirstStruct: + def __init__( + self, + *, + anumber: jsii.Number, + astring: str, + first_optional: typing.Optional[typing.List[str]] = None, + ) -> None: + \\"\\"\\"This is the first struct we have created in jsii. + + :param anumber: An awesome number value. + :param astring: A string value. + :param first_optional: + + stability + :stability: deprecated + \\"\\"\\" + self._values = { + \\"anumber\\": anumber, + \\"astring\\": astring, + } + if first_optional is not None: + self._values[\\"first_optional\\"] = first_optional + + @builtins.property + def anumber(self) -> jsii.Number: + \\"\\"\\"An awesome number value. + + stability + :stability: deprecated + \\"\\"\\" + return self._values.get(\\"anumber\\") + + @builtins.property + def astring(self) -> str: + \\"\\"\\"A string value. + + stability + :stability: deprecated + \\"\\"\\" + return self._values.get(\\"astring\\") + + @builtins.property + def first_optional(self) -> typing.Optional[typing.List[str]]: + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + return self._values.get(\\"first_optional\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"MyFirstStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +@jsii.data_type( + jsii_type=\\"@scope/jsii-calc-lib.StructWithOnlyOptionals\\", + jsii_struct_bases=[], + name_mapping={ + \\"optional1\\": \\"optional1\\", + \\"optional2\\": \\"optional2\\", + \\"optional3\\": \\"optional3\\", + }, +) +class StructWithOnlyOptionals: + def __init__( + self, + *, + optional1: typing.Optional[str] = None, + optional2: typing.Optional[jsii.Number] = None, + optional3: typing.Optional[bool] = None, + ) -> None: + \\"\\"\\"This is a struct with only optional properties. + + :param optional1: The first optional! + :param optional2: + :param optional3: + + stability + :stability: deprecated + \\"\\"\\" + self._values = {} + if optional1 is not None: + self._values[\\"optional1\\"] = optional1 + if optional2 is not None: + self._values[\\"optional2\\"] = optional2 + if optional3 is not None: + self._values[\\"optional3\\"] = optional3 + + @builtins.property + def optional1(self) -> typing.Optional[str]: + \\"\\"\\"The first optional! + + stability + :stability: deprecated + \\"\\"\\" + return self._values.get(\\"optional1\\") + + @builtins.property + def optional2(self) -> typing.Optional[jsii.Number]: + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + return self._values.get(\\"optional2\\") + + @builtins.property + def optional3(self) -> typing.Optional[bool]: + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + return self._values.get(\\"optional3\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"StructWithOnlyOptionals(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class Value( + scope.jsii_calc_base.Base, + metaclass=jsii.JSIIAbstractClass, + jsii_type=\\"@scope/jsii-calc-lib.Value\\", +): + \\"\\"\\"Abstract class which represents a numeric value. + + stability + :stability: deprecated + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _ValueProxy + + def __init__(self) -> None: + jsii.create(Value, self, []) + + @jsii.member(jsii_name=\\"toString\\") + def to_string(self) -> str: + \\"\\"\\"String representation of the value. + + stability + :stability: deprecated + \\"\\"\\" + return jsii.invoke(self, \\"toString\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"value\\") + @abc.abstractmethod + def value(self) -> jsii.Number: + \\"\\"\\"The value. + + stability + :stability: deprecated + \\"\\"\\" + ... + + +class _ValueProxy(Value, jsii.proxy_for(scope.jsii_calc_base.Base)): + @builtins.property + @jsii.member(jsii_name=\\"value\\") + def value(self) -> jsii.Number: + \\"\\"\\"The value. + + stability + :stability: deprecated + \\"\\"\\" + return jsii.get(self, \\"value\\") + + +@jsii.implements(IDoublable) +class Number(Value, metaclass=jsii.JSIIMeta, jsii_type=\\"@scope/jsii-calc-lib.Number\\"): + \\"\\"\\"Represents a concrete number. + + stability + :stability: deprecated + \\"\\"\\" + + def __init__(self, value: jsii.Number) -> None: + \\"\\"\\"Creates a Number object. + + :param value: The number. + + stability + :stability: deprecated + \\"\\"\\" + jsii.create(Number, self, [value]) + + @builtins.property + @jsii.member(jsii_name=\\"doubleValue\\") + def double_value(self) -> jsii.Number: + \\"\\"\\"The number multiplied by 2. + + stability + :stability: deprecated + \\"\\"\\" + return jsii.get(self, \\"doubleValue\\") + + @builtins.property + @jsii.member(jsii_name=\\"value\\") + def value(self) -> jsii.Number: + \\"\\"\\"The number. + + stability + :stability: deprecated + \\"\\"\\" + return jsii.get(self, \\"value\\") + + +class Operation( + Value, metaclass=jsii.JSIIAbstractClass, jsii_type=\\"@scope/jsii-calc-lib.Operation\\" +): + \\"\\"\\"Represents an operation on values. + + stability + :stability: deprecated + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _OperationProxy + + def __init__(self) -> None: + jsii.create(Operation, self, []) + + @jsii.member(jsii_name=\\"toString\\") + @abc.abstractmethod + def to_string(self) -> str: + \\"\\"\\"String representation of the value. + + stability + :stability: deprecated + \\"\\"\\" + ... + + +class _OperationProxy(Operation, jsii.proxy_for(Value)): + @jsii.member(jsii_name=\\"toString\\") + def to_string(self) -> str: + \\"\\"\\"String representation of the value. + + stability + :stability: deprecated + \\"\\"\\" + return jsii.invoke(self, \\"toString\\", []) + + +__all__ = [ + \\"EnumFromScopedModule\\", + \\"IDoublable\\", + \\"IFriendly\\", + \\"IThreeLevelsInterface\\", + \\"MyFirstStruct\\", + \\"Number\\", + \\"Operation\\", + \\"StructWithOnlyOptionals\\", + \\"Value\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /python/src/scope/jsii_calc_lib/_jsii/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +import scope.jsii_calc_base._jsii +import scope.jsii_calc_base_of_base._jsii + +__jsii_assembly__ = jsii.JSIIAssembly.load( + \\"@scope/jsii-calc-lib\\", \\"0.0.0\\", __name__[0:-6], \\"jsii-calc-lib@0.0.0.jsii.tgz\\" +) + +__all__ = [ + \\"__jsii_assembly__\\", +] + +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`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from .._jsii import * + + +@jsii.interface(jsii_type=\\"@scope/jsii-calc-lib.submodule.IReflectable\\") +class IReflectable(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IReflectableProxy + + @builtins.property + @jsii.member(jsii_name=\\"entries\\") + def entries(self) -> typing.List[\\"ReflectableEntry\\"]: + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + ... + + +class _IReflectableProxy: + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + + __jsii_type__ = \\"@scope/jsii-calc-lib.submodule.IReflectable\\" + + @builtins.property + @jsii.member(jsii_name=\\"entries\\") + def entries(self) -> typing.List[\\"ReflectableEntry\\"]: + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + return jsii.get(self, \\"entries\\") + + +@jsii.data_type( + jsii_type=\\"@scope/jsii-calc-lib.submodule.ReflectableEntry\\", + jsii_struct_bases=[], + name_mapping={\\"key\\": \\"key\\", \\"value\\": \\"value\\"}, +) +class ReflectableEntry: + def __init__(self, *, key: str, value: typing.Any) -> None: + \\"\\"\\" + :param key: + :param value: + + stability + :stability: deprecated + \\"\\"\\" + self._values = { + \\"key\\": key, + \\"value\\": value, + } + + @builtins.property + def key(self) -> str: + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + return self._values.get(\\"key\\") + + @builtins.property + def value(self) -> typing.Any: + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + return self._values.get(\\"value\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"ReflectableEntry(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class Reflector( + metaclass=jsii.JSIIMeta, jsii_type=\\"@scope/jsii-calc-lib.submodule.Reflector\\" +): + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + jsii.create(Reflector, self, []) + + @jsii.member(jsii_name=\\"asMap\\") + def as_map(self, reflectable: \\"IReflectable\\") -> typing.Mapping[str, typing.Any]: + \\"\\"\\" + :param reflectable: - + + stability + :stability: deprecated + \\"\\"\\" + return jsii.invoke(self, \\"asMap\\", [reflectable]) + + +__all__ = [ + \\"IReflectable\\", + \\"ReflectableEntry\\", + \\"Reflector\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "@scope/jsii-calc-lib": /python/src/scope/jsii_calc_lib/py.typed 1`] = ` +Object { + Symbol(file): " +", +} +`; + +exports[`Generated code for "jsii-calc": / 1`] = ` + + ┣━ 📁 dotnet + ┃ ┗━ 📁 Amazon.JSII.Tests.CalculatorPackageId + ┃ ┣━ 📄 .jsii + ┃ ┣━ 📁 Amazon + ┃ ┃ ┗━ 📁 JSII + ┃ ┃ ┗━ 📁 Tests + ┃ ┃ ┗━ 📁 CalculatorNamespace + ┃ ┃ ┣━ 📄 AbstractClass.cs + ┃ ┃ ┣━ 📄 AbstractClassBase.cs + ┃ ┃ ┣━ 📄 AbstractClassBaseProxy.cs + ┃ ┃ ┣━ 📄 AbstractClassProxy.cs + ┃ ┃ ┣━ 📄 AbstractClassReturner.cs + ┃ ┃ ┣━ 📄 AbstractSuite.cs + ┃ ┃ ┣━ 📄 AbstractSuiteProxy.cs + ┃ ┃ ┣━ 📄 Add.cs + ┃ ┃ ┣━ 📄 AllowedMethodNames.cs + ┃ ┃ ┣━ 📄 AllTypes.cs + ┃ ┃ ┣━ 📄 AllTypesEnum.cs + ┃ ┃ ┣━ 📄 AmbiguousParameters.cs + ┃ ┃ ┣━ 📄 AnonymousImplementationProvider.cs + ┃ ┃ ┣━ 📄 AsyncVirtualMethods.cs + ┃ ┃ ┣━ 📄 AugmentableClass.cs + ┃ ┃ ┣━ 📄 BaseJsii976.cs + ┃ ┃ ┣━ 📄 Bell.cs + ┃ ┃ ┣━ 📄 BinaryOperation.cs + ┃ ┃ ┣━ 📄 BinaryOperationProxy.cs + ┃ ┃ ┣━ 📄 Calculator.cs + ┃ ┃ ┣━ 📄 CalculatorProps.cs + ┃ ┃ ┣━ 📄 CalculatorPropsProxy.cs + ┃ ┃ ┣━ 📄 ChildStruct982.cs + ┃ ┃ ┣━ 📄 ChildStruct982Proxy.cs + ┃ ┃ ┣━ 📄 ClassThatImplementsTheInternalInterface.cs + ┃ ┃ ┣━ 📄 ClassThatImplementsThePrivateInterface.cs + ┃ ┃ ┣━ 📄 ClassWithCollections.cs + ┃ ┃ ┣━ 📄 ClassWithDocs.cs + ┃ ┃ ┣━ 📄 ClassWithJavaReservedWords.cs + ┃ ┃ ┣━ 📄 ClassWithMutableObjectLiteralProperty.cs + ┃ ┃ ┣━ 📄 ClassWithPrivateConstructorAndAutomaticProperties.cs + ┃ ┃ ┣━ 📁 Composition + ┃ ┃ ┃ ┣━ 📄 CompositeOperation.cs + ┃ ┃ ┃ ┗━ 📄 CompositeOperationProxy.cs + ┃ ┃ ┣━ 📄 ConfusingToJackson.cs + ┃ ┃ ┣━ 📄 ConfusingToJacksonStruct.cs + ┃ ┃ ┣━ 📄 ConfusingToJacksonStructProxy.cs + ┃ ┃ ┣━ 📄 ConstructorPassesThisOut.cs + ┃ ┃ ┣━ 📄 Constructors.cs + ┃ ┃ ┣━ 📄 ConsumePureInterface.cs + ┃ ┃ ┣━ 📄 ConsumerCanRingBell.cs + ┃ ┃ ┣━ 📄 ConsumersOfThisCrazyTypeSystem.cs + ┃ ┃ ┣━ 📄 DataRenderer.cs + ┃ ┃ ┣━ 📄 DefaultedConstructorArgument.cs + ┃ ┃ ┣━ 📄 Demonstrate982.cs + ┃ ┃ ┣━ 📄 DeprecatedClass.cs + ┃ ┃ ┣━ 📄 DeprecatedEnum.cs + ┃ ┃ ┣━ 📄 DeprecatedStruct.cs + ┃ ┃ ┣━ 📄 DeprecatedStructProxy.cs + ┃ ┃ ┣━ 📁 DerivedClassHasNoProperties + ┃ ┃ ┃ ┣━ 📄 Base.cs + ┃ ┃ ┃ ┗━ 📄 Derived.cs + ┃ ┃ ┣━ 📄 DerivedStruct.cs + ┃ ┃ ┣━ 📄 DerivedStructProxy.cs + ┃ ┃ ┣━ 📄 DiamondInheritanceBaseLevelStruct.cs + ┃ ┃ ┣━ 📄 DiamondInheritanceBaseLevelStructProxy.cs + ┃ ┃ ┣━ 📄 DiamondInheritanceFirstMidLevelStruct.cs + ┃ ┃ ┣━ 📄 DiamondInheritanceFirstMidLevelStructProxy.cs + ┃ ┃ ┣━ 📄 DiamondInheritanceSecondMidLevelStruct.cs + ┃ ┃ ┣━ 📄 DiamondInheritanceSecondMidLevelStructProxy.cs + ┃ ┃ ┣━ 📄 DiamondInheritanceTopLevelStruct.cs + ┃ ┃ ┣━ 📄 DiamondInheritanceTopLevelStructProxy.cs + ┃ ┃ ┣━ 📄 DisappointingCollectionSource.cs + ┃ ┃ ┣━ 📄 DocumentedClass.cs + ┃ ┃ ┣━ 📄 DoNotOverridePrivates.cs + ┃ ┃ ┣━ 📄 DoNotRecognizeAnyAsOptional.cs + ┃ ┃ ┣━ 📄 DontComplainAboutVariadicAfterOptional.cs + ┃ ┃ ┣━ 📄 DoubleTrouble.cs + ┃ ┃ ┣━ 📄 EnumDispenser.cs + ┃ ┃ ┣━ 📄 EraseUndefinedHashValues.cs + ┃ ┃ ┣━ 📄 EraseUndefinedHashValuesOptions.cs + ┃ ┃ ┣━ 📄 EraseUndefinedHashValuesOptionsProxy.cs + ┃ ┃ ┣━ 📄 ExperimentalClass.cs + ┃ ┃ ┣━ 📄 ExperimentalEnum.cs + ┃ ┃ ┣━ 📄 ExperimentalStruct.cs + ┃ ┃ ┣━ 📄 ExperimentalStructProxy.cs + ┃ ┃ ┣━ 📄 ExportedBaseClass.cs + ┃ ┃ ┣━ 📄 ExtendsInternalInterface.cs + ┃ ┃ ┣━ 📄 ExtendsInternalInterfaceProxy.cs + ┃ ┃ ┣━ 📄 ExternalClass.cs + ┃ ┃ ┣━ 📄 ExternalEnum.cs + ┃ ┃ ┣━ 📄 ExternalStruct.cs + ┃ ┃ ┣━ 📄 ExternalStructProxy.cs + ┃ ┃ ┣━ 📄 GiveMeStructs.cs + ┃ ┃ ┣━ 📄 Greetee.cs + ┃ ┃ ┣━ 📄 GreeteeProxy.cs + ┃ ┃ ┣━ 📄 GreetingAugmenter.cs + ┃ ┃ ┣━ 📄 IAnonymousImplementationProvider.cs + ┃ ┃ ┣━ 📄 IAnonymousImplementationProviderProxy.cs + ┃ ┃ ┣━ 📄 IAnonymouslyImplementMe.cs + ┃ ┃ ┣━ 📄 IAnonymouslyImplementMeProxy.cs + ┃ ┃ ┣━ 📄 IAnotherPublicInterface.cs + ┃ ┃ ┣━ 📄 IAnotherPublicInterfaceProxy.cs + ┃ ┃ ┣━ 📄 IBell.cs + ┃ ┃ ┣━ 📄 IBellProxy.cs + ┃ ┃ ┣━ 📄 IBellRinger.cs + ┃ ┃ ┣━ 📄 IBellRingerProxy.cs + ┃ ┃ ┣━ 📄 ICalculatorProps.cs + ┃ ┃ ┣━ 📄 IChildStruct982.cs + ┃ ┃ ┣━ 📄 IConcreteBellRinger.cs + ┃ ┃ ┣━ 📄 IConcreteBellRingerProxy.cs + ┃ ┃ ┣━ 📄 IConfusingToJacksonStruct.cs + ┃ ┃ ┣━ 📄 IDeprecatedInterface.cs + ┃ ┃ ┣━ 📄 IDeprecatedInterfaceProxy.cs + ┃ ┃ ┣━ 📄 IDeprecatedStruct.cs + ┃ ┃ ┣━ 📄 IDerivedStruct.cs + ┃ ┃ ┣━ 📄 IDiamondInheritanceBaseLevelStruct.cs + ┃ ┃ ┣━ 📄 IDiamondInheritanceFirstMidLevelStruct.cs + ┃ ┃ ┣━ 📄 IDiamondInheritanceSecondMidLevelStruct.cs + ┃ ┃ ┣━ 📄 IDiamondInheritanceTopLevelStruct.cs + ┃ ┃ ┣━ 📄 IEraseUndefinedHashValuesOptions.cs + ┃ ┃ ┣━ 📄 IExperimentalInterface.cs + ┃ ┃ ┣━ 📄 IExperimentalInterfaceProxy.cs + ┃ ┃ ┣━ 📄 IExperimentalStruct.cs + ┃ ┃ ┣━ 📄 IExtendsInternalInterface.cs + ┃ ┃ ┣━ 📄 IExtendsPrivateInterface.cs + ┃ ┃ ┣━ 📄 IExtendsPrivateInterfaceProxy.cs + ┃ ┃ ┣━ 📄 IExternalInterface.cs + ┃ ┃ ┣━ 📄 IExternalInterfaceProxy.cs + ┃ ┃ ┣━ 📄 IExternalStruct.cs + ┃ ┃ ┣━ 📄 IFriendlier.cs + ┃ ┃ ┣━ 📄 IFriendlierProxy.cs + ┃ ┃ ┣━ 📄 IFriendlyRandomGenerator.cs + ┃ ┃ ┣━ 📄 IFriendlyRandomGeneratorProxy.cs + ┃ ┃ ┣━ 📄 IGreetee.cs + ┃ ┃ ┣━ 📄 IImplictBaseOfBase.cs + ┃ ┃ ┣━ 📄 IInterfaceImplementedByAbstractClass.cs + ┃ ┃ ┣━ 📄 IInterfaceImplementedByAbstractClassProxy.cs + ┃ ┃ ┣━ 📄 IInterfaceThatShouldNotBeADataType.cs + ┃ ┃ ┣━ 📄 IInterfaceThatShouldNotBeADataTypeProxy.cs + ┃ ┃ ┣━ 📄 IInterfaceWithInternal.cs + ┃ ┃ ┣━ 📄 IInterfaceWithInternalProxy.cs + ┃ ┃ ┣━ 📄 IInterfaceWithMethods.cs + ┃ ┃ ┣━ 📄 IInterfaceWithMethodsProxy.cs + ┃ ┃ ┣━ 📄 IInterfaceWithOptionalMethodArguments.cs + ┃ ┃ ┣━ 📄 IInterfaceWithOptionalMethodArgumentsProxy.cs + ┃ ┃ ┣━ 📄 IInterfaceWithProperties.cs + ┃ ┃ ┣━ 📄 IInterfaceWithPropertiesExtension.cs + ┃ ┃ ┣━ 📄 IInterfaceWithPropertiesExtensionProxy.cs + ┃ ┃ ┣━ 📄 IInterfaceWithPropertiesProxy.cs + ┃ ┃ ┣━ 📄 IJSII417Derived.cs + ┃ ┃ ┣━ 📄 IJSII417DerivedProxy.cs + ┃ ┃ ┣━ 📄 IJSII417PublicBaseOfBase.cs + ┃ ┃ ┣━ 📄 IJSII417PublicBaseOfBaseProxy.cs + ┃ ┃ ┣━ 📄 IJsii487External.cs + ┃ ┃ ┣━ 📄 IJsii487External2.cs + ┃ ┃ ┣━ 📄 IJsii487External2Proxy.cs + ┃ ┃ ┣━ 📄 IJsii487ExternalProxy.cs + ┃ ┃ ┣━ 📄 IJsii496.cs + ┃ ┃ ┣━ 📄 IJsii496Proxy.cs + ┃ ┃ ┣━ 📄 ILoadBalancedFargateServiceProps.cs + ┃ ┃ ┣━ 📄 Implementation.cs + ┃ ┃ ┣━ 📄 ImplementInternalInterface.cs + ┃ ┃ ┣━ 📄 ImplementsInterfaceWithInternal.cs + ┃ ┃ ┣━ 📄 ImplementsInterfaceWithInternalSubclass.cs + ┃ ┃ ┣━ 📄 ImplementsPrivateInterface.cs + ┃ ┃ ┣━ 📄 ImplictBaseOfBase.cs + ┃ ┃ ┣━ 📄 ImplictBaseOfBaseProxy.cs + ┃ ┃ ┣━ 📄 IMutableObjectLiteral.cs + ┃ ┃ ┣━ 📄 IMutableObjectLiteralProxy.cs + ┃ ┃ ┣━ 📄 InbetweenClass.cs + ┃ ┃ ┣━ 📄 INestedStruct.cs + ┃ ┃ ┣━ 📄 INonInternalInterface.cs + ┃ ┃ ┣━ 📄 INonInternalInterfaceProxy.cs + ┃ ┃ ┣━ 📄 InterfaceCollections.cs + ┃ ┃ ┣━ 📁 InterfaceInNamespaceIncludesClasses + ┃ ┃ ┃ ┣━ 📄 Foo.cs + ┃ ┃ ┃ ┣━ 📄 Hello.cs + ┃ ┃ ┃ ┣━ 📄 HelloProxy.cs + ┃ ┃ ┃ ┗━ 📄 IHello.cs + ┃ ┃ ┣━ 📁 InterfaceInNamespaceOnlyInterface + ┃ ┃ ┃ ┣━ 📄 Hello.cs + ┃ ┃ ┃ ┣━ 📄 HelloProxy.cs + ┃ ┃ ┃ ┗━ 📄 IHello.cs + ┃ ┃ ┣━ 📄 InterfacesMaker.cs + ┃ ┃ ┣━ 📁 Internal + ┃ ┃ ┃ ┗━ 📁 DependencyResolution + ┃ ┃ ┃ ┗━ 📄 Anchor.cs + ┃ ┃ ┣━ 📄 INullShouldBeTreatedAsUndefinedData.cs + ┃ ┃ ┣━ 📄 IObjectWithProperty.cs + ┃ ┃ ┣━ 📄 IObjectWithPropertyProxy.cs + ┃ ┃ ┣━ 📄 IOptionalMethod.cs + ┃ ┃ ┣━ 📄 IOptionalMethodProxy.cs + ┃ ┃ ┣━ 📄 IOptionalStruct.cs + ┃ ┃ ┣━ 📄 IParentStruct982.cs + ┃ ┃ ┣━ 📄 IPrivatelyImplemented.cs + ┃ ┃ ┣━ 📄 IPrivatelyImplementedProxy.cs + ┃ ┃ ┣━ 📄 IPublicInterface.cs + ┃ ┃ ┣━ 📄 IPublicInterface2.cs + ┃ ┃ ┣━ 📄 IPublicInterface2Proxy.cs + ┃ ┃ ┣━ 📄 IPublicInterfaceProxy.cs + ┃ ┃ ┣━ 📄 IRandomNumberGenerator.cs + ┃ ┃ ┣━ 📄 IRandomNumberGeneratorProxy.cs + ┃ ┃ ┣━ 📄 IReturnJsii976.cs + ┃ ┃ ┣━ 📄 IReturnJsii976Proxy.cs + ┃ ┃ ┣━ 📄 IReturnsNumber.cs + ┃ ┃ ┣━ 📄 IReturnsNumberProxy.cs + ┃ ┃ ┣━ 📄 IRootStruct.cs + ┃ ┃ ┣━ 📄 ISecondLevelStruct.cs + ┃ ┃ ┣━ 📄 ISmellyStruct.cs + ┃ ┃ ┣━ 📄 Isomorphism.cs + ┃ ┃ ┣━ 📄 IsomorphismProxy.cs + ┃ ┃ ┣━ 📄 IStableInterface.cs + ┃ ┃ ┣━ 📄 IStableInterfaceProxy.cs + ┃ ┃ ┣━ 📄 IStableStruct.cs + ┃ ┃ ┣━ 📄 IStructA.cs + ┃ ┃ ┣━ 📄 IStructB.cs + ┃ ┃ ┣━ 📄 IStructParameterType.cs + ┃ ┃ ┣━ 📄 IStructReturningDelegate.cs + ┃ ┃ ┣━ 📄 IStructReturningDelegateProxy.cs + ┃ ┃ ┣━ 📄 IStructWithJavaReservedWords.cs + ┃ ┃ ┣━ 📄 ISupportsNiceJavaBuilderProps.cs + ┃ ┃ ┣━ 📄 ITopLevelStruct.cs + ┃ ┃ ┣━ 📄 IUnionProperties.cs + ┃ ┃ ┣━ 📄 JavaReservedWords.cs + ┃ ┃ ┣━ 📄 JSII417Derived.cs + ┃ ┃ ┣━ 📄 JSII417PublicBaseOfBase.cs + ┃ ┃ ┣━ 📄 Jsii487Derived.cs + ┃ ┃ ┣━ 📄 Jsii496Derived.cs + ┃ ┃ ┣━ 📄 JsiiAgent_.cs + ┃ ┃ ┣━ 📄 JSObjectLiteralForInterface.cs + ┃ ┃ ┣━ 📄 JSObjectLiteralToNative.cs + ┃ ┃ ┣━ 📄 JSObjectLiteralToNativeClass.cs + ┃ ┃ ┣━ 📄 JsonFormatter.cs + ┃ ┃ ┣━ 📄 LoadBalancedFargateServiceProps.cs + ┃ ┃ ┣━ 📄 LoadBalancedFargateServicePropsProxy.cs + ┃ ┃ ┣━ 📄 MethodNamedProperty.cs + ┃ ┃ ┣━ 📄 Multiply.cs + ┃ ┃ ┣━ 📄 NamespaceDoc.cs + ┃ ┃ ┣━ 📄 Negate.cs + ┃ ┃ ┣━ 📄 NestedStruct.cs + ┃ ┃ ┣━ 📄 NestedStructProxy.cs + ┃ ┃ ┣━ 📄 NodeStandardLibrary.cs + ┃ ┃ ┣━ 📄 NullShouldBeTreatedAsUndefined.cs + ┃ ┃ ┣━ 📄 NullShouldBeTreatedAsUndefinedData.cs + ┃ ┃ ┣━ 📄 NullShouldBeTreatedAsUndefinedDataProxy.cs + ┃ ┃ ┣━ 📄 NumberGenerator.cs + ┃ ┃ ┣━ 📄 ObjectRefsInCollections.cs + ┃ ┃ ┣━ 📄 ObjectWithPropertyProvider.cs + ┃ ┃ ┣━ 📄 Old.cs + ┃ ┃ ┣━ 📄 OptionalArgumentInvoker.cs + ┃ ┃ ┣━ 📄 OptionalConstructorArgument.cs + ┃ ┃ ┣━ 📄 OptionalStruct.cs + ┃ ┃ ┣━ 📄 OptionalStructConsumer.cs + ┃ ┃ ┣━ 📄 OptionalStructProxy.cs + ┃ ┃ ┣━ 📄 OverridableProtectedMember.cs + ┃ ┃ ┣━ 📄 OverrideReturnsObject.cs + ┃ ┃ ┣━ 📄 ParentStruct982.cs + ┃ ┃ ┣━ 📄 ParentStruct982Proxy.cs + ┃ ┃ ┣━ 📄 PartiallyInitializedThisConsumer.cs + ┃ ┃ ┣━ 📄 PartiallyInitializedThisConsumerProxy.cs + ┃ ┃ ┣━ 📄 Polymorphism.cs + ┃ ┃ ┣━ 📄 Power.cs + ┃ ┃ ┣━ 📄 PropertyNamedProperty.cs + ┃ ┃ ┣━ 📄 PublicClass.cs + ┃ ┃ ┣━ 📄 PythonReservedWords.cs + ┃ ┃ ┣━ 📁 PythonSelf + ┃ ┃ ┃ ┣━ 📄 ClassWithSelf.cs + ┃ ┃ ┃ ┣━ 📄 ClassWithSelfKwarg.cs + ┃ ┃ ┃ ┣━ 📄 IInterfaceWithSelf.cs + ┃ ┃ ┃ ┣━ 📄 IInterfaceWithSelfProxy.cs + ┃ ┃ ┃ ┣━ 📄 IStructWithSelf.cs + ┃ ┃ ┃ ┣━ 📄 StructWithSelf.cs + ┃ ┃ ┃ ┗━ 📄 StructWithSelfProxy.cs + ┃ ┃ ┣━ 📄 ReferenceEnumFromScopedPackage.cs + ┃ ┃ ┣━ 📄 ReturnsPrivateImplementationOfInterface.cs + ┃ ┃ ┣━ 📄 RootStruct.cs + ┃ ┃ ┣━ 📄 RootStructProxy.cs + ┃ ┃ ┣━ 📄 RootStructValidator.cs + ┃ ┃ ┣━ 📄 RuntimeTypeChecking.cs + ┃ ┃ ┣━ 📄 SecondLevelStruct.cs + ┃ ┃ ┣━ 📄 SecondLevelStructProxy.cs + ┃ ┃ ┣━ 📄 SingleInstanceTwoTypes.cs + ┃ ┃ ┣━ 📄 SingletonInt.cs + ┃ ┃ ┣━ 📄 SingletonIntEnum.cs + ┃ ┃ ┣━ 📄 SingletonString.cs + ┃ ┃ ┣━ 📄 SingletonStringEnum.cs + ┃ ┃ ┣━ 📄 SmellyStruct.cs + ┃ ┃ ┣━ 📄 SmellyStructProxy.cs + ┃ ┃ ┣━ 📄 SomeTypeJsii976.cs + ┃ ┃ ┣━ 📄 StableClass.cs + ┃ ┃ ┣━ 📄 StableEnum.cs + ┃ ┃ ┣━ 📄 StableStruct.cs + ┃ ┃ ┣━ 📄 StableStructProxy.cs + ┃ ┃ ┣━ 📄 StaticContext.cs + ┃ ┃ ┣━ 📄 Statics.cs + ┃ ┃ ┣━ 📄 StringEnum.cs + ┃ ┃ ┣━ 📄 StripInternal.cs + ┃ ┃ ┣━ 📄 StructA.cs + ┃ ┃ ┣━ 📄 StructAProxy.cs + ┃ ┃ ┣━ 📄 StructB.cs + ┃ ┃ ┣━ 📄 StructBProxy.cs + ┃ ┃ ┣━ 📄 StructParameterType.cs + ┃ ┃ ┣━ 📄 StructParameterTypeProxy.cs + ┃ ┃ ┣━ 📄 StructPassing.cs + ┃ ┃ ┣━ 📄 StructUnionConsumer.cs + ┃ ┃ ┣━ 📄 StructWithJavaReservedWords.cs + ┃ ┃ ┣━ 📄 StructWithJavaReservedWordsProxy.cs + ┃ ┃ ┣━ 📁 Submodule + ┃ ┃ ┃ ┣━ 📁 BackReferences + ┃ ┃ ┃ ┃ ┣━ 📄 IMyClassReference.cs + ┃ ┃ ┃ ┃ ┣━ 📄 MyClassReference.cs + ┃ ┃ ┃ ┃ ┗━ 📄 MyClassReferenceProxy.cs + ┃ ┃ ┃ ┣━ 📁 Child + ┃ ┃ ┃ ┃ ┣━ 📄 Awesomeness.cs + ┃ ┃ ┃ ┃ ┣━ 📄 Goodness.cs + ┃ ┃ ┃ ┃ ┣━ 📄 IKwargsProps.cs + ┃ ┃ ┃ ┃ ┣━ 📄 InnerClass.cs + ┃ ┃ ┃ ┃ ┣━ 📄 ISomeStruct.cs + ┃ ┃ ┃ ┃ ┣━ 📄 IStructure.cs + ┃ ┃ ┃ ┃ ┣━ 📄 KwargsProps.cs + ┃ ┃ ┃ ┃ ┣━ 📄 KwargsPropsProxy.cs + ┃ ┃ ┃ ┃ ┣━ 📄 OuterClass.cs + ┃ ┃ ┃ ┃ ┣━ 📄 SomeEnum.cs + ┃ ┃ ┃ ┃ ┣━ 📄 SomeStruct.cs + ┃ ┃ ┃ ┃ ┣━ 📄 SomeStructProxy.cs + ┃ ┃ ┃ ┃ ┣━ 📄 Structure.cs + ┃ ┃ ┃ ┃ ┗━ 📄 StructureProxy.cs + ┃ ┃ ┃ ┣━ 📁 Isolated + ┃ ┃ ┃ ┃ ┗━ 📄 Kwargs.cs + ┃ ┃ ┃ ┣━ 📄 MyClass.cs + ┃ ┃ ┃ ┗━ 📁 NestedSubmodule + ┃ ┃ ┃ ┣━ 📁 DeeplyNested + ┃ ┃ ┃ ┃ ┣━ 📄 INamespaced.cs + ┃ ┃ ┃ ┃ ┗━ 📄 INamespacedProxy.cs + ┃ ┃ ┃ ┣━ 📄 Namespaced.cs + ┃ ┃ ┃ ┗━ 📄 NamespacedProxy.cs + ┃ ┃ ┣━ 📄 Sum.cs + ┃ ┃ ┣━ 📄 SupportsNiceJavaBuilder.cs + ┃ ┃ ┣━ 📄 SupportsNiceJavaBuilderProps.cs + ┃ ┃ ┣━ 📄 SupportsNiceJavaBuilderPropsProxy.cs + ┃ ┃ ┣━ 📄 SupportsNiceJavaBuilderWithRequiredProps.cs + ┃ ┃ ┣━ 📄 SyncVirtualMethods.cs + ┃ ┃ ┣━ 📄 Thrower.cs + ┃ ┃ ┣━ 📄 TopLevelStruct.cs + ┃ ┃ ┣━ 📄 TopLevelStructProxy.cs + ┃ ┃ ┣━ 📄 UmaskCheck.cs + ┃ ┃ ┣━ 📄 UnaryOperation.cs + ┃ ┃ ┣━ 📄 UnaryOperationProxy.cs + ┃ ┃ ┣━ 📄 UnionProperties.cs + ┃ ┃ ┣━ 📄 UnionPropertiesProxy.cs + ┃ ┃ ┣━ 📄 UpcasingReflectable.cs + ┃ ┃ ┣━ 📄 UseBundledDependency.cs + ┃ ┃ ┣━ 📄 UseCalcBase.cs + ┃ ┃ ┣━ 📄 UsesInterfaceWithProperties.cs + ┃ ┃ ┣━ 📄 VariadicInvoker.cs + ┃ ┃ ┣━ 📄 VariadicMethod.cs + ┃ ┃ ┣━ 📄 VirtualMethodPlayground.cs + ┃ ┃ ┣━ 📄 VoidCallback.cs + ┃ ┃ ┣━ 📄 VoidCallbackProxy.cs + ┃ ┃ ┗━ 📄 WithPrivatePropertyInConstructor.cs + ┃ ┣━ 📄 Amazon.JSII.Tests.CalculatorPackageId.csproj + ┃ ┣━ 📄 AssemblyInfo.cs + ┃ ┗━ 📄 jsii-calc-0.0.0.tgz + ┣━ 📁 java + ┃ ┣━ 📄 pom.xml + ┃ ┗━ 📁 src + ┃ ┗━ 📁 main + ┃ ┣━ 📁 java + ┃ ┃ ┗━ 📁 software + ┃ ┃ ┗━ 📁 amazon + ┃ ┃ ┗━ 📁 jsii + ┃ ┃ ┗━ 📁 tests + ┃ ┃ ┗━ 📁 calculator + ┃ ┃ ┣━ 📄 $Module.java + ┃ ┃ ┣━ 📄 AbstractClass.java + ┃ ┃ ┣━ 📄 AbstractClassBase.java + ┃ ┃ ┣━ 📄 AbstractClassReturner.java + ┃ ┃ ┣━ 📄 AbstractSuite.java + ┃ ┃ ┣━ 📄 Add.java + ┃ ┃ ┣━ 📄 AllowedMethodNames.java + ┃ ┃ ┣━ 📄 AllTypes.java + ┃ ┃ ┣━ 📄 AllTypesEnum.java + ┃ ┃ ┣━ 📄 AmbiguousParameters.java + ┃ ┃ ┣━ 📄 AnonymousImplementationProvider.java + ┃ ┃ ┣━ 📄 AsyncVirtualMethods.java + ┃ ┃ ┣━ 📄 AugmentableClass.java + ┃ ┃ ┣━ 📄 BaseJsii976.java + ┃ ┃ ┣━ 📄 Bell.java + ┃ ┃ ┣━ 📄 BinaryOperation.java + ┃ ┃ ┣━ 📄 Calculator.java + ┃ ┃ ┣━ 📄 CalculatorProps.java + ┃ ┃ ┣━ 📄 ChildStruct982.java + ┃ ┃ ┣━ 📄 ClassThatImplementsTheInternalInterface.java + ┃ ┃ ┣━ 📄 ClassThatImplementsThePrivateInterface.java + ┃ ┃ ┣━ 📄 ClassWithCollections.java + ┃ ┃ ┣━ 📄 ClassWithDocs.java + ┃ ┃ ┣━ 📄 ClassWithJavaReservedWords.java + ┃ ┃ ┣━ 📄 ClassWithMutableObjectLiteralProperty.java + ┃ ┃ ┣━ 📄 ClassWithPrivateConstructorAndAutomaticProperties.java + ┃ ┃ ┣━ 📁 composition + ┃ ┃ ┃ ┗━ 📄 CompositeOperation.java + ┃ ┃ ┣━ 📄 ConfusingToJackson.java + ┃ ┃ ┣━ 📄 ConfusingToJacksonStruct.java + ┃ ┃ ┣━ 📄 ConstructorPassesThisOut.java + ┃ ┃ ┣━ 📄 Constructors.java + ┃ ┃ ┣━ 📄 ConsumePureInterface.java + ┃ ┃ ┣━ 📄 ConsumerCanRingBell.java + ┃ ┃ ┣━ 📄 ConsumersOfThisCrazyTypeSystem.java + ┃ ┃ ┣━ 📄 DataRenderer.java + ┃ ┃ ┣━ 📄 DefaultedConstructorArgument.java + ┃ ┃ ┣━ 📄 Demonstrate982.java + ┃ ┃ ┣━ 📄 DeprecatedClass.java + ┃ ┃ ┣━ 📄 DeprecatedEnum.java + ┃ ┃ ┣━ 📄 DeprecatedStruct.java + ┃ ┃ ┣━ 📁 derived_class_has_no_properties + ┃ ┃ ┃ ┣━ 📄 Base.java + ┃ ┃ ┃ ┗━ 📄 Derived.java + ┃ ┃ ┣━ 📄 DerivedStruct.java + ┃ ┃ ┣━ 📄 DiamondInheritanceBaseLevelStruct.java + ┃ ┃ ┣━ 📄 DiamondInheritanceFirstMidLevelStruct.java + ┃ ┃ ┣━ 📄 DiamondInheritanceSecondMidLevelStruct.java + ┃ ┃ ┣━ 📄 DiamondInheritanceTopLevelStruct.java + ┃ ┃ ┣━ 📄 DisappointingCollectionSource.java + ┃ ┃ ┣━ 📄 DocumentedClass.java + ┃ ┃ ┣━ 📄 DoNotOverridePrivates.java + ┃ ┃ ┣━ 📄 DoNotRecognizeAnyAsOptional.java + ┃ ┃ ┣━ 📄 DontComplainAboutVariadicAfterOptional.java + ┃ ┃ ┣━ 📄 DoubleTrouble.java + ┃ ┃ ┣━ 📄 EnumDispenser.java + ┃ ┃ ┣━ 📄 EraseUndefinedHashValues.java + ┃ ┃ ┣━ 📄 EraseUndefinedHashValuesOptions.java + ┃ ┃ ┣━ 📄 ExperimentalClass.java + ┃ ┃ ┣━ 📄 ExperimentalEnum.java + ┃ ┃ ┣━ 📄 ExperimentalStruct.java + ┃ ┃ ┣━ 📄 ExportedBaseClass.java + ┃ ┃ ┣━ 📄 ExtendsInternalInterface.java + ┃ ┃ ┣━ 📄 ExternalClass.java + ┃ ┃ ┣━ 📄 ExternalEnum.java + ┃ ┃ ┣━ 📄 ExternalStruct.java + ┃ ┃ ┣━ 📄 GiveMeStructs.java + ┃ ┃ ┣━ 📄 Greetee.java + ┃ ┃ ┣━ 📄 GreetingAugmenter.java + ┃ ┃ ┣━ 📄 IAnonymousImplementationProvider.java + ┃ ┃ ┣━ 📄 IAnonymouslyImplementMe.java + ┃ ┃ ┣━ 📄 IAnotherPublicInterface.java + ┃ ┃ ┣━ 📄 IBell.java + ┃ ┃ ┣━ 📄 IBellRinger.java + ┃ ┃ ┣━ 📄 IConcreteBellRinger.java + ┃ ┃ ┣━ 📄 IDeprecatedInterface.java + ┃ ┃ ┣━ 📄 IExperimentalInterface.java + ┃ ┃ ┣━ 📄 IExtendsPrivateInterface.java + ┃ ┃ ┣━ 📄 IExternalInterface.java + ┃ ┃ ┣━ 📄 IFriendlier.java + ┃ ┃ ┣━ 📄 IFriendlyRandomGenerator.java + ┃ ┃ ┣━ 📄 IInterfaceImplementedByAbstractClass.java + ┃ ┃ ┣━ 📄 IInterfaceThatShouldNotBeADataType.java + ┃ ┃ ┣━ 📄 IInterfaceWithInternal.java + ┃ ┃ ┣━ 📄 IInterfaceWithMethods.java + ┃ ┃ ┣━ 📄 IInterfaceWithOptionalMethodArguments.java + ┃ ┃ ┣━ 📄 IInterfaceWithProperties.java + ┃ ┃ ┣━ 📄 IInterfaceWithPropertiesExtension.java + ┃ ┃ ┣━ 📄 IJSII417Derived.java + ┃ ┃ ┣━ 📄 IJSII417PublicBaseOfBase.java + ┃ ┃ ┣━ 📄 IJsii487External.java + ┃ ┃ ┣━ 📄 IJsii487External2.java + ┃ ┃ ┣━ 📄 IJsii496.java + ┃ ┃ ┣━ 📄 Implementation.java + ┃ ┃ ┣━ 📄 ImplementInternalInterface.java + ┃ ┃ ┣━ 📄 ImplementsInterfaceWithInternal.java + ┃ ┃ ┣━ 📄 ImplementsInterfaceWithInternalSubclass.java + ┃ ┃ ┣━ 📄 ImplementsPrivateInterface.java + ┃ ┃ ┣━ 📄 ImplictBaseOfBase.java + ┃ ┃ ┣━ 📄 IMutableObjectLiteral.java + ┃ ┃ ┣━ 📄 InbetweenClass.java + ┃ ┃ ┣━ 📄 INonInternalInterface.java + ┃ ┃ ┣━ 📁 interface_in_namespace_includes_classes + ┃ ┃ ┃ ┣━ 📄 Foo.java + ┃ ┃ ┃ ┗━ 📄 Hello.java + ┃ ┃ ┣━ 📁 interface_in_namespace_only_interface + ┃ ┃ ┃ ┗━ 📄 Hello.java + ┃ ┃ ┣━ 📄 InterfaceCollections.java + ┃ ┃ ┣━ 📄 InterfacesMaker.java + ┃ ┃ ┣━ 📄 IObjectWithProperty.java + ┃ ┃ ┣━ 📄 IOptionalMethod.java + ┃ ┃ ┣━ 📄 IPrivatelyImplemented.java + ┃ ┃ ┣━ 📄 IPublicInterface.java + ┃ ┃ ┣━ 📄 IPublicInterface2.java + ┃ ┃ ┣━ 📄 IRandomNumberGenerator.java + ┃ ┃ ┣━ 📄 IReturnJsii976.java + ┃ ┃ ┣━ 📄 IReturnsNumber.java + ┃ ┃ ┣━ 📄 Isomorphism.java + ┃ ┃ ┣━ 📄 IStableInterface.java + ┃ ┃ ┣━ 📄 IStructReturningDelegate.java + ┃ ┃ ┣━ 📄 JavaReservedWords.java + ┃ ┃ ┣━ 📄 JSII417Derived.java + ┃ ┃ ┣━ 📄 JSII417PublicBaseOfBase.java + ┃ ┃ ┣━ 📄 Jsii487Derived.java + ┃ ┃ ┣━ 📄 Jsii496Derived.java + ┃ ┃ ┣━ 📄 JsiiAgent.java + ┃ ┃ ┣━ 📄 JSObjectLiteralForInterface.java + ┃ ┃ ┣━ 📄 JSObjectLiteralToNative.java + ┃ ┃ ┣━ 📄 JSObjectLiteralToNativeClass.java + ┃ ┃ ┣━ 📄 JsonFormatter.java + ┃ ┃ ┣━ 📄 LoadBalancedFargateServiceProps.java + ┃ ┃ ┣━ 📄 MethodNamedProperty.java + ┃ ┃ ┣━ 📄 Multiply.java + ┃ ┃ ┣━ 📄 Negate.java + ┃ ┃ ┣━ 📄 NestedStruct.java + ┃ ┃ ┣━ 📄 NodeStandardLibrary.java + ┃ ┃ ┣━ 📄 NullShouldBeTreatedAsUndefined.java + ┃ ┃ ┣━ 📄 NullShouldBeTreatedAsUndefinedData.java + ┃ ┃ ┣━ 📄 NumberGenerator.java + ┃ ┃ ┣━ 📄 ObjectRefsInCollections.java + ┃ ┃ ┣━ 📄 ObjectWithPropertyProvider.java + ┃ ┃ ┣━ 📄 Old.java + ┃ ┃ ┣━ 📄 OptionalArgumentInvoker.java + ┃ ┃ ┣━ 📄 OptionalConstructorArgument.java + ┃ ┃ ┣━ 📄 OptionalStruct.java + ┃ ┃ ┣━ 📄 OptionalStructConsumer.java + ┃ ┃ ┣━ 📄 OverridableProtectedMember.java + ┃ ┃ ┣━ 📄 OverrideReturnsObject.java + ┃ ┃ ┣━ 📄 package-info.java + ┃ ┃ ┣━ 📄 ParentStruct982.java + ┃ ┃ ┣━ 📄 PartiallyInitializedThisConsumer.java + ┃ ┃ ┣━ 📄 Polymorphism.java + ┃ ┃ ┣━ 📄 Power.java + ┃ ┃ ┣━ 📄 PropertyNamedProperty.java + ┃ ┃ ┣━ 📄 PublicClass.java + ┃ ┃ ┣━ 📁 python_self + ┃ ┃ ┃ ┣━ 📄 ClassWithSelf.java + ┃ ┃ ┃ ┣━ 📄 ClassWithSelfKwarg.java + ┃ ┃ ┃ ┣━ 📄 IInterfaceWithSelf.java + ┃ ┃ ┃ ┗━ 📄 StructWithSelf.java + ┃ ┃ ┣━ 📄 PythonReservedWords.java + ┃ ┃ ┣━ 📄 ReferenceEnumFromScopedPackage.java + ┃ ┃ ┣━ 📄 ReturnsPrivateImplementationOfInterface.java + ┃ ┃ ┣━ 📄 RootStruct.java + ┃ ┃ ┣━ 📄 RootStructValidator.java + ┃ ┃ ┣━ 📄 RuntimeTypeChecking.java + ┃ ┃ ┣━ 📄 SecondLevelStruct.java + ┃ ┃ ┣━ 📄 SingleInstanceTwoTypes.java + ┃ ┃ ┣━ 📄 SingletonInt.java + ┃ ┃ ┣━ 📄 SingletonIntEnum.java + ┃ ┃ ┣━ 📄 SingletonString.java + ┃ ┃ ┣━ 📄 SingletonStringEnum.java + ┃ ┃ ┣━ 📄 SmellyStruct.java + ┃ ┃ ┣━ 📄 SomeTypeJsii976.java + ┃ ┃ ┣━ 📄 StableClass.java + ┃ ┃ ┣━ 📄 StableEnum.java + ┃ ┃ ┣━ 📄 StableStruct.java + ┃ ┃ ┣━ 📄 StaticContext.java + ┃ ┃ ┣━ 📄 Statics.java + ┃ ┃ ┣━ 📄 StringEnum.java + ┃ ┃ ┣━ 📄 StripInternal.java + ┃ ┃ ┣━ 📄 StructA.java + ┃ ┃ ┣━ 📄 StructB.java + ┃ ┃ ┣━ 📄 StructParameterType.java + ┃ ┃ ┣━ 📄 StructPassing.java + ┃ ┃ ┣━ 📄 StructUnionConsumer.java + ┃ ┃ ┣━ 📄 StructWithJavaReservedWords.java + ┃ ┃ ┣━ 📁 submodule + ┃ ┃ ┃ ┣━ 📁 back_references + ┃ ┃ ┃ ┃ ┗━ 📄 MyClassReference.java + ┃ ┃ ┃ ┣━ 📁 child + ┃ ┃ ┃ ┃ ┣━ 📄 Awesomeness.java + ┃ ┃ ┃ ┃ ┣━ 📄 Goodness.java + ┃ ┃ ┃ ┃ ┣━ 📄 InnerClass.java + ┃ ┃ ┃ ┃ ┣━ 📄 KwargsProps.java + ┃ ┃ ┃ ┃ ┣━ 📄 OuterClass.java + ┃ ┃ ┃ ┃ ┣━ 📄 SomeEnum.java + ┃ ┃ ┃ ┃ ┣━ 📄 SomeStruct.java + ┃ ┃ ┃ ┃ ┗━ 📄 Structure.java + ┃ ┃ ┃ ┣━ 📁 isolated + ┃ ┃ ┃ ┃ ┗━ 📄 Kwargs.java + ┃ ┃ ┃ ┣━ 📄 MyClass.java + ┃ ┃ ┃ ┗━ 📁 nested_submodule + ┃ ┃ ┃ ┣━ 📁 deeply_nested + ┃ ┃ ┃ ┃ ┗━ 📄 INamespaced.java + ┃ ┃ ┃ ┗━ 📄 Namespaced.java + ┃ ┃ ┣━ 📄 Sum.java + ┃ ┃ ┣━ 📄 SupportsNiceJavaBuilder.java + ┃ ┃ ┣━ 📄 SupportsNiceJavaBuilderProps.java + ┃ ┃ ┣━ 📄 SupportsNiceJavaBuilderWithRequiredProps.java + ┃ ┃ ┣━ 📄 SyncVirtualMethods.java + ┃ ┃ ┣━ 📄 Thrower.java + ┃ ┃ ┣━ 📄 TopLevelStruct.java + ┃ ┃ ┣━ 📄 UmaskCheck.java + ┃ ┃ ┣━ 📄 UnaryOperation.java + ┃ ┃ ┣━ 📄 UnionProperties.java + ┃ ┃ ┣━ 📄 UpcasingReflectable.java + ┃ ┃ ┣━ 📄 UseBundledDependency.java + ┃ ┃ ┣━ 📄 UseCalcBase.java + ┃ ┃ ┣━ 📄 UsesInterfaceWithProperties.java + ┃ ┃ ┣━ 📄 VariadicInvoker.java + ┃ ┃ ┣━ 📄 VariadicMethod.java + ┃ ┃ ┣━ 📄 VirtualMethodPlayground.java + ┃ ┃ ┣━ 📄 VoidCallback.java + ┃ ┃ ┗━ 📄 WithPrivatePropertyInConstructor.java + ┃ ┗━ 📁 resources + ┃ ┗━ 📁 software + ┃ ┗━ 📁 amazon + ┃ ┗━ 📁 jsii + ┃ ┗━ 📁 tests + ┃ ┗━ 📁 calculator + ┃ ┣━ 📄 $Module.txt + ┃ ┗━ 📄 jsii-calc@0.0.0.jsii.tgz + ┣━ 📁 js + ┃ ┗━ 📄 jsii-calc@0.0.0.jsii.tgz + ┗━ 📁 python + ┣━ 📄 MANIFEST.in + ┣━ 📄 pyproject.toml + ┣━ 📄 README.md + ┣━ 📄 setup.py + ┗━ 📁 src + ┗━ 📁 jsii_calc + ┣━ 📄 __init__.py + ┣━ 📁 _jsii + ┃ ┣━ 📄 __init__.py + ┃ ┗━ 📄 jsii-calc@0.0.0.jsii.tgz + ┣━ 📁 composition + ┃ ┗━ 📄 __init__.py + ┣━ 📁 derived_class_has_no_properties + ┃ ┗━ 📄 __init__.py + ┣━ 📁 interface_in_namespace_includes_classes + ┃ ┗━ 📄 __init__.py + ┣━ 📁 interface_in_namespace_only_interface + ┃ ┗━ 📄 __init__.py + ┣━ 📄 py.typed + ┣━ 📁 python_self + ┃ ┗━ 📄 __init__.py + ┗━ 📁 submodule + ┣━ 📄 __init__.py + ┣━ 📁 back_references + ┃ ┗━ 📄 __init__.py + ┣━ 📁 child + ┃ ┗━ 📄 __init__.py + ┣━ 📁 isolated + ┃ ┗━ 📄 __init__.py + ┗━ 📁 nested_submodule + ┣━ 📄 __init__.py + ┗━ 📁 deeply_nested + ┗━ 📄 __init__.py +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/.jsii 1`] = ` +Object { + Symbol(file): "{ + \\"author\\": { + \\"name\\": \\"Amazon Web Services\\", + \\"organization\\": true, + \\"roles\\": [ + \\"author\\" + ], + \\"url\\": \\"https://aws.amazon.com\\" + }, + \\"bundled\\": { + \\"@fixtures/jsii-calc-bundled\\": \\"^0.19.0\\" + }, + \\"contributors\\": [ + { + \\"name\\": \\"Elad Ben-Israel\\", + \\"roles\\": [ + \\"maintainer\\" + ], + \\"url\\": \\"https://github.com/eladb\\" + }, + { + \\"name\\": \\"Rico Huijbers\\", + \\"roles\\": [ + \\"maintainer\\" + ], + \\"url\\": \\"https://github.com/rix0rrr\\" + }, + { + \\"name\\": \\"Romain Marcadier-Muller\\", + \\"roles\\": [ + \\"maintainer\\" + ], + \\"url\\": \\"https://github.com/RomainMuller\\" + } + ], + \\"dependencies\\": { + \\"@scope/jsii-calc-base\\": \\"^0.0.0\\", + \\"@scope/jsii-calc-base-of-base\\": \\"^0.0.0\\", + \\"@scope/jsii-calc-lib\\": \\"^0.0.0\\" + }, + \\"dependencyClosure\\": { + \\"@scope/jsii-calc-base\\": { + \\"targets\\": { + \\"dotnet\\": { + \\"namespace\\": \\"Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace\\", + \\"packageId\\": \\"Amazon.JSII.Tests.CalculatorPackageId.BasePackageId\\" + }, + \\"java\\": { + \\"maven\\": { + \\"artifactId\\": \\"calculator-base\\", + \\"groupId\\": \\"software.amazon.jsii.tests\\" + }, + \\"package\\": \\"software.amazon.jsii.tests.calculator.base\\" + }, + \\"js\\": { + \\"npm\\": \\"@scope/jsii-calc-base\\" + }, + \\"python\\": { + \\"distName\\": \\"scope.jsii-calc-base\\", + \\"module\\": \\"scope.jsii_calc_base\\" + } + } + }, + \\"@scope/jsii-calc-base-of-base\\": { + \\"targets\\": { + \\"dotnet\\": { + \\"namespace\\": \\"Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace\\", + \\"packageId\\": \\"Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId\\" + }, + \\"java\\": { + \\"maven\\": { + \\"artifactId\\": \\"calculator-base-of-base\\", + \\"groupId\\": \\"software.amazon.jsii.tests\\" + }, + \\"package\\": \\"software.amazon.jsii.tests.calculator.baseofbase\\" + }, + \\"js\\": { + \\"npm\\": \\"@scope/jsii-calc-base-of-base\\" + }, + \\"python\\": { + \\"distName\\": \\"scope.jsii-calc-base-of-base\\", + \\"module\\": \\"scope.jsii_calc_base_of_base\\" + } + } + }, + \\"@scope/jsii-calc-lib\\": { + \\"submodules\\": { + \\"@scope/jsii-calc-lib.submodule\\": { + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 112 + }, + \\"targets\\": { + \\"dotnet\\": { + \\"namespace\\": \\"Amazon.JSII.Tests.CustomSubmoduleName\\" + }, + \\"java\\": { + \\"package\\": \\"software.amazon.jsii.tests.calculator.custom_submodule_name\\" + }, + \\"python\\": { + \\"module\\": \\"scope.jsii_calc_lib.custom_submodule_name\\" + } + } + } + }, + \\"targets\\": { + \\"dotnet\\": { + \\"namespace\\": \\"Amazon.JSII.Tests.CalculatorNamespace.LibNamespace\\", + \\"packageId\\": \\"Amazon.JSII.Tests.CalculatorPackageId.LibPackageId\\", + \\"versionSuffix\\": \\"-devpreview\\" + }, + \\"java\\": { + \\"maven\\": { + \\"artifactId\\": \\"calculator-lib\\", + \\"groupId\\": \\"software.amazon.jsii.tests\\", + \\"versionSuffix\\": \\".DEVPREVIEW\\" + }, + \\"package\\": \\"software.amazon.jsii.tests.calculator.lib\\" + }, + \\"js\\": { + \\"npm\\": \\"@scope/jsii-calc-lib\\" + }, + \\"python\\": { + \\"distName\\": \\"scope.jsii-calc-lib\\", + \\"module\\": \\"scope.jsii_calc_lib\\" + } + } + } + }, + \\"description\\": \\"A simple calcuator built on JSII.\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"homepage\\": \\"https://github.com/aws/jsii\\", + \\"jsiiVersion\\": \\"0.0.0\\", + \\"keywords\\": [ + \\"aws\\", + \\"jsii\\", + \\"test\\" + ], + \\"license\\": \\"Apache-2.0\\", + \\"metadata\\": { + \\"jsii:boolean\\": true, + \\"jsii:number\\": 1337, + \\"jsii:object\\": { + \\"string\\": \\"yes!\\" + } + }, + \\"name\\": \\"jsii-calc\\", + \\"readme\\": { + \\"markdown\\": \\"# jsii Calculator\\\\n\\\\nThis library is used to demonstrate and test the features of JSII\\\\n\\\\n## How to use running sum API:\\\\n\\\\nFirst, create a calculator:\\\\n\\\\n\`\`\`ts\\\\nconst calculator = new calc.Calculator();\\\\n\`\`\`\\\\n\\\\nThen call some operations:\\\\n\\\\n\\\\n\`\`\`ts fixture=with-calculator\\\\ncalculator.add(10);\\\\n\`\`\`\\\\n\\\\n## Code Samples\\\\n\\\\n\`\`\`ts\\\\n/* This is totes a magic comment in here, just you wait! */\\\\nconst foo = 'bar';\\\\n\`\`\`\\\\n\\" + }, + \\"repository\\": { + \\"directory\\": \\"packages/jsii-calc\\", + \\"type\\": \\"git\\", + \\"url\\": \\"https://github.com/aws/jsii.git\\" + }, + \\"schema\\": \\"jsii/0.10.0\\", + \\"submodules\\": { + \\"@scope/jsii-calc-lib.submodule\\": { + \\"locationInModule\\": { + \\"filename\\": \\"../@scope/jsii-calc-lib/build/index.d.ts\\", + \\"line\\": 94 + } + }, + \\"jsii-calc.DerivedClassHasNoProperties\\": { + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 325 + } + }, + \\"jsii-calc.InterfaceInNamespaceIncludesClasses\\": { + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1206 + } + }, + \\"jsii-calc.InterfaceInNamespaceOnlyInterface\\": { + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1199 + } + }, + \\"jsii-calc.PythonSelf\\": { + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1090 + } + }, + \\"jsii-calc.composition\\": { + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 134 + } + }, + \\"jsii-calc.submodule\\": { + \\"locationInModule\\": { + \\"filename\\": \\"lib/index.ts\\", + \\"line\\": 8 + } + }, + \\"jsii-calc.submodule.back_references\\": { + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/index.ts\\", + \\"line\\": 5 + } + }, + \\"jsii-calc.submodule.child\\": { + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/index.ts\\", + \\"line\\": 1 + } + }, + \\"jsii-calc.submodule.isolated\\": { + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/index.ts\\", + \\"line\\": 2 + } + }, + \\"jsii-calc.submodule.nested_submodule\\": { + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/nested_submodule.ts\\", + \\"line\\": 4 + } + }, + \\"jsii-calc.submodule.nested_submodule.deeplyNested\\": { + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/nested_submodule.ts\\", + \\"line\\": 6 + } + } + }, + \\"targets\\": { + \\"dotnet\\": { + \\"iconUrl\\": \\"https://sdk-for-net.amazonwebservices.com/images/AWSLogo128x128.png\\", + \\"namespace\\": \\"Amazon.JSII.Tests.CalculatorNamespace\\", + \\"packageId\\": \\"Amazon.JSII.Tests.CalculatorPackageId\\" + }, + \\"java\\": { + \\"maven\\": { + \\"artifactId\\": \\"calculator\\", + \\"groupId\\": \\"software.amazon.jsii.tests\\" + }, + \\"package\\": \\"software.amazon.jsii.tests.calculator\\" + }, + \\"js\\": { + \\"npm\\": \\"jsii-calc\\" + }, + \\"python\\": { + \\"distName\\": \\"jsii-calc\\", + \\"module\\": \\"jsii_calc\\" + } + }, + \\"types\\": { + \\"jsii-calc.AbstractClass\\": { + \\"abstract\\": true, + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"jsii-calc.AbstractClassBase\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.AbstractClass\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"interfaces\\": [ + \\"jsii-calc.IInterfaceImplementedByAbstractClass\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1250 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1256 + }, + \\"name\\": \\"abstractMethod\\", + \\"parameters\\": [ + { + \\"name\\": \\"name\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1252 + }, + \\"name\\": \\"nonAbstractMethod\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + } + ], + \\"name\\": \\"AbstractClass\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1258 + }, + \\"name\\": \\"propFromInterface\\", + \\"overrides\\": \\"jsii-calc.IInterfaceImplementedByAbstractClass\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.AbstractClassBase\\": { + \\"abstract\\": true, + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.AbstractClassBase\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1246 + }, + \\"name\\": \\"AbstractClassBase\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1247 + }, + \\"name\\": \\"abstractProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.AbstractClassReturner\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.AbstractClassReturner\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1273 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1274 + }, + \\"name\\": \\"giveMeAbstract\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.AbstractClass\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1278 + }, + \\"name\\": \\"giveMeInterface\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IInterfaceImplementedByAbstractClass\\" + } + } + } + ], + \\"name\\": \\"AbstractClassReturner\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1282 + }, + \\"name\\": \\"returnAbstractFromProperty\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.AbstractClassBase\\" + } + } + ] + }, + \\"jsii-calc.AbstractSuite\\": { + \\"abstract\\": true, + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Ensures abstract members implementations correctly register overrides in various languages.\\" + }, + \\"fqn\\": \\"jsii-calc.AbstractSuite\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 411 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 413 + }, + \\"name\\": \\"someMethod\\", + \\"parameters\\": [ + { + \\"name\\": \\"str\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ], + \\"protected\\": true, + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Sets \`seed\` to \`this.property\`, then calls \`someMethod\` with \`this.property\` and returns the result.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 419 + }, + \\"name\\": \\"workItAll\\", + \\"parameters\\": [ + { + \\"docs\\": { + \\"summary\\": \\"a \`string\`.\\" + }, + \\"name\\": \\"seed\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"AbstractSuite\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 412 + }, + \\"name\\": \\"property\\", + \\"protected\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.Add\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"jsii-calc.BinaryOperation\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The \\\\\\"+\\\\\\" binary operation.\\" + }, + \\"fqn\\": \\"jsii-calc.Add\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Creates a BinaryOperation.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 49 + }, + \\"parameters\\": [ + { + \\"docs\\": { + \\"summary\\": \\"Left-hand side operand.\\" + }, + \\"name\\": \\"lhs\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + }, + { + \\"docs\\": { + \\"summary\\": \\"Right-hand side operand.\\" + }, + \\"name\\": \\"rhs\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 61 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"String representation of the value.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 66 + }, + \\"name\\": \\"toString\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.Operation\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"Add\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The value.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 62 + }, + \\"name\\": \\"value\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.Value\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.AllTypes\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"remarks\\": \\"The setters will validate\\\\nthat the value set is of the expected type and throw otherwise.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"This class includes property for all types supported by jsii.\\" + }, + \\"fqn\\": \\"jsii-calc.AllTypes\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 63 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 232 + }, + \\"name\\": \\"anyIn\\", + \\"parameters\\": [ + { + \\"name\\": \\"inp\\", + \\"type\\": { + \\"primitive\\": \\"any\\" + } + } + ] + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 224 + }, + \\"name\\": \\"anyOut\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 220 + }, + \\"name\\": \\"enumMethod\\", + \\"parameters\\": [ + { + \\"name\\": \\"value\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.StringEnum\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.StringEnum\\" + } + } + } + ], + \\"name\\": \\"AllTypes\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 216 + }, + \\"name\\": \\"enumPropertyValue\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 180 + }, + \\"name\\": \\"anyArrayProperty\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"any\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 181 + }, + \\"name\\": \\"anyMapProperty\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"any\\" + }, + \\"kind\\": \\"map\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 179 + }, + \\"name\\": \\"anyProperty\\", + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 165 + }, + \\"name\\": \\"arrayProperty\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 68 + }, + \\"name\\": \\"booleanProperty\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 114 + }, + \\"name\\": \\"dateProperty\\", + \\"type\\": { + \\"primitive\\": \\"date\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 200 + }, + \\"name\\": \\"enumProperty\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.AllTypesEnum\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 133 + }, + \\"name\\": \\"jsonProperty\\", + \\"type\\": { + \\"primitive\\": \\"json\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 150 + }, + \\"name\\": \\"mapProperty\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Number\\" + }, + \\"kind\\": \\"map\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 99 + }, + \\"name\\": \\"numberProperty\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 83 + }, + \\"name\\": \\"stringProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 192 + }, + \\"name\\": \\"unionArrayProperty\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"union\\": { + \\"types\\": [ + { + \\"primitive\\": \\"number\\" + }, + { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + ] + } + }, + \\"kind\\": \\"array\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 193 + }, + \\"name\\": \\"unionMapProperty\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"union\\": { + \\"types\\": [ + { + \\"primitive\\": \\"string\\" + }, + { + \\"primitive\\": \\"number\\" + }, + { + \\"fqn\\": \\"@scope/jsii-calc-lib.Number\\" + } + ] + } + }, + \\"kind\\": \\"map\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 191 + }, + \\"name\\": \\"unionProperty\\", + \\"type\\": { + \\"union\\": { + \\"types\\": [ + { + \\"primitive\\": \\"string\\" + }, + { + \\"primitive\\": \\"number\\" + }, + { + \\"fqn\\": \\"jsii-calc.Multiply\\" + }, + { + \\"fqn\\": \\"@scope/jsii-calc-lib.Number\\" + } + ] + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 186 + }, + \\"name\\": \\"unknownArrayProperty\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"any\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 187 + }, + \\"name\\": \\"unknownMapProperty\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"any\\" + }, + \\"kind\\": \\"map\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 185 + }, + \\"name\\": \\"unknownProperty\\", + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 197 + }, + \\"name\\": \\"optionalEnumValue\\", + \\"optional\\": true, + \\"type\\": { + \\"fqn\\": \\"jsii-calc.StringEnum\\" + } + } + ] + }, + \\"jsii-calc.AllTypesEnum\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.AllTypesEnum\\", + \\"kind\\": \\"enum\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 33 + }, + \\"members\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"name\\": \\"MY_ENUM_VALUE\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"name\\": \\"YOUR_ENUM_VALUE\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"name\\": \\"THIS_IS_GREAT\\" + } + ], + \\"name\\": \\"AllTypesEnum\\" + }, + \\"jsii-calc.AllowedMethodNames\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.AllowedMethodNames\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 615 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 623 + }, + \\"name\\": \\"getBar\\", + \\"parameters\\": [ + { + \\"name\\": \\"_p1\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"_p2\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"getXxx() is not allowed (see negatives), but getXxx(a, ...) is okay.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 619 + }, + \\"name\\": \\"getFoo\\", + \\"parameters\\": [ + { + \\"name\\": \\"withParam\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 634 + }, + \\"name\\": \\"setBar\\", + \\"parameters\\": [ + { + \\"name\\": \\"_x\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"_y\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"name\\": \\"_z\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"setFoo(x) is not allowed (see negatives), but setXxx(a, b, ...) is okay.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 630 + }, + \\"name\\": \\"setFoo\\", + \\"parameters\\": [ + { + \\"name\\": \\"_x\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"_y\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + } + ], + \\"name\\": \\"AllowedMethodNames\\" + }, + \\"jsii-calc.AmbiguousParameters\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.AmbiguousParameters\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2683 + }, + \\"parameters\\": [ + { + \\"name\\": \\"scope\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.Bell\\" + } + }, + { + \\"name\\": \\"props\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.StructParameterType\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2682 + }, + \\"name\\": \\"AmbiguousParameters\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2685 + }, + \\"name\\": \\"props\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.StructParameterType\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2684 + }, + \\"name\\": \\"scope\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.Bell\\" + } + } + ] + }, + \\"jsii-calc.AnonymousImplementationProvider\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.AnonymousImplementationProvider\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"interfaces\\": [ + \\"jsii-calc.IAnonymousImplementationProvider\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2212 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2216 + }, + \\"name\\": \\"provideAsClass\\", + \\"overrides\\": \\"jsii-calc.IAnonymousImplementationProvider\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.Implementation\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2220 + }, + \\"name\\": \\"provideAsInterface\\", + \\"overrides\\": \\"jsii-calc.IAnonymousImplementationProvider\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IAnonymouslyImplementMe\\" + } + } + } + ], + \\"name\\": \\"AnonymousImplementationProvider\\" + }, + \\"jsii-calc.AsyncVirtualMethods\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.AsyncVirtualMethods\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 333 + }, + \\"methods\\": [ + { + \\"async\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 334 + }, + \\"name\\": \\"callMe\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"async\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Just calls \\\\\\"overrideMeToo\\\\\\".\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 353 + }, + \\"name\\": \\"callMe2\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"async\\": true, + \\"docs\\": { + \\"remarks\\": \\"This is a \\\\\\"double promise\\\\\\" situation, which\\\\nmeans that callbacks are not going to be available immediate, but only\\\\nafter an \\\\\\"immediates\\\\\\" cycle.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"This method calls the \\\\\\"callMe\\\\\\" async method indirectly, which will then invoke a virtual method.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 363 + }, + \\"name\\": \\"callMeDoublePromise\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 371 + }, + \\"name\\": \\"dontOverrideMe\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"async\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 342 + }, + \\"name\\": \\"overrideMe\\", + \\"parameters\\": [ + { + \\"name\\": \\"mult\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"async\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 346 + }, + \\"name\\": \\"overrideMeToo\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + } + ], + \\"name\\": \\"AsyncVirtualMethods\\" + }, + \\"jsii-calc.AugmentableClass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.AugmentableClass\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1539 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1540 + }, + \\"name\\": \\"methodOne\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1546 + }, + \\"name\\": \\"methodTwo\\" + } + ], + \\"name\\": \\"AugmentableClass\\" + }, + \\"jsii-calc.BaseJsii976\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.BaseJsii976\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2477 + }, + \\"name\\": \\"BaseJsii976\\" + }, + \\"jsii-calc.Bell\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.Bell\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"interfaces\\": [ + \\"jsii-calc.IBell\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2421 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2424 + }, + \\"name\\": \\"ring\\", + \\"overrides\\": \\"jsii-calc.IBell\\" + } + ], + \\"name\\": \\"Bell\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2422 + }, + \\"name\\": \\"rung\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"jsii-calc.BinaryOperation\\": { + \\"abstract\\": true, + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"@scope/jsii-calc-lib.Operation\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Represents an operation with two operands.\\" + }, + \\"fqn\\": \\"jsii-calc.BinaryOperation\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Creates a BinaryOperation.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 49 + }, + \\"parameters\\": [ + { + \\"docs\\": { + \\"summary\\": \\"Left-hand side operand.\\" + }, + \\"name\\": \\"lhs\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + }, + { + \\"docs\\": { + \\"summary\\": \\"Right-hand side operand.\\" + }, + \\"name\\": \\"rhs\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + } + ] + }, + \\"interfaces\\": [ + \\"@scope/jsii-calc-lib.IFriendly\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 43 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Say hello!\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 53 + }, + \\"name\\": \\"hello\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.IFriendly\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"BinaryOperation\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Left-hand side operand.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 49 + }, + \\"name\\": \\"lhs\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Right-hand side operand.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 49 + }, + \\"name\\": \\"rhs\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + } + ] + }, + \\"jsii-calc.Calculator\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"jsii-calc.composition.CompositeOperation\\", + \\"docs\\": { + \\"example\\": \\"const calculator = new calc.Calculator();\\\\ncalculator.add(5);\\\\ncalculator.mul(3);\\\\nconsole.log(calculator.expression.value);\\", + \\"remarks\\": \\"Here's how you use it:\\\\n\\\\n\`\`\`ts\\\\nconst calculator = new calc.Calculator();\\\\ncalculator.add(5);\\\\ncalculator.mul(3);\\\\nconsole.log(calculator.expression.value);\\\\n\`\`\`\\\\n\\\\nI will repeat this example again, but in an @example tag.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"A calculator which maintains a current value and allows adding operations.\\" + }, + \\"fqn\\": \\"jsii-calc.Calculator\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Creates a Calculator object.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 287 + }, + \\"parameters\\": [ + { + \\"docs\\": { + \\"summary\\": \\"Initialization properties.\\" + }, + \\"name\\": \\"props\\", + \\"optional\\": true, + \\"type\\": { + \\"fqn\\": \\"jsii-calc.CalculatorProps\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 282 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Adds a number to the current value.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 320 + }, + \\"name\\": \\"add\\", + \\"parameters\\": [ + { + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Multiplies the current value by a number.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 327 + }, + \\"name\\": \\"mul\\", + \\"parameters\\": [ + { + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Negates the current value.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 341 + }, + \\"name\\": \\"neg\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Raises the current value by a power.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 334 + }, + \\"name\\": \\"pow\\", + \\"parameters\\": [ + { + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Returns teh value of the union property (if defined).\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 360 + }, + \\"name\\": \\"readUnionValue\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + } + ], + \\"name\\": \\"Calculator\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Returns the expression.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 348 + }, + \\"name\\": \\"expression\\", + \\"overrides\\": \\"jsii-calc.composition.CompositeOperation\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"A log of all operations.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 310 + }, + \\"name\\": \\"operationsLog\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"A map of per operation name of all operations performed.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 305 + }, + \\"name\\": \\"operationsMap\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + }, + \\"kind\\": \\"array\\" + } + }, + \\"kind\\": \\"map\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The current value.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 300 + }, + \\"name\\": \\"curr\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The maximum value allows in this calculator.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 315 + }, + \\"name\\": \\"maxValue\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Example of a property that accepts a union of types.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 355 + }, + \\"name\\": \\"unionProperty\\", + \\"optional\\": true, + \\"type\\": { + \\"union\\": { + \\"types\\": [ + { + \\"fqn\\": \\"jsii-calc.Add\\" + }, + { + \\"fqn\\": \\"jsii-calc.Multiply\\" + }, + { + \\"fqn\\": \\"jsii-calc.Power\\" + } + ] + } + } + } + ] + }, + \\"jsii-calc.CalculatorProps\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Properties for Calculator.\\" + }, + \\"fqn\\": \\"jsii-calc.CalculatorProps\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 243 + }, + \\"name\\": \\"CalculatorProps\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"default\\": \\"0\\", + \\"remarks\\": \\"NOTE: Any number works here, it's fine.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The initial value of the calculator.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 251 + }, + \\"name\\": \\"initialValue\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"default\\": \\"none\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The maximum value the calculator can store.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 258 + }, + \\"name\\": \\"maximumValue\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.ChildStruct982\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ChildStruct982\\", + \\"interfaces\\": [ + \\"jsii-calc.ParentStruct982\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2501 + }, + \\"name\\": \\"ChildStruct982\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2502 + }, + \\"name\\": \\"bar\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.ClassThatImplementsTheInternalInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ClassThatImplementsTheInternalInterface\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"interfaces\\": [ + \\"jsii-calc.INonInternalInterface\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1802 + }, + \\"name\\": \\"ClassThatImplementsTheInternalInterface\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1806 + }, + \\"name\\": \\"a\\", + \\"overrides\\": \\"jsii-calc.IAnotherPublicInterface\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1807 + }, + \\"name\\": \\"b\\", + \\"overrides\\": \\"jsii-calc.INonInternalInterface\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1808 + }, + \\"name\\": \\"c\\", + \\"overrides\\": \\"jsii-calc.INonInternalInterface\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1809 + }, + \\"name\\": \\"d\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.ClassThatImplementsThePrivateInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ClassThatImplementsThePrivateInterface\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"interfaces\\": [ + \\"jsii-calc.INonInternalInterface\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1812 + }, + \\"name\\": \\"ClassThatImplementsThePrivateInterface\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1814 + }, + \\"name\\": \\"a\\", + \\"overrides\\": \\"jsii-calc.IAnotherPublicInterface\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1815 + }, + \\"name\\": \\"b\\", + \\"overrides\\": \\"jsii-calc.INonInternalInterface\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1816 + }, + \\"name\\": \\"c\\", + \\"overrides\\": \\"jsii-calc.INonInternalInterface\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1817 + }, + \\"name\\": \\"e\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.ClassWithCollections\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ClassWithCollections\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2118 + }, + \\"parameters\\": [ + { + \\"name\\": \\"map\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"map\\" + } + } + }, + { + \\"name\\": \\"array\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"array\\" + } + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2108 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2123 + }, + \\"name\\": \\"createAList\\", + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2127 + }, + \\"name\\": \\"createAMap\\", + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"map\\" + } + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"ClassWithCollections\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2116 + }, + \\"name\\": \\"staticArray\\", + \\"static\\": true, + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2112 + }, + \\"name\\": \\"staticMap\\", + \\"static\\": true, + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"map\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2110 + }, + \\"name\\": \\"array\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2109 + }, + \\"name\\": \\"map\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"map\\" + } + } + } + ] + }, + \\"jsii-calc.ClassWithDocs\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"custom\\": { + \\"customAttribute\\": \\"hasAValue\\" + }, + \\"example\\": \\"function anExample() {\\\\n}\\", + \\"remarks\\": \\"The docs are great. They're a bunch of tags.\\", + \\"see\\": \\"https://aws.amazon.com/\\", + \\"stability\\": \\"stable\\", + \\"summary\\": \\"This class has docs.\\" + }, + \\"fqn\\": \\"jsii-calc.ClassWithDocs\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1885 + }, + \\"name\\": \\"ClassWithDocs\\" + }, + \\"jsii-calc.ClassWithJavaReservedWords\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ClassWithJavaReservedWords\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2058 + }, + \\"parameters\\": [ + { + \\"name\\": \\"int\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2055 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2062 + }, + \\"name\\": \\"import\\", + \\"parameters\\": [ + { + \\"name\\": \\"assert\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"ClassWithJavaReservedWords\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2056 + }, + \\"name\\": \\"int\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.ClassWithMutableObjectLiteralProperty\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ClassWithMutableObjectLiteralProperty\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1293 + }, + \\"name\\": \\"ClassWithMutableObjectLiteralProperty\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1294 + }, + \\"name\\": \\"mutableObject\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IMutableObjectLiteral\\" + } + } + ] + }, + \\"jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Class that implements interface properties automatically, but using a private constructor.\\" + }, + \\"fqn\\": \\"jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties\\", + \\"interfaces\\": [ + \\"jsii-calc.IInterfaceWithProperties\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1320 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1322 + }, + \\"name\\": \\"create\\", + \\"parameters\\": [ + { + \\"name\\": \\"readOnlyString\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"readWriteString\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties\\" + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"ClassWithPrivateConstructorAndAutomaticProperties\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1330 + }, + \\"name\\": \\"readOnlyString\\", + \\"overrides\\": \\"jsii-calc.IInterfaceWithProperties\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1331 + }, + \\"name\\": \\"readWriteString\\", + \\"overrides\\": \\"jsii-calc.IInterfaceWithProperties\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.ConfusingToJackson\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"see\\": \\"https://github.com/aws/aws-cdk/issues/4080\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"This tries to confuse Jackson by having overloaded property setters.\\" + }, + \\"fqn\\": \\"jsii-calc.ConfusingToJackson\\", + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2640 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2641 + }, + \\"name\\": \\"makeInstance\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.ConfusingToJackson\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2645 + }, + \\"name\\": \\"makeStructInstance\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.ConfusingToJacksonStruct\\" + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"ConfusingToJackson\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2649 + }, + \\"name\\": \\"unionProperty\\", + \\"optional\\": true, + \\"type\\": { + \\"union\\": { + \\"types\\": [ + { + \\"fqn\\": \\"@scope/jsii-calc-lib.IFriendly\\" + }, + { + \\"collection\\": { + \\"elementtype\\": { + \\"union\\": { + \\"types\\": [ + { + \\"fqn\\": \\"@scope/jsii-calc-lib.IFriendly\\" + }, + { + \\"fqn\\": \\"jsii-calc.AbstractClass\\" + } + ] + } + }, + \\"kind\\": \\"array\\" + } + } + ] + } + } + } + ] + }, + \\"jsii-calc.ConfusingToJacksonStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ConfusingToJacksonStruct\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2653 + }, + \\"name\\": \\"ConfusingToJacksonStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2654 + }, + \\"name\\": \\"unionProperty\\", + \\"optional\\": true, + \\"type\\": { + \\"union\\": { + \\"types\\": [ + { + \\"fqn\\": \\"@scope/jsii-calc-lib.IFriendly\\" + }, + { + \\"collection\\": { + \\"elementtype\\": { + \\"union\\": { + \\"types\\": [ + { + \\"fqn\\": \\"@scope/jsii-calc-lib.IFriendly\\" + }, + { + \\"fqn\\": \\"jsii-calc.AbstractClass\\" + } + ] + } + }, + \\"kind\\": \\"array\\" + } + } + ] + } + } + } + ] + }, + \\"jsii-calc.ConstructorPassesThisOut\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ConstructorPassesThisOut\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1842 + }, + \\"parameters\\": [ + { + \\"name\\": \\"consumer\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.PartiallyInitializedThisConsumer\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1841 + }, + \\"name\\": \\"ConstructorPassesThisOut\\" + }, + \\"jsii-calc.Constructors\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.Constructors\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1587 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1604 + }, + \\"name\\": \\"hiddenInterface\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IPublicInterface\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1608 + }, + \\"name\\": \\"hiddenInterfaces\\", + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"jsii-calc.IPublicInterface\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1612 + }, + \\"name\\": \\"hiddenSubInterfaces\\", + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"jsii-calc.IPublicInterface\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1588 + }, + \\"name\\": \\"makeClass\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.PublicClass\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1592 + }, + \\"name\\": \\"makeInterface\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IPublicInterface\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1596 + }, + \\"name\\": \\"makeInterface2\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IPublicInterface2\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1600 + }, + \\"name\\": \\"makeInterfaces\\", + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"jsii-calc.IPublicInterface\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"Constructors\\" + }, + \\"jsii-calc.ConsumePureInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ConsumePureInterface\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2664 + }, + \\"parameters\\": [ + { + \\"name\\": \\"delegate\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IStructReturningDelegate\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2663 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2666 + }, + \\"name\\": \\"workItBaby\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.StructB\\" + } + } + } + ], + \\"name\\": \\"ConsumePureInterface\\" + }, + \\"jsii-calc.ConsumerCanRingBell\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"remarks\\": \\"Check that if a JSII consumer implements IConsumerWithInterfaceParam, they can call\\\\nthe method on the argument that they're passed...\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Test calling back to consumers that implement interfaces.\\" + }, + \\"fqn\\": \\"jsii-calc.ConsumerCanRingBell\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2306 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"remarks\\": \\"Returns whether the bell was rung.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"...if the interface is implemented using an object literal.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2312 + }, + \\"name\\": \\"staticImplementedByObjectLiteral\\", + \\"parameters\\": [ + { + \\"name\\": \\"ringer\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IBellRinger\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"remarks\\": \\"Return whether the bell was rung.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"...if the interface is implemented using a private class.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2338 + }, + \\"name\\": \\"staticImplementedByPrivateClass\\", + \\"parameters\\": [ + { + \\"name\\": \\"ringer\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IBellRinger\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"remarks\\": \\"Return whether the bell was rung.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"...if the interface is implemented using a public class.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2327 + }, + \\"name\\": \\"staticImplementedByPublicClass\\", + \\"parameters\\": [ + { + \\"name\\": \\"ringer\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IBellRinger\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"remarks\\": \\"Return whether the bell was rung.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"If the parameter is a concrete class instead of an interface.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2349 + }, + \\"name\\": \\"staticWhenTypedAsClass\\", + \\"parameters\\": [ + { + \\"name\\": \\"ringer\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IConcreteBellRinger\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"remarks\\": \\"Returns whether the bell was rung.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"...if the interface is implemented using an object literal.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2359 + }, + \\"name\\": \\"implementedByObjectLiteral\\", + \\"parameters\\": [ + { + \\"name\\": \\"ringer\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IBellRinger\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + }, + { + \\"docs\\": { + \\"remarks\\": \\"Return whether the bell was rung.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"...if the interface is implemented using a private class.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2385 + }, + \\"name\\": \\"implementedByPrivateClass\\", + \\"parameters\\": [ + { + \\"name\\": \\"ringer\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IBellRinger\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + }, + { + \\"docs\\": { + \\"remarks\\": \\"Return whether the bell was rung.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"...if the interface is implemented using a public class.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2374 + }, + \\"name\\": \\"implementedByPublicClass\\", + \\"parameters\\": [ + { + \\"name\\": \\"ringer\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IBellRinger\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + }, + { + \\"docs\\": { + \\"remarks\\": \\"Return whether the bell was rung.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"If the parameter is a concrete class instead of an interface.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2396 + }, + \\"name\\": \\"whenTypedAsClass\\", + \\"parameters\\": [ + { + \\"name\\": \\"ringer\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IConcreteBellRinger\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + } + ], + \\"name\\": \\"ConsumerCanRingBell\\" + }, + \\"jsii-calc.ConsumersOfThisCrazyTypeSystem\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ConsumersOfThisCrazyTypeSystem\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1820 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1821 + }, + \\"name\\": \\"consumeAnotherPublicInterface\\", + \\"parameters\\": [ + { + \\"name\\": \\"obj\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IAnotherPublicInterface\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1825 + }, + \\"name\\": \\"consumeNonInternalInterface\\", + \\"parameters\\": [ + { + \\"name\\": \\"obj\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.INonInternalInterface\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + } + } + ], + \\"name\\": \\"ConsumersOfThisCrazyTypeSystem\\" + }, + \\"jsii-calc.DataRenderer\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Verifies proper type handling through dynamic overrides.\\" + }, + \\"fqn\\": \\"jsii-calc.DataRenderer\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1981 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1982 + }, + \\"name\\": \\"render\\", + \\"parameters\\": [ + { + \\"name\\": \\"data\\", + \\"optional\\": true, + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.MyFirstStruct\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1988 + }, + \\"name\\": \\"renderArbitrary\\", + \\"parameters\\": [ + { + \\"name\\": \\"data\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"any\\" + }, + \\"kind\\": \\"map\\" + } + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1992 + }, + \\"name\\": \\"renderMap\\", + \\"parameters\\": [ + { + \\"name\\": \\"map\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"any\\" + }, + \\"kind\\": \\"map\\" + } + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"DataRenderer\\" + }, + \\"jsii-calc.DefaultedConstructorArgument\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.DefaultedConstructorArgument\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 318 + }, + \\"parameters\\": [ + { + \\"name\\": \\"arg1\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"name\\": \\"arg2\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"arg3\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"date\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 317 + }, + \\"name\\": \\"DefaultedConstructorArgument\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 319 + }, + \\"name\\": \\"arg1\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 321 + }, + \\"name\\": \\"arg3\\", + \\"type\\": { + \\"primitive\\": \\"date\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 320 + }, + \\"name\\": \\"arg2\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.Demonstrate982\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"remarks\\": \\"call #takeThis() -> An ObjectRef will be provisioned for the value (it'll be re-used!)\\\\n2. call #takeThisToo() -> The ObjectRef from before will need to be down-cased to the ParentStruct982 type\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"1.\\" + }, + \\"fqn\\": \\"jsii-calc.Demonstrate982\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2508 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"It's dangerous to go alone!\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2515 + }, + \\"name\\": \\"takeThis\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.ChildStruct982\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"It's dangerous to go alone!\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2520 + }, + \\"name\\": \\"takeThisToo\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.ParentStruct982\\" + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"Demonstrate982\\" + }, + \\"jsii-calc.DeprecatedClass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"deprecated\\": \\"a pretty boring class\\", + \\"stability\\": \\"deprecated\\" + }, + \\"fqn\\": \\"jsii-calc.DeprecatedClass\\", + \\"initializer\\": { + \\"docs\\": { + \\"deprecated\\": \\"this constructor is \\\\\\"just\\\\\\" okay\\", + \\"stability\\": \\"deprecated\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 95 + }, + \\"parameters\\": [ + { + \\"name\\": \\"readonlyString\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"mutableNumber\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 89 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"deprecated\\": \\"it was a bad idea\\", + \\"stability\\": \\"deprecated\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 100 + }, + \\"name\\": \\"method\\" + } + ], + \\"name\\": \\"DeprecatedClass\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"deprecated\\": \\"this is not always \\\\\\"wazoo\\\\\\", be ready to be disappointed\\", + \\"stability\\": \\"deprecated\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 91 + }, + \\"name\\": \\"readonlyProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"deprecated\\": \\"shouldn't have been mutable\\", + \\"stability\\": \\"deprecated\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 93 + }, + \\"name\\": \\"mutableProperty\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.DeprecatedEnum\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"deprecated\\": \\"your deprecated selection of bad options\\", + \\"stability\\": \\"deprecated\\" + }, + \\"fqn\\": \\"jsii-calc.DeprecatedEnum\\", + \\"kind\\": \\"enum\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 105 + }, + \\"members\\": [ + { + \\"docs\\": { + \\"deprecated\\": \\"option A is not great\\", + \\"stability\\": \\"deprecated\\" + }, + \\"name\\": \\"OPTION_A\\" + }, + { + \\"docs\\": { + \\"deprecated\\": \\"option B is kinda bad, too\\", + \\"stability\\": \\"deprecated\\" + }, + \\"name\\": \\"OPTION_B\\" + } + ], + \\"name\\": \\"DeprecatedEnum\\" + }, + \\"jsii-calc.DeprecatedStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"deprecated\\": \\"it just wraps a string\\", + \\"stability\\": \\"deprecated\\" + }, + \\"fqn\\": \\"jsii-calc.DeprecatedStruct\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 77 + }, + \\"name\\": \\"DeprecatedStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"deprecated\\": \\"well, yeah\\", + \\"stability\\": \\"deprecated\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 79 + }, + \\"name\\": \\"readonlyProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.DerivedClassHasNoProperties.Base\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.DerivedClassHasNoProperties.Base\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 326 + }, + \\"name\\": \\"Base\\", + \\"namespace\\": \\"DerivedClassHasNoProperties\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 327 + }, + \\"name\\": \\"prop\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.DerivedClassHasNoProperties.Derived\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"jsii-calc.DerivedClassHasNoProperties.Base\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.DerivedClassHasNoProperties.Derived\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 330 + }, + \\"name\\": \\"Derived\\", + \\"namespace\\": \\"DerivedClassHasNoProperties\\" + }, + \\"jsii-calc.DerivedStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"A struct which derives from another struct.\\" + }, + \\"fqn\\": \\"jsii-calc.DerivedStruct\\", + \\"interfaces\\": [ + \\"@scope/jsii-calc-lib.MyFirstStruct\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 541 + }, + \\"name\\": \\"DerivedStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 547 + }, + \\"name\\": \\"anotherRequired\\", + \\"type\\": { + \\"primitive\\": \\"date\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 546 + }, + \\"name\\": \\"bool\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"An example of a non primitive property.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 545 + }, + \\"name\\": \\"nonPrimitive\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.DoubleTrouble\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"This is optional.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 553 + }, + \\"name\\": \\"anotherOptional\\", + \\"optional\\": true, + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + }, + \\"kind\\": \\"map\\" + } + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 549 + }, + \\"name\\": \\"optionalAny\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 548 + }, + \\"name\\": \\"optionalArray\\", + \\"optional\\": true, + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"array\\" + } + } + } + ] + }, + \\"jsii-calc.DiamondInheritanceBaseLevelStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.DiamondInheritanceBaseLevelStruct\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2026 + }, + \\"name\\": \\"DiamondInheritanceBaseLevelStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2027 + }, + \\"name\\": \\"baseLevelProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.DiamondInheritanceFirstMidLevelStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.DiamondInheritanceFirstMidLevelStruct\\", + \\"interfaces\\": [ + \\"jsii-calc.DiamondInheritanceBaseLevelStruct\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2030 + }, + \\"name\\": \\"DiamondInheritanceFirstMidLevelStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2032 + }, + \\"name\\": \\"firstMidLevelProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.DiamondInheritanceSecondMidLevelStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.DiamondInheritanceSecondMidLevelStruct\\", + \\"interfaces\\": [ + \\"jsii-calc.DiamondInheritanceBaseLevelStruct\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2035 + }, + \\"name\\": \\"DiamondInheritanceSecondMidLevelStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2037 + }, + \\"name\\": \\"secondMidLevelProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.DiamondInheritanceTopLevelStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.DiamondInheritanceTopLevelStruct\\", + \\"interfaces\\": [ + \\"jsii-calc.DiamondInheritanceFirstMidLevelStruct\\", + \\"jsii-calc.DiamondInheritanceSecondMidLevelStruct\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2040 + }, + \\"name\\": \\"DiamondInheritanceTopLevelStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2043 + }, + \\"name\\": \\"topLevelProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.DisappointingCollectionSource\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"remarks\\": \\"This source of collections is disappointing - it'll always give you nothing :(\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Verifies that null/undefined can be returned for optional collections.\\" + }, + \\"fqn\\": \\"jsii-calc.DisappointingCollectionSource\\", + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2530 + }, + \\"name\\": \\"DisappointingCollectionSource\\", + \\"properties\\": [ + { + \\"const\\": true, + \\"docs\\": { + \\"remarks\\": \\"(Nah, just a billion dollars mistake!)\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Some List of strings, maybe?\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2532 + }, + \\"name\\": \\"maybeList\\", + \\"optional\\": true, + \\"static\\": true, + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + { + \\"const\\": true, + \\"docs\\": { + \\"remarks\\": \\"(Nah, just a billion dollars mistake!)\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Some Map of strings to numbers, maybe?\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2534 + }, + \\"name\\": \\"maybeMap\\", + \\"optional\\": true, + \\"static\\": true, + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"number\\" + }, + \\"kind\\": \\"map\\" + } + } + } + ] + }, + \\"jsii-calc.DoNotOverridePrivates\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.DoNotOverridePrivates\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1297 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1312 + }, + \\"name\\": \\"changePrivatePropertyValue\\", + \\"parameters\\": [ + { + \\"name\\": \\"newValue\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1304 + }, + \\"name\\": \\"privateMethodValue\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1308 + }, + \\"name\\": \\"privatePropertyValue\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"DoNotOverridePrivates\\" + }, + \\"jsii-calc.DoNotRecognizeAnyAsOptional\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"jsii#284: do not recognize \\\\\\"any\\\\\\" as an optional argument.\\" + }, + \\"fqn\\": \\"jsii-calc.DoNotRecognizeAnyAsOptional\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1353 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1354 + }, + \\"name\\": \\"method\\", + \\"parameters\\": [ + { + \\"name\\": \\"_requiredAny\\", + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + { + \\"name\\": \\"_optionalAny\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + { + \\"name\\": \\"_optionalString\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + } + ], + \\"name\\": \\"DoNotRecognizeAnyAsOptional\\" + }, + \\"jsii-calc.DocumentedClass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"remarks\\": \\"This is the meat of the TSDoc comment. It may contain\\\\nmultiple lines and multiple paragraphs.\\\\n\\\\nMultiple paragraphs are separated by an empty line.\\", + \\"stability\\": \\"stable\\", + \\"summary\\": \\"Here's the first line of the TSDoc comment.\\" + }, + \\"fqn\\": \\"jsii-calc.DocumentedClass\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/documented.ts\\", + \\"line\\": 11 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"remarks\\": \\"This will print out a friendly greeting intended for\\\\nthe indicated person.\\", + \\"returns\\": \\"A number that everyone knows very well\\", + \\"stability\\": \\"stable\\", + \\"summary\\": \\"Greet the indicated person.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/documented.ts\\", + \\"line\\": 21 + }, + \\"name\\": \\"greet\\", + \\"parameters\\": [ + { + \\"docs\\": { + \\"summary\\": \\"The person to be greeted.\\" + }, + \\"name\\": \\"greetee\\", + \\"optional\\": true, + \\"type\\": { + \\"fqn\\": \\"jsii-calc.Greetee\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Say ¡Hola!\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/documented.ts\\", + \\"line\\": 31 + }, + \\"name\\": \\"hola\\" + } + ], + \\"name\\": \\"DocumentedClass\\" + }, + \\"jsii-calc.DontComplainAboutVariadicAfterOptional\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.DontComplainAboutVariadicAfterOptional\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1430 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1431 + }, + \\"name\\": \\"optionalAndVariadic\\", + \\"parameters\\": [ + { + \\"name\\": \\"optional\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"things\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + }, + \\"variadic\\": true + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + \\"variadic\\": true + } + ], + \\"name\\": \\"DontComplainAboutVariadicAfterOptional\\" + }, + \\"jsii-calc.DoubleTrouble\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.DoubleTrouble\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"interfaces\\": [ + \\"jsii-calc.IFriendlyRandomGenerator\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 485 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Say hello!\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 490 + }, + \\"name\\": \\"hello\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.IFriendly\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Returns another random number.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 486 + }, + \\"name\\": \\"next\\", + \\"overrides\\": \\"jsii-calc.IRandomNumberGenerator\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + } + ], + \\"name\\": \\"DoubleTrouble\\" + }, + \\"jsii-calc.EnumDispenser\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.EnumDispenser\\", + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 45 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 51 + }, + \\"name\\": \\"randomIntegerLikeEnum\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.AllTypesEnum\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 46 + }, + \\"name\\": \\"randomStringLikeEnum\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.StringEnum\\" + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"EnumDispenser\\" + }, + \\"jsii-calc.EraseUndefinedHashValues\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.EraseUndefinedHashValues\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1643 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"remarks\\": \\"Used to check that undefined/null hash values\\\\nare being erased when sending values from native code to JS.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Returns \`true\` if \`key\` is defined in \`opts\`.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1648 + }, + \\"name\\": \\"doesKeyExist\\", + \\"parameters\\": [ + { + \\"name\\": \\"opts\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.EraseUndefinedHashValuesOptions\\" + } + }, + { + \\"name\\": \\"key\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"We expect \\\\\\"prop1\\\\\\" to be erased.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1668 + }, + \\"name\\": \\"prop1IsNull\\", + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"any\\" + }, + \\"kind\\": \\"map\\" + } + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"We expect \\\\\\"prop2\\\\\\" to be erased.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1658 + }, + \\"name\\": \\"prop2IsUndefined\\", + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"any\\" + }, + \\"kind\\": \\"map\\" + } + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"EraseUndefinedHashValues\\" + }, + \\"jsii-calc.EraseUndefinedHashValuesOptions\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.EraseUndefinedHashValuesOptions\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1638 + }, + \\"name\\": \\"EraseUndefinedHashValuesOptions\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1639 + }, + \\"name\\": \\"option1\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1640 + }, + \\"name\\": \\"option2\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.ExperimentalClass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ExperimentalClass\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 22 + }, + \\"parameters\\": [ + { + \\"name\\": \\"readonlyString\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"mutableNumber\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 16 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 28 + }, + \\"name\\": \\"method\\" + } + ], + \\"name\\": \\"ExperimentalClass\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 18 + }, + \\"name\\": \\"readonlyProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 20 + }, + \\"name\\": \\"mutableProperty\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.ExperimentalEnum\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ExperimentalEnum\\", + \\"kind\\": \\"enum\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 33 + }, + \\"members\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"name\\": \\"OPTION_A\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"name\\": \\"OPTION_B\\" + } + ], + \\"name\\": \\"ExperimentalEnum\\" + }, + \\"jsii-calc.ExperimentalStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ExperimentalStruct\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 4 + }, + \\"name\\": \\"ExperimentalStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 6 + }, + \\"name\\": \\"readonlyProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.ExportedBaseClass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ExportedBaseClass\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1516 + }, + \\"parameters\\": [ + { + \\"name\\": \\"success\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1515 + }, + \\"name\\": \\"ExportedBaseClass\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1516 + }, + \\"name\\": \\"success\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"jsii-calc.ExtendsInternalInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ExtendsInternalInterface\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1757 + }, + \\"name\\": \\"ExtendsInternalInterface\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1758 + }, + \\"name\\": \\"boom\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1698 + }, + \\"name\\": \\"prop\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.ExternalClass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"custom\\": { + \\"external\\": \\"true\\" + }, + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ExternalClass\\", + \\"initializer\\": { + \\"docs\\": { + \\"custom\\": { + \\"external\\": \\"true\\" + }, + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 131 + }, + \\"parameters\\": [ + { + \\"name\\": \\"readonlyString\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"mutableNumber\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 125 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"custom\\": { + \\"external\\": \\"true\\" + }, + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 136 + }, + \\"name\\": \\"method\\" + } + ], + \\"name\\": \\"ExternalClass\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"custom\\": { + \\"external\\": \\"true\\" + }, + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 127 + }, + \\"name\\": \\"readonlyProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"custom\\": { + \\"external\\": \\"true\\" + }, + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 129 + }, + \\"name\\": \\"mutableProperty\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.ExternalEnum\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"custom\\": { + \\"external\\": \\"true\\" + }, + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ExternalEnum\\", + \\"kind\\": \\"enum\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 141 + }, + \\"members\\": [ + { + \\"docs\\": { + \\"custom\\": { + \\"external\\": \\"true\\" + }, + \\"stability\\": \\"experimental\\" + }, + \\"name\\": \\"OPTION_A\\" + }, + { + \\"docs\\": { + \\"custom\\": { + \\"external\\": \\"true\\" + }, + \\"stability\\": \\"experimental\\" + }, + \\"name\\": \\"OPTION_B\\" + } + ], + \\"name\\": \\"ExternalEnum\\" + }, + \\"jsii-calc.ExternalStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"custom\\": { + \\"external\\": \\"true\\" + }, + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ExternalStruct\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 113 + }, + \\"name\\": \\"ExternalStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"custom\\": { + \\"external\\": \\"true\\" + }, + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 115 + }, + \\"name\\": \\"readonlyProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.GiveMeStructs\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.GiveMeStructs\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 556 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Accepts a struct of type DerivedStruct and returns a struct of type FirstStruct.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 574 + }, + \\"name\\": \\"derivedToFirst\\", + \\"parameters\\": [ + { + \\"name\\": \\"derived\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.DerivedStruct\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.MyFirstStruct\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Returns the boolean from a DerivedStruct struct.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 567 + }, + \\"name\\": \\"readDerivedNonPrimitive\\", + \\"parameters\\": [ + { + \\"name\\": \\"derived\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.DerivedStruct\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.DoubleTrouble\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Returns the \\\\\\"anumber\\\\\\" from a MyFirstStruct struct;\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 560 + }, + \\"name\\": \\"readFirstNumber\\", + \\"parameters\\": [ + { + \\"name\\": \\"first\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.MyFirstStruct\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + } + ], + \\"name\\": \\"GiveMeStructs\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 578 + }, + \\"name\\": \\"structLiteral\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.StructWithOnlyOptionals\\" + } + } + ] + }, + \\"jsii-calc.Greetee\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"These are some arguments you can pass to a method.\\" + }, + \\"fqn\\": \\"jsii-calc.Greetee\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/documented.ts\\", + \\"line\\": 39 + }, + \\"name\\": \\"Greetee\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"default\\": \\"world\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The name of the greetee.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/documented.ts\\", + \\"line\\": 45 + }, + \\"name\\": \\"name\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.GreetingAugmenter\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.GreetingAugmenter\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 532 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 533 + }, + \\"name\\": \\"betterGreeting\\", + \\"parameters\\": [ + { + \\"name\\": \\"friendly\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.IFriendly\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"GreetingAugmenter\\" + }, + \\"jsii-calc.IAnonymousImplementationProvider\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"We can return an anonymous interface implementation from an override without losing the interface declarations.\\" + }, + \\"fqn\\": \\"jsii-calc.IAnonymousImplementationProvider\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2208 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2210 + }, + \\"name\\": \\"provideAsClass\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.Implementation\\" + } + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2209 + }, + \\"name\\": \\"provideAsInterface\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IAnonymouslyImplementMe\\" + } + } + } + ], + \\"name\\": \\"IAnonymousImplementationProvider\\" + }, + \\"jsii-calc.IAnonymouslyImplementMe\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IAnonymouslyImplementMe\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2227 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2229 + }, + \\"name\\": \\"verb\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"IAnonymouslyImplementMe\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2228 + }, + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.IAnotherPublicInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IAnotherPublicInterface\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1778 + }, + \\"name\\": \\"IAnotherPublicInterface\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1779 + }, + \\"name\\": \\"a\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.IBell\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IBell\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2417 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2418 + }, + \\"name\\": \\"ring\\" + } + ], + \\"name\\": \\"IBell\\" + }, + \\"jsii-calc.IBellRinger\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Takes the object parameter as an interface.\\" + }, + \\"fqn\\": \\"jsii-calc.IBellRinger\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2406 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2407 + }, + \\"name\\": \\"yourTurn\\", + \\"parameters\\": [ + { + \\"name\\": \\"bell\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IBell\\" + } + } + ] + } + ], + \\"name\\": \\"IBellRinger\\" + }, + \\"jsii-calc.IConcreteBellRinger\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Takes the object parameter as a calss.\\" + }, + \\"fqn\\": \\"jsii-calc.IConcreteBellRinger\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2413 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2414 + }, + \\"name\\": \\"yourTurn\\", + \\"parameters\\": [ + { + \\"name\\": \\"bell\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.Bell\\" + } + } + ] + } + ], + \\"name\\": \\"IConcreteBellRinger\\" + }, + \\"jsii-calc.IDeprecatedInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"deprecated\\": \\"useless interface\\", + \\"stability\\": \\"deprecated\\" + }, + \\"fqn\\": \\"jsii-calc.IDeprecatedInterface\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 82 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"deprecated\\": \\"services no purpose\\", + \\"stability\\": \\"deprecated\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 86 + }, + \\"name\\": \\"method\\" + } + ], + \\"name\\": \\"IDeprecatedInterface\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"deprecated\\": \\"could be better\\", + \\"stability\\": \\"deprecated\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 84 + }, + \\"name\\": \\"mutableProperty\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.IExperimentalInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IExperimentalInterface\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 9 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 13 + }, + \\"name\\": \\"method\\" + } + ], + \\"name\\": \\"IExperimentalInterface\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 11 + }, + \\"name\\": \\"mutableProperty\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.IExtendsPrivateInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IExtendsPrivateInterface\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1769 + }, + \\"name\\": \\"IExtendsPrivateInterface\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1770 + }, + \\"name\\": \\"moreThings\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1754 + }, + \\"name\\": \\"private\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.IExternalInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"custom\\": { + \\"external\\": \\"true\\" + }, + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IExternalInterface\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 118 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"custom\\": { + \\"external\\": \\"true\\" + }, + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 122 + }, + \\"name\\": \\"method\\" + } + ], + \\"name\\": \\"IExternalInterface\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"custom\\": { + \\"external\\": \\"true\\" + }, + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 120 + }, + \\"name\\": \\"mutableProperty\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.IFriendlier\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Even friendlier classes can implement this interface.\\" + }, + \\"fqn\\": \\"jsii-calc.IFriendlier\\", + \\"interfaces\\": [ + \\"@scope/jsii-calc-lib.IFriendly\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 12 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Say farewell.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 22 + }, + \\"name\\": \\"farewell\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"returns\\": \\"A goodbye blessing.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Say goodbye.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 17 + }, + \\"name\\": \\"goodbye\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"IFriendlier\\" + }, + \\"jsii-calc.IFriendlyRandomGenerator\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IFriendlyRandomGenerator\\", + \\"interfaces\\": [ + \\"jsii-calc.IRandomNumberGenerator\\", + \\"@scope/jsii-calc-lib.IFriendly\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 36 + }, + \\"name\\": \\"IFriendlyRandomGenerator\\" + }, + \\"jsii-calc.IInterfaceImplementedByAbstractClass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"awslabs/jsii#220 Abstract return type.\\" + }, + \\"fqn\\": \\"jsii-calc.IInterfaceImplementedByAbstractClass\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1242 + }, + \\"name\\": \\"IInterfaceImplementedByAbstractClass\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1243 + }, + \\"name\\": \\"propFromInterface\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.IInterfaceThatShouldNotBeADataType\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Even though this interface has only properties, it is disqualified from being a datatype because it inherits from an interface that is not a datatype.\\" + }, + \\"fqn\\": \\"jsii-calc.IInterfaceThatShouldNotBeADataType\\", + \\"interfaces\\": [ + \\"jsii-calc.IInterfaceWithMethods\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1345 + }, + \\"name\\": \\"IInterfaceThatShouldNotBeADataType\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1347 + }, + \\"name\\": \\"otherValue\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.IInterfaceWithInternal\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IInterfaceWithInternal\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1709 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1710 + }, + \\"name\\": \\"visible\\" + } + ], + \\"name\\": \\"IInterfaceWithInternal\\" + }, + \\"jsii-calc.IInterfaceWithMethods\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IInterfaceWithMethods\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1335 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1338 + }, + \\"name\\": \\"doThings\\" + } + ], + \\"name\\": \\"IInterfaceWithMethods\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1336 + }, + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.IInterfaceWithOptionalMethodArguments\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"awslabs/jsii#175 Interface proxies (and builders) do not respect optional arguments in methods.\\" + }, + \\"fqn\\": \\"jsii-calc.IInterfaceWithOptionalMethodArguments\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1220 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1221 + }, + \\"name\\": \\"hello\\", + \\"parameters\\": [ + { + \\"name\\": \\"arg1\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"arg2\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + } + ], + \\"name\\": \\"IInterfaceWithOptionalMethodArguments\\" + }, + \\"jsii-calc.IInterfaceWithProperties\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IInterfaceWithProperties\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 586 + }, + \\"name\\": \\"IInterfaceWithProperties\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 587 + }, + \\"name\\": \\"readOnlyString\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 588 + }, + \\"name\\": \\"readWriteString\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.IInterfaceWithPropertiesExtension\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IInterfaceWithPropertiesExtension\\", + \\"interfaces\\": [ + \\"jsii-calc.IInterfaceWithProperties\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 591 + }, + \\"name\\": \\"IInterfaceWithPropertiesExtension\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 593 + }, + \\"name\\": \\"foo\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.IJSII417Derived\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IJSII417Derived\\", + \\"interfaces\\": [ + \\"jsii-calc.IJSII417PublicBaseOfBase\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 43 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 41 + }, + \\"name\\": \\"bar\\" + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 44 + }, + \\"name\\": \\"baz\\" + } + ], + \\"name\\": \\"IJSII417Derived\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 40 + }, + \\"name\\": \\"property\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.IJSII417PublicBaseOfBase\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IJSII417PublicBaseOfBase\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 36 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 37 + }, + \\"name\\": \\"foo\\" + } + ], + \\"name\\": \\"IJSII417PublicBaseOfBase\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 34 + }, + \\"name\\": \\"hasRoot\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"jsii-calc.IJsii487External\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IJsii487External\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 52 + }, + \\"name\\": \\"IJsii487External\\" + }, + \\"jsii-calc.IJsii487External2\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IJsii487External2\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 54 + }, + \\"name\\": \\"IJsii487External2\\" + }, + \\"jsii-calc.IJsii496\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IJsii496\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 64 + }, + \\"name\\": \\"IJsii496\\" + }, + \\"jsii-calc.IMutableObjectLiteral\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IMutableObjectLiteral\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1289 + }, + \\"name\\": \\"IMutableObjectLiteral\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1290 + }, + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.INonInternalInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.INonInternalInterface\\", + \\"interfaces\\": [ + \\"jsii-calc.IAnotherPublicInterface\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1787 + }, + \\"name\\": \\"INonInternalInterface\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1784 + }, + \\"name\\": \\"b\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1788 + }, + \\"name\\": \\"c\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.IObjectWithProperty\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Make sure that setters are properly called on objects with interfaces.\\" + }, + \\"fqn\\": \\"jsii-calc.IObjectWithProperty\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2542 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2544 + }, + \\"name\\": \\"wasSet\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + } + ], + \\"name\\": \\"IObjectWithProperty\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2543 + }, + \\"name\\": \\"property\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.IOptionalMethod\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Checks that optional result from interface method code generates correctly.\\" + }, + \\"fqn\\": \\"jsii-calc.IOptionalMethod\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2731 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2732 + }, + \\"name\\": \\"optional\\", + \\"returns\\": { + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"IOptionalMethod\\" + }, + \\"jsii-calc.IPrivatelyImplemented\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IPrivatelyImplemented\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1512 + }, + \\"name\\": \\"IPrivatelyImplemented\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1513 + }, + \\"name\\": \\"success\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"jsii-calc.IPublicInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IPublicInterface\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1558 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1559 + }, + \\"name\\": \\"bye\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"IPublicInterface\\" + }, + \\"jsii-calc.IPublicInterface2\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IPublicInterface2\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1562 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1563 + }, + \\"name\\": \\"ciao\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"IPublicInterface2\\" + }, + \\"jsii-calc.IRandomNumberGenerator\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Generates random numbers.\\" + }, + \\"fqn\\": \\"jsii-calc.IRandomNumberGenerator\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 28 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"returns\\": \\"A random number.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Returns another random number.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 33 + }, + \\"name\\": \\"next\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + } + ], + \\"name\\": \\"IRandomNumberGenerator\\" + }, + \\"jsii-calc.IReturnJsii976\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Returns a subclass of a known class which implements an interface.\\" + }, + \\"fqn\\": \\"jsii-calc.IReturnJsii976\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2473 + }, + \\"name\\": \\"IReturnJsii976\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2474 + }, + \\"name\\": \\"foo\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.IReturnsNumber\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.IReturnsNumber\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 639 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 640 + }, + \\"name\\": \\"obtainNumber\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.IDoublable\\" + } + } + } + ], + \\"name\\": \\"IReturnsNumber\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 642 + }, + \\"name\\": \\"numberProp\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Number\\" + } + } + ] + }, + \\"jsii-calc.IStableInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"stable\\" + }, + \\"fqn\\": \\"jsii-calc.IStableInterface\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 46 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"stable\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 50 + }, + \\"name\\": \\"method\\" + } + ], + \\"name\\": \\"IStableInterface\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"stable\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 48 + }, + \\"name\\": \\"mutableProperty\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.IStructReturningDelegate\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Verifies that a \\\\\\"pure\\\\\\" implementation of an interface works correctly.\\" + }, + \\"fqn\\": \\"jsii-calc.IStructReturningDelegate\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2660 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2661 + }, + \\"name\\": \\"returnStruct\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.StructB\\" + } + } + } + ], + \\"name\\": \\"IStructReturningDelegate\\" + }, + \\"jsii-calc.ImplementInternalInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ImplementInternalInterface\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1761 + }, + \\"name\\": \\"ImplementInternalInterface\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1762 + }, + \\"name\\": \\"prop\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.Implementation\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.Implementation\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2224 + }, + \\"name\\": \\"Implementation\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2225 + }, + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.ImplementsInterfaceWithInternal\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ImplementsInterfaceWithInternal\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"interfaces\\": [ + \\"jsii-calc.IInterfaceWithInternal\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1716 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1717 + }, + \\"name\\": \\"visible\\", + \\"overrides\\": \\"jsii-calc.IInterfaceWithInternal\\" + } + ], + \\"name\\": \\"ImplementsInterfaceWithInternal\\" + }, + \\"jsii-calc.ImplementsInterfaceWithInternalSubclass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"jsii-calc.ImplementsInterfaceWithInternal\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ImplementsInterfaceWithInternalSubclass\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1735 + }, + \\"name\\": \\"ImplementsInterfaceWithInternalSubclass\\" + }, + \\"jsii-calc.ImplementsPrivateInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ImplementsPrivateInterface\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1765 + }, + \\"name\\": \\"ImplementsPrivateInterface\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1766 + }, + \\"name\\": \\"private\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.ImplictBaseOfBase\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ImplictBaseOfBase\\", + \\"interfaces\\": [ + \\"@scope/jsii-calc-base.BaseProps\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1176 + }, + \\"name\\": \\"ImplictBaseOfBase\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1177 + }, + \\"name\\": \\"goo\\", + \\"type\\": { + \\"primitive\\": \\"date\\" + } + } + ] + }, + \\"jsii-calc.InbetweenClass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"jsii-calc.PublicClass\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.InbetweenClass\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"interfaces\\": [ + \\"jsii-calc.IPublicInterface2\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1565 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1566 + }, + \\"name\\": \\"ciao\\", + \\"overrides\\": \\"jsii-calc.IPublicInterface2\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"InbetweenClass\\" + }, + \\"jsii-calc.InterfaceCollections\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"remarks\\": \\"See: https://github.com/aws/jsii/issues/1196\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Verifies that collections of interfaces or structs are correctly handled.\\" + }, + \\"fqn\\": \\"jsii-calc.InterfaceCollections\\", + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2694 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2705 + }, + \\"name\\": \\"listOfInterfaces\\", + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"jsii-calc.IBell\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2695 + }, + \\"name\\": \\"listOfStructs\\", + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"jsii-calc.StructA\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2715 + }, + \\"name\\": \\"mapOfInterfaces\\", + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"jsii-calc.IBell\\" + }, + \\"kind\\": \\"map\\" + } + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2699 + }, + \\"name\\": \\"mapOfStructs\\", + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"jsii-calc.StructA\\" + }, + \\"kind\\": \\"map\\" + } + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"InterfaceCollections\\" + }, + \\"jsii-calc.InterfaceInNamespaceIncludesClasses.Foo\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.InterfaceInNamespaceIncludesClasses.Foo\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1207 + }, + \\"name\\": \\"Foo\\", + \\"namespace\\": \\"InterfaceInNamespaceIncludesClasses\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1208 + }, + \\"name\\": \\"bar\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.InterfaceInNamespaceIncludesClasses.Hello\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.InterfaceInNamespaceIncludesClasses.Hello\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1211 + }, + \\"name\\": \\"Hello\\", + \\"namespace\\": \\"InterfaceInNamespaceIncludesClasses\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1212 + }, + \\"name\\": \\"foo\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.InterfaceInNamespaceOnlyInterface.Hello\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.InterfaceInNamespaceOnlyInterface.Hello\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1201 + }, + \\"name\\": \\"Hello\\", + \\"namespace\\": \\"InterfaceInNamespaceOnlyInterface\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1202 + }, + \\"name\\": \\"foo\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.InterfacesMaker\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"We can return arrays of interfaces See aws/aws-cdk#2362.\\" + }, + \\"fqn\\": \\"jsii-calc.InterfacesMaker\\", + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2096 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2097 + }, + \\"name\\": \\"makeInterfaces\\", + \\"parameters\\": [ + { + \\"name\\": \\"count\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.IDoublable\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"InterfacesMaker\\" + }, + \\"jsii-calc.Isomorphism\\": { + \\"abstract\\": true, + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"remarks\\": \\"Create a subclass of this, and assert that \`this.myself()\` actually returns\\\\n\`this\` from within the constructor.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Checks the \\\\\\"same instance\\\\\\" isomorphism is preserved within the constructor.\\" + }, + \\"fqn\\": \\"jsii-calc.Isomorphism\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2741 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2742 + }, + \\"name\\": \\"myself\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.Isomorphism\\" + } + } + } + ], + \\"name\\": \\"Isomorphism\\" + }, + \\"jsii-calc.JSII417Derived\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"jsii-calc.JSII417PublicBaseOfBase\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.JSII417Derived\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 17 + }, + \\"parameters\\": [ + { + \\"name\\": \\"property\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 24 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 25 + }, + \\"name\\": \\"bar\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 28 + }, + \\"name\\": \\"baz\\" + } + ], + \\"name\\": \\"JSII417Derived\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 17 + }, + \\"name\\": \\"property\\", + \\"protected\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.JSII417PublicBaseOfBase\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.JSII417PublicBaseOfBase\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 8 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 9 + }, + \\"name\\": \\"makeInstance\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.JSII417PublicBaseOfBase\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 12 + }, + \\"name\\": \\"foo\\" + } + ], + \\"name\\": \\"JSII417PublicBaseOfBase\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 6 + }, + \\"name\\": \\"hasRoot\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"jsii-calc.JSObjectLiteralForInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.JSObjectLiteralForInterface\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 517 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 518 + }, + \\"name\\": \\"giveMeFriendly\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.IFriendly\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 524 + }, + \\"name\\": \\"giveMeFriendlyGenerator\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IFriendlyRandomGenerator\\" + } + } + } + ], + \\"name\\": \\"JSObjectLiteralForInterface\\" + }, + \\"jsii-calc.JSObjectLiteralToNative\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.JSObjectLiteralToNative\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 247 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 248 + }, + \\"name\\": \\"returnLiteral\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.JSObjectLiteralToNativeClass\\" + } + } + } + ], + \\"name\\": \\"JSObjectLiteralToNative\\" + }, + \\"jsii-calc.JSObjectLiteralToNativeClass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.JSObjectLiteralToNativeClass\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 256 + }, + \\"name\\": \\"JSObjectLiteralToNativeClass\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 257 + }, + \\"name\\": \\"propA\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 258 + }, + \\"name\\": \\"propB\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.JavaReservedWords\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.JavaReservedWords\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 745 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 746 + }, + \\"name\\": \\"abstract\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 750 + }, + \\"name\\": \\"assert\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 754 + }, + \\"name\\": \\"boolean\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 758 + }, + \\"name\\": \\"break\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 762 + }, + \\"name\\": \\"byte\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 766 + }, + \\"name\\": \\"case\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 770 + }, + \\"name\\": \\"catch\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 774 + }, + \\"name\\": \\"char\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 778 + }, + \\"name\\": \\"class\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 782 + }, + \\"name\\": \\"const\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 786 + }, + \\"name\\": \\"continue\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 790 + }, + \\"name\\": \\"default\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 798 + }, + \\"name\\": \\"do\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 794 + }, + \\"name\\": \\"double\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 802 + }, + \\"name\\": \\"else\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 806 + }, + \\"name\\": \\"enum\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 810 + }, + \\"name\\": \\"extends\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 814 + }, + \\"name\\": \\"false\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 818 + }, + \\"name\\": \\"final\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 822 + }, + \\"name\\": \\"finally\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 826 + }, + \\"name\\": \\"float\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 830 + }, + \\"name\\": \\"for\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 834 + }, + \\"name\\": \\"goto\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 838 + }, + \\"name\\": \\"if\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 842 + }, + \\"name\\": \\"implements\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 846 + }, + \\"name\\": \\"import\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 850 + }, + \\"name\\": \\"instanceof\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 854 + }, + \\"name\\": \\"int\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 858 + }, + \\"name\\": \\"interface\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 862 + }, + \\"name\\": \\"long\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 866 + }, + \\"name\\": \\"native\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 870 + }, + \\"name\\": \\"new\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 874 + }, + \\"name\\": \\"null\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 878 + }, + \\"name\\": \\"package\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 882 + }, + \\"name\\": \\"private\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 886 + }, + \\"name\\": \\"protected\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 890 + }, + \\"name\\": \\"public\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 894 + }, + \\"name\\": \\"return\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 898 + }, + \\"name\\": \\"short\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 902 + }, + \\"name\\": \\"static\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 906 + }, + \\"name\\": \\"strictfp\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 910 + }, + \\"name\\": \\"super\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 914 + }, + \\"name\\": \\"switch\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 918 + }, + \\"name\\": \\"synchronized\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 922 + }, + \\"name\\": \\"this\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 926 + }, + \\"name\\": \\"throw\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 930 + }, + \\"name\\": \\"throws\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 934 + }, + \\"name\\": \\"transient\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 938 + }, + \\"name\\": \\"true\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 942 + }, + \\"name\\": \\"try\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 946 + }, + \\"name\\": \\"void\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 950 + }, + \\"name\\": \\"volatile\\" + } + ], + \\"name\\": \\"JavaReservedWords\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 954 + }, + \\"name\\": \\"while\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.Jsii487Derived\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.Jsii487Derived\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"interfaces\\": [ + \\"jsii-calc.IJsii487External2\\", + \\"jsii-calc.IJsii487External\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 56 + }, + \\"name\\": \\"Jsii487Derived\\" + }, + \\"jsii-calc.Jsii496Derived\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.Jsii496Derived\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"interfaces\\": [ + \\"jsii-calc.IJsii496\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/erasures.ts\\", + \\"line\\": 66 + }, + \\"name\\": \\"Jsii496Derived\\" + }, + \\"jsii-calc.JsiiAgent\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Host runtime version should be set via JSII_AGENT.\\" + }, + \\"fqn\\": \\"jsii-calc.JsiiAgent\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1528 + }, + \\"name\\": \\"JsiiAgent\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Returns the value of the JSII_AGENT environment variable.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1532 + }, + \\"name\\": \\"jsiiAgent\\", + \\"optional\\": true, + \\"static\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.JsonFormatter\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"see\\": \\"https://github.com/aws/aws-cdk/issues/5066\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Make sure structs are un-decorated on the way in.\\" + }, + \\"fqn\\": \\"jsii-calc.JsonFormatter\\", + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2575 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2620 + }, + \\"name\\": \\"anyArray\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2616 + }, + \\"name\\": \\"anyBooleanFalse\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2612 + }, + \\"name\\": \\"anyBooleanTrue\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2592 + }, + \\"name\\": \\"anyDate\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2608 + }, + \\"name\\": \\"anyEmptyString\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2588 + }, + \\"name\\": \\"anyFunction\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2624 + }, + \\"name\\": \\"anyHash\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2580 + }, + \\"name\\": \\"anyNull\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2596 + }, + \\"name\\": \\"anyNumber\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2628 + }, + \\"name\\": \\"anyRef\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2604 + }, + \\"name\\": \\"anyString\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2584 + }, + \\"name\\": \\"anyUndefined\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2600 + }, + \\"name\\": \\"anyZero\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2576 + }, + \\"name\\": \\"stringify\\", + \\"parameters\\": [ + { + \\"name\\": \\"value\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"any\\" + } + } + ], + \\"returns\\": { + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"JsonFormatter\\" + }, + \\"jsii-calc.LoadBalancedFargateServiceProps\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"jsii#298: show default values in sphinx documentation, and respect newlines.\\" + }, + \\"fqn\\": \\"jsii-calc.LoadBalancedFargateServiceProps\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1439 + }, + \\"name\\": \\"LoadBalancedFargateServiceProps\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"default\\": \\"80\\", + \\"remarks\\": \\"Corresponds to container port mapping.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The container port of the application load balancer attached to your Fargate service.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1482 + }, + \\"name\\": \\"containerPort\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"default\\": \\"256\\", + \\"remarks\\": \\"Valid values, which determines your range of valid values for the memory parameter:\\\\n256 (.25 vCPU) - Available memory values: 0.5GB, 1GB, 2GB\\\\n512 (.5 vCPU) - Available memory values: 1GB, 2GB, 3GB, 4GB\\\\n1024 (1 vCPU) - Available memory values: 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB\\\\n2048 (2 vCPU) - Available memory values: Between 4GB and 16GB in 1GB increments\\\\n4096 (4 vCPU) - Available memory values: Between 8GB and 30GB in 1GB increments\\\\n\\\\nThis default is set in the underlying FargateTaskDefinition construct.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The number of cpu units used by the task.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1453 + }, + \\"name\\": \\"cpu\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"default\\": \\"512\\", + \\"remarks\\": \\"This field is required and you must use one of the following values, which determines your range of valid values\\\\nfor the cpu parameter:\\\\n\\\\n0.5GB, 1GB, 2GB - Available cpu values: 256 (.25 vCPU)\\\\n\\\\n1GB, 2GB, 3GB, 4GB - Available cpu values: 512 (.5 vCPU)\\\\n\\\\n2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB - Available cpu values: 1024 (1 vCPU)\\\\n\\\\nBetween 4GB and 16GB in 1GB increments - Available cpu values: 2048 (2 vCPU)\\\\n\\\\nBetween 8GB and 30GB in 1GB increments - Available cpu values: 4096 (4 vCPU)\\\\n\\\\nThis default is set in the underlying FargateTaskDefinition construct.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The amount (in MiB) of memory used by the task.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1475 + }, + \\"name\\": \\"memoryMiB\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"default\\": \\"true\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Determines whether the Application Load Balancer will be internet-facing.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1489 + }, + \\"name\\": \\"publicLoadBalancer\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"default\\": \\"false\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Determines whether your Fargate Service will be assigned a public IP address.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1496 + }, + \\"name\\": \\"publicTasks\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"jsii-calc.MethodNamedProperty\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.MethodNamedProperty\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 396 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 397 + }, + \\"name\\": \\"property\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"MethodNamedProperty\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 401 + }, + \\"name\\": \\"elite\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.Multiply\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"jsii-calc.BinaryOperation\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The \\\\\\"*\\\\\\" binary operation.\\" + }, + \\"fqn\\": \\"jsii-calc.Multiply\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Creates a BinaryOperation.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 49 + }, + \\"parameters\\": [ + { + \\"docs\\": { + \\"summary\\": \\"Left-hand side operand.\\" + }, + \\"name\\": \\"lhs\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + }, + { + \\"docs\\": { + \\"summary\\": \\"Right-hand side operand.\\" + }, + \\"name\\": \\"rhs\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + } + ] + }, + \\"interfaces\\": [ + \\"jsii-calc.IFriendlier\\", + \\"jsii-calc.IRandomNumberGenerator\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 74 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Say farewell.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 88 + }, + \\"name\\": \\"farewell\\", + \\"overrides\\": \\"jsii-calc.IFriendlier\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Say goodbye.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 84 + }, + \\"name\\": \\"goodbye\\", + \\"overrides\\": \\"jsii-calc.IFriendlier\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Returns another random number.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 92 + }, + \\"name\\": \\"next\\", + \\"overrides\\": \\"jsii-calc.IRandomNumberGenerator\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"String representation of the value.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 80 + }, + \\"name\\": \\"toString\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.Operation\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"Multiply\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The value.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 76 + }, + \\"name\\": \\"value\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.Value\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.Negate\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"jsii-calc.UnaryOperation\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The negation operation (\\\\\\"-value\\\\\\").\\" + }, + \\"fqn\\": \\"jsii-calc.Negate\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 101 + }, + \\"parameters\\": [ + { + \\"name\\": \\"operand\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + } + ] + }, + \\"interfaces\\": [ + \\"jsii-calc.IFriendlier\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 109 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Say farewell.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 126 + }, + \\"name\\": \\"farewell\\", + \\"overrides\\": \\"jsii-calc.IFriendlier\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Say goodbye.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 122 + }, + \\"name\\": \\"goodbye\\", + \\"overrides\\": \\"jsii-calc.IFriendlier\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Say hello!\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 118 + }, + \\"name\\": \\"hello\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.IFriendly\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"String representation of the value.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 114 + }, + \\"name\\": \\"toString\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.Operation\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"Negate\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The value.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 110 + }, + \\"name\\": \\"value\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.Value\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.NestedStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.NestedStruct\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2449 + }, + \\"name\\": \\"NestedStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"When provided, must be > 0.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2453 + }, + \\"name\\": \\"numberProp\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.NodeStandardLibrary\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Test fixture to verify that jsii modules can use the node standard library.\\" + }, + \\"fqn\\": \\"jsii-calc.NodeStandardLibrary\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1126 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"returns\\": \\"\\\\\\"6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50\\\\\\"\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Uses node.js \\\\\\"crypto\\\\\\" module to calculate sha256 of a string.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1157 + }, + \\"name\\": \\"cryptoSha256\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"async\\": true, + \\"docs\\": { + \\"returns\\": \\"\\\\\\"Hello, resource!\\\\\\"\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Reads a local resource file (resource.txt) asynchronously.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1131 + }, + \\"name\\": \\"fsReadFile\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"returns\\": \\"\\\\\\"Hello, resource! SYNC!\\\\\\"\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Sync version of fsReadFile.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1140 + }, + \\"name\\": \\"fsReadFileSync\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"NodeStandardLibrary\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Returns the current os.platform() from the \\\\\\"os\\\\\\" node module.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1149 + }, + \\"name\\": \\"osPlatform\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.NullShouldBeTreatedAsUndefined\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"jsii#282, aws-cdk#157: null should be treated as \\\\\\"undefined\\\\\\".\\" + }, + \\"fqn\\": \\"jsii-calc.NullShouldBeTreatedAsUndefined\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1369 + }, + \\"parameters\\": [ + { + \\"name\\": \\"_param1\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"optional\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"any\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1366 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1377 + }, + \\"name\\": \\"giveMeUndefined\\", + \\"parameters\\": [ + { + \\"name\\": \\"value\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"any\\" + } + } + ] + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1387 + }, + \\"name\\": \\"giveMeUndefinedInsideAnObject\\", + \\"parameters\\": [ + { + \\"name\\": \\"input\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.NullShouldBeTreatedAsUndefinedData\\" + } + } + ] + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1416 + }, + \\"name\\": \\"verifyPropertyIsUndefined\\" + } + ], + \\"name\\": \\"NullShouldBeTreatedAsUndefined\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1367 + }, + \\"name\\": \\"changeMeToUndefined\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.NullShouldBeTreatedAsUndefinedData\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.NullShouldBeTreatedAsUndefinedData\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1425 + }, + \\"name\\": \\"NullShouldBeTreatedAsUndefinedData\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1427 + }, + \\"name\\": \\"arrayWithThreeElementsAndUndefinedAsSecondArgument\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"any\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1426 + }, + \\"name\\": \\"thisShouldBeUndefined\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"any\\" + } + } + ] + }, + \\"jsii-calc.NumberGenerator\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"This allows us to test that a reference can be stored for objects that implement interfaces.\\" + }, + \\"fqn\\": \\"jsii-calc.NumberGenerator\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 506 + }, + \\"parameters\\": [ + { + \\"name\\": \\"generator\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IRandomNumberGenerator\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 505 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 512 + }, + \\"name\\": \\"isSameGenerator\\", + \\"parameters\\": [ + { + \\"name\\": \\"gen\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IRandomNumberGenerator\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 508 + }, + \\"name\\": \\"nextTimes100\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + } + ], + \\"name\\": \\"NumberGenerator\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 506 + }, + \\"name\\": \\"generator\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IRandomNumberGenerator\\" + } + } + ] + }, + \\"jsii-calc.ObjectRefsInCollections\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Verify that object references can be passed inside collections.\\" + }, + \\"fqn\\": \\"jsii-calc.ObjectRefsInCollections\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 264 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Returns the sum of all values.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 268 + }, + \\"name\\": \\"sumFromArray\\", + \\"parameters\\": [ + { + \\"name\\": \\"values\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + }, + \\"kind\\": \\"array\\" + } + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Returns the sum of all values in a map.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 279 + }, + \\"name\\": \\"sumFromMap\\", + \\"parameters\\": [ + { + \\"name\\": \\"values\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + }, + \\"kind\\": \\"map\\" + } + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + } + ], + \\"name\\": \\"ObjectRefsInCollections\\" + }, + \\"jsii-calc.ObjectWithPropertyProvider\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.ObjectWithPropertyProvider\\", + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2546 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2547 + }, + \\"name\\": \\"provide\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IObjectWithProperty\\" + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"ObjectWithPropertyProvider\\" + }, + \\"jsii-calc.Old\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"deprecated\\": \\"Use the new class\\", + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"Old class.\\" + }, + \\"fqn\\": \\"jsii-calc.Old\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/documented.ts\\", + \\"line\\": 53 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"deprecated\\", + \\"summary\\": \\"Doo wop that thing.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/documented.ts\\", + \\"line\\": 57 + }, + \\"name\\": \\"doAThing\\" + } + ], + \\"name\\": \\"Old\\" + }, + \\"jsii-calc.OptionalArgumentInvoker\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.OptionalArgumentInvoker\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1224 + }, + \\"parameters\\": [ + { + \\"name\\": \\"delegate\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IInterfaceWithOptionalMethodArguments\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1223 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1232 + }, + \\"name\\": \\"invokeWithOptional\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1228 + }, + \\"name\\": \\"invokeWithoutOptional\\" + } + ], + \\"name\\": \\"OptionalArgumentInvoker\\" + }, + \\"jsii-calc.OptionalConstructorArgument\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.OptionalConstructorArgument\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 310 + }, + \\"parameters\\": [ + { + \\"name\\": \\"arg1\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"name\\": \\"arg2\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"arg3\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"date\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 309 + }, + \\"name\\": \\"OptionalConstructorArgument\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 311 + }, + \\"name\\": \\"arg1\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 312 + }, + \\"name\\": \\"arg2\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 313 + }, + \\"name\\": \\"arg3\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"date\\" + } + } + ] + }, + \\"jsii-calc.OptionalStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.OptionalStruct\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1867 + }, + \\"name\\": \\"OptionalStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1868 + }, + \\"name\\": \\"field\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.OptionalStructConsumer\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.OptionalStructConsumer\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1862 + }, + \\"parameters\\": [ + { + \\"name\\": \\"optionalStruct\\", + \\"optional\\": true, + \\"type\\": { + \\"fqn\\": \\"jsii-calc.OptionalStruct\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1858 + }, + \\"name\\": \\"OptionalStructConsumer\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1859 + }, + \\"name\\": \\"parameterWasUndefined\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1860 + }, + \\"name\\": \\"fieldValue\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.OverridableProtectedMember\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"see\\": \\"https://github.com/aws/jsii/issues/903\\", + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.OverridableProtectedMember\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2135 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2147 + }, + \\"name\\": \\"overrideMe\\", + \\"protected\\": true, + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2143 + }, + \\"name\\": \\"switchModes\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2139 + }, + \\"name\\": \\"valueFromProtected\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"OverridableProtectedMember\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2136 + }, + \\"name\\": \\"overrideReadOnly\\", + \\"protected\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2137 + }, + \\"name\\": \\"overrideReadWrite\\", + \\"protected\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.OverrideReturnsObject\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.OverrideReturnsObject\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 645 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 646 + }, + \\"name\\": \\"test\\", + \\"parameters\\": [ + { + \\"name\\": \\"obj\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IReturnsNumber\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + } + ], + \\"name\\": \\"OverrideReturnsObject\\" + }, + \\"jsii-calc.ParentStruct982\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"https://github.com/aws/jsii/issues/982.\\" + }, + \\"fqn\\": \\"jsii-calc.ParentStruct982\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2498 + }, + \\"name\\": \\"ParentStruct982\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2499 + }, + \\"name\\": \\"foo\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.PartiallyInitializedThisConsumer\\": { + \\"abstract\\": true, + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.PartiallyInitializedThisConsumer\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1833 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1834 + }, + \\"name\\": \\"consumePartiallyInitializedThis\\", + \\"parameters\\": [ + { + \\"name\\": \\"obj\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.ConstructorPassesThisOut\\" + } + }, + { + \\"name\\": \\"dt\\", + \\"type\\": { + \\"primitive\\": \\"date\\" + } + }, + { + \\"name\\": \\"ev\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.AllTypesEnum\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"PartiallyInitializedThisConsumer\\" + }, + \\"jsii-calc.Polymorphism\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.Polymorphism\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 495 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 496 + }, + \\"name\\": \\"sayHello\\", + \\"parameters\\": [ + { + \\"name\\": \\"friendly\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.IFriendly\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"Polymorphism\\" + }, + \\"jsii-calc.Power\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"jsii-calc.composition.CompositeOperation\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The power operation.\\" + }, + \\"fqn\\": \\"jsii-calc.Power\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Creates a Power operation.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 227 + }, + \\"parameters\\": [ + { + \\"docs\\": { + \\"summary\\": \\"The base of the power.\\" + }, + \\"name\\": \\"base\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + }, + { + \\"docs\\": { + \\"summary\\": \\"The number of times to multiply.\\" + }, + \\"name\\": \\"pow\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 221 + }, + \\"name\\": \\"Power\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The base of the power.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 227 + }, + \\"name\\": \\"base\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + }, + { + \\"docs\\": { + \\"remarks\\": \\"Must be implemented by derived classes.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The expression that this operation consists of.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 231 + }, + \\"name\\": \\"expression\\", + \\"overrides\\": \\"jsii-calc.composition.CompositeOperation\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The number of times to multiply.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 227 + }, + \\"name\\": \\"pow\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + } + ] + }, + \\"jsii-calc.PropertyNamedProperty\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Reproduction for https://github.com/aws/jsii/issues/1113 Where a method or property named \\\\\\"property\\\\\\" would result in impossible to load Python code.\\" + }, + \\"fqn\\": \\"jsii-calc.PropertyNamedProperty\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 392 + }, + \\"name\\": \\"PropertyNamedProperty\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 393 + }, + \\"name\\": \\"property\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 394 + }, + \\"name\\": \\"yetAnoterOne\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"jsii-calc.PublicClass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.PublicClass\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1553 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1554 + }, + \\"name\\": \\"hello\\" + } + ], + \\"name\\": \\"PublicClass\\" + }, + \\"jsii-calc.PythonReservedWords\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.PythonReservedWords\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 957 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 958 + }, + \\"name\\": \\"and\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 962 + }, + \\"name\\": \\"as\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 966 + }, + \\"name\\": \\"assert\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 970 + }, + \\"name\\": \\"async\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 974 + }, + \\"name\\": \\"await\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 978 + }, + \\"name\\": \\"break\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 982 + }, + \\"name\\": \\"class\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 986 + }, + \\"name\\": \\"continue\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 990 + }, + \\"name\\": \\"def\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 994 + }, + \\"name\\": \\"del\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 998 + }, + \\"name\\": \\"elif\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1002 + }, + \\"name\\": \\"else\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1006 + }, + \\"name\\": \\"except\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1010 + }, + \\"name\\": \\"finally\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1014 + }, + \\"name\\": \\"for\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1018 + }, + \\"name\\": \\"from\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1022 + }, + \\"name\\": \\"global\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1026 + }, + \\"name\\": \\"if\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1030 + }, + \\"name\\": \\"import\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1034 + }, + \\"name\\": \\"in\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1038 + }, + \\"name\\": \\"is\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1042 + }, + \\"name\\": \\"lambda\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1046 + }, + \\"name\\": \\"nonlocal\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1050 + }, + \\"name\\": \\"not\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1054 + }, + \\"name\\": \\"or\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1058 + }, + \\"name\\": \\"pass\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1062 + }, + \\"name\\": \\"raise\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1066 + }, + \\"name\\": \\"return\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1070 + }, + \\"name\\": \\"try\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1074 + }, + \\"name\\": \\"while\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1078 + }, + \\"name\\": \\"with\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1082 + }, + \\"name\\": \\"yield\\" + } + ], + \\"name\\": \\"PythonReservedWords\\" + }, + \\"jsii-calc.PythonSelf.ClassWithSelf\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.PythonSelf.ClassWithSelf\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1092 + }, + \\"parameters\\": [ + { + \\"name\\": \\"self\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1091 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1094 + }, + \\"name\\": \\"method\\", + \\"parameters\\": [ + { + \\"name\\": \\"self\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"ClassWithSelf\\", + \\"namespace\\": \\"PythonSelf\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1092 + }, + \\"name\\": \\"self\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.PythonSelf.ClassWithSelfKwarg\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.PythonSelf.ClassWithSelfKwarg\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1100 + }, + \\"parameters\\": [ + { + \\"name\\": \\"props\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.PythonSelf.StructWithSelf\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1099 + }, + \\"name\\": \\"ClassWithSelfKwarg\\", + \\"namespace\\": \\"PythonSelf\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1100 + }, + \\"name\\": \\"props\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.PythonSelf.StructWithSelf\\" + } + } + ] + }, + \\"jsii-calc.PythonSelf.IInterfaceWithSelf\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.PythonSelf.IInterfaceWithSelf\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1107 + }, + \\"methods\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1108 + }, + \\"name\\": \\"method\\", + \\"parameters\\": [ + { + \\"name\\": \\"self\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"IInterfaceWithSelf\\", + \\"namespace\\": \\"PythonSelf\\" + }, + \\"jsii-calc.PythonSelf.StructWithSelf\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.PythonSelf.StructWithSelf\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1103 + }, + \\"name\\": \\"StructWithSelf\\", + \\"namespace\\": \\"PythonSelf\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1104 + }, + \\"name\\": \\"self\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.ReferenceEnumFromScopedPackage\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"See awslabs/jsii#138.\\" + }, + \\"fqn\\": \\"jsii-calc.ReferenceEnumFromScopedPackage\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1183 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1186 + }, + \\"name\\": \\"loadFoo\\", + \\"returns\\": { + \\"optional\\": true, + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.EnumFromScopedModule\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1190 + }, + \\"name\\": \\"saveFoo\\", + \\"parameters\\": [ + { + \\"name\\": \\"value\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.EnumFromScopedModule\\" + } + } + ] + } + ], + \\"name\\": \\"ReferenceEnumFromScopedPackage\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1184 + }, + \\"name\\": \\"foo\\", + \\"optional\\": true, + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.EnumFromScopedModule\\" + } + } + ] + }, + \\"jsii-calc.ReturnsPrivateImplementationOfInterface\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"returns\\": \\"an instance of an un-exported class that extends \`ExportedBaseClass\`, declared as \`IPrivatelyImplemented\`.\\", + \\"see\\": \\"https://github.com/aws/jsii/issues/320\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Helps ensure the JSII kernel & runtime cooperate correctly when an un-exported instance of a class is returned with a declared type that is an exported interface, and the instance inherits from an exported class.\\" + }, + \\"fqn\\": \\"jsii-calc.ReturnsPrivateImplementationOfInterface\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1507 + }, + \\"name\\": \\"ReturnsPrivateImplementationOfInterface\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1508 + }, + \\"name\\": \\"privateImplementation\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IPrivatelyImplemented\\" + } + } + ] + }, + \\"jsii-calc.RootStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"remarks\\": \\"This is cheating with the (current) declared types, but this is the \\\\\\"more\\\\nidiomatic\\\\\\" way for Pythonists.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"This is here to check that we can pass a nested struct into a kwargs by specifying it as an in-line dictionary.\\" + }, + \\"fqn\\": \\"jsii-calc.RootStruct\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2442 + }, + \\"name\\": \\"RootStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"May not be empty.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2446 + }, + \\"name\\": \\"stringProp\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2447 + }, + \\"name\\": \\"nestedStruct\\", + \\"optional\\": true, + \\"type\\": { + \\"fqn\\": \\"jsii-calc.NestedStruct\\" + } + } + ] + }, + \\"jsii-calc.RootStructValidator\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.RootStructValidator\\", + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2455 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2456 + }, + \\"name\\": \\"validate\\", + \\"parameters\\": [ + { + \\"name\\": \\"struct\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.RootStruct\\" + } + } + ], + \\"static\\": true + } + ], + \\"name\\": \\"RootStructValidator\\" + }, + \\"jsii-calc.RuntimeTypeChecking\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.RuntimeTypeChecking\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 288 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 296 + }, + \\"name\\": \\"methodWithDefaultedArguments\\", + \\"parameters\\": [ + { + \\"name\\": \\"arg1\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"name\\": \\"arg2\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"arg3\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"date\\" + } + } + ] + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 304 + }, + \\"name\\": \\"methodWithOptionalAnyArgument\\", + \\"parameters\\": [ + { + \\"name\\": \\"arg\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"any\\" + } + } + ] + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Used to verify verification of number of method arguments.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 292 + }, + \\"name\\": \\"methodWithOptionalArguments\\", + \\"parameters\\": [ + { + \\"name\\": \\"arg1\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"name\\": \\"arg2\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"arg3\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"date\\" + } + } + ] + } + ], + \\"name\\": \\"RuntimeTypeChecking\\" + }, + \\"jsii-calc.SecondLevelStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.SecondLevelStruct\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2014 + }, + \\"name\\": \\"SecondLevelStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"It's long and required.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2018 + }, + \\"name\\": \\"deeperRequiredProp\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"It's long, but you'll almost never pass it.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2023 + }, + \\"name\\": \\"deeperOptionalProp\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.SingleInstanceTwoTypes\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"remarks\\": \\"JSII clients can instantiate 2 different strongly-typed wrappers for the same\\\\nobject. Unfortunately, this will break object equality, but if we didn't do\\\\nthis it would break runtime type checks in the JVM or CLR.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Test that a single instance can be returned under two different FQNs.\\" + }, + \\"fqn\\": \\"jsii-calc.SingleInstanceTwoTypes\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1624 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1627 + }, + \\"name\\": \\"interface1\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.InbetweenClass\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1631 + }, + \\"name\\": \\"interface2\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IPublicInterface\\" + } + } + } + ], + \\"name\\": \\"SingleInstanceTwoTypes\\" + }, + \\"jsii-calc.SingletonInt\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"remarks\\": \\"https://github.com/aws/jsii/issues/231\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Verifies that singleton enums are handled correctly.\\" + }, + \\"fqn\\": \\"jsii-calc.SingletonInt\\", + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1966 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1968 + }, + \\"name\\": \\"isSingletonInt\\", + \\"parameters\\": [ + { + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + } + ], + \\"name\\": \\"SingletonInt\\" + }, + \\"jsii-calc.SingletonIntEnum\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"A singleton integer.\\" + }, + \\"fqn\\": \\"jsii-calc.SingletonIntEnum\\", + \\"kind\\": \\"enum\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1973 + }, + \\"members\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Elite!\\" + }, + \\"name\\": \\"SINGLETON_INT\\" + } + ], + \\"name\\": \\"SingletonIntEnum\\" + }, + \\"jsii-calc.SingletonString\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"remarks\\": \\"https://github.com/aws/jsii/issues/231\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Verifies that singleton enums are handled correctly.\\" + }, + \\"fqn\\": \\"jsii-calc.SingletonString\\", + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1949 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1952 + }, + \\"name\\": \\"isSingletonString\\", + \\"parameters\\": [ + { + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + } + ], + \\"name\\": \\"SingletonString\\" + }, + \\"jsii-calc.SingletonStringEnum\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"A singleton string.\\" + }, + \\"fqn\\": \\"jsii-calc.SingletonStringEnum\\", + \\"kind\\": \\"enum\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1957 + }, + \\"members\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"1337.\\" + }, + \\"name\\": \\"SINGLETON_STRING\\" + } + ], + \\"name\\": \\"SingletonStringEnum\\" + }, + \\"jsii-calc.SmellyStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.SmellyStruct\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 403 + }, + \\"name\\": \\"SmellyStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 404 + }, + \\"name\\": \\"property\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 405 + }, + \\"name\\": \\"yetAnoterOne\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"jsii-calc.SomeTypeJsii976\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.SomeTypeJsii976\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2479 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2488 + }, + \\"name\\": \\"returnAnonymous\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2480 + }, + \\"name\\": \\"returnReturn\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IReturnJsii976\\" + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"SomeTypeJsii976\\" + }, + \\"jsii-calc.StableClass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"stable\\" + }, + \\"fqn\\": \\"jsii-calc.StableClass\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"stable\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 59 + }, + \\"parameters\\": [ + { + \\"name\\": \\"readonlyString\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"name\\": \\"mutableNumber\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 53 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"stable\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 64 + }, + \\"name\\": \\"method\\" + } + ], + \\"name\\": \\"StableClass\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"stable\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 55 + }, + \\"name\\": \\"readonlyProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"stable\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 57 + }, + \\"name\\": \\"mutableProperty\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + }, + \\"jsii-calc.StableEnum\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"stable\\" + }, + \\"fqn\\": \\"jsii-calc.StableEnum\\", + \\"kind\\": \\"enum\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 69 + }, + \\"members\\": [ + { + \\"docs\\": { + \\"stability\\": \\"stable\\" + }, + \\"name\\": \\"OPTION_A\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"stable\\" + }, + \\"name\\": \\"OPTION_B\\" + } + ], + \\"name\\": \\"StableEnum\\" + }, + \\"jsii-calc.StableStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"stable\\" + }, + \\"fqn\\": \\"jsii-calc.StableStruct\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 41 + }, + \\"name\\": \\"StableStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"stable\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/stability.ts\\", + \\"line\\": 43 + }, + \\"name\\": \\"readonlyProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.StaticContext\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"remarks\\": \\"https://github.com/awslabs/aws-cdk/issues/2304\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"This is used to validate the ability to use \`this\` from within a static context.\\" + }, + \\"fqn\\": \\"jsii-calc.StaticContext\\", + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1892 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1895 + }, + \\"name\\": \\"canAccessStaticContext\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"StaticContext\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1903 + }, + \\"name\\": \\"staticVariable\\", + \\"static\\": true, + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"jsii-calc.Statics\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.Statics\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 690 + }, + \\"parameters\\": [ + { + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 689 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Jsdocs for static method.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 696 + }, + \\"name\\": \\"staticMethod\\", + \\"parameters\\": [ + { + \\"docs\\": { + \\"summary\\": \\"The name of the person to say hello to.\\" + }, + \\"name\\": \\"name\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 700 + }, + \\"name\\": \\"justMethod\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"Statics\\", + \\"properties\\": [ + { + \\"const\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Constants may also use all-caps.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 712 + }, + \\"name\\": \\"BAR\\", + \\"static\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"const\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 741 + }, + \\"name\\": \\"ConstObj\\", + \\"static\\": true, + \\"type\\": { + \\"fqn\\": \\"jsii-calc.DoubleTrouble\\" + } + }, + { + \\"const\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Jsdocs for static property.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 707 + }, + \\"name\\": \\"Foo\\", + \\"static\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"const\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Constants can also use camelCase.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 717 + }, + \\"name\\": \\"zooBar\\", + \\"static\\": true, + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"map\\" + } + } + }, + { + \\"docs\\": { + \\"remarks\\": \\"Jsdocs for static setter.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Jsdocs for static getter.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 726 + }, + \\"name\\": \\"instance\\", + \\"static\\": true, + \\"type\\": { + \\"fqn\\": \\"jsii-calc.Statics\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 740 + }, + \\"name\\": \\"nonConstStatic\\", + \\"static\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 690 + }, + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.StringEnum\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.StringEnum\\", + \\"kind\\": \\"enum\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 39 + }, + \\"members\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"name\\": \\"A\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"name\\": \\"B\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"name\\": \\"C\\" + } + ], + \\"name\\": \\"StringEnum\\" + }, + \\"jsii-calc.StripInternal\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.StripInternal\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1677 + }, + \\"name\\": \\"StripInternal\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1678 + }, + \\"name\\": \\"youSeeMe\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.StructA\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"We can serialize and deserialize structs without silently ignoring optional fields.\\" + }, + \\"fqn\\": \\"jsii-calc.StructA\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2240 + }, + \\"name\\": \\"StructA\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2241 + }, + \\"name\\": \\"requiredString\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2243 + }, + \\"name\\": \\"optionalNumber\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2242 + }, + \\"name\\": \\"optionalString\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.StructB\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"This intentionally overlaps with StructA (where only requiredString is provided) to test htat the kernel properly disambiguates those.\\" + }, + \\"fqn\\": \\"jsii-calc.StructB\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2249 + }, + \\"name\\": \\"StructB\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2250 + }, + \\"name\\": \\"requiredString\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2251 + }, + \\"name\\": \\"optionalBoolean\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2252 + }, + \\"name\\": \\"optionalStructA\\", + \\"optional\\": true, + \\"type\\": { + \\"fqn\\": \\"jsii-calc.StructA\\" + } + } + ] + }, + \\"jsii-calc.StructParameterType\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"remarks\\": \\"See: https://github.com/aws/aws-cdk/issues/4302\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Verifies that, in languages that do keyword lifting (e.g: Python), having a struct member with the same name as a positional parameter results in the correct code being emitted.\\" + }, + \\"fqn\\": \\"jsii-calc.StructParameterType\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2678 + }, + \\"name\\": \\"StructParameterType\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2679 + }, + \\"name\\": \\"scope\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2680 + }, + \\"name\\": \\"props\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"jsii-calc.StructPassing\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"external\\", + \\"summary\\": \\"Just because we can.\\" + }, + \\"fqn\\": \\"jsii-calc.StructPassing\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2072 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"external\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2084 + }, + \\"name\\": \\"howManyVarArgsDidIPass\\", + \\"parameters\\": [ + { + \\"name\\": \\"_positional\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"name\\": \\"inputs\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.TopLevelStruct\\" + }, + \\"variadic\\": true + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + \\"static\\": true, + \\"variadic\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"external\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2073 + }, + \\"name\\": \\"roundTrip\\", + \\"parameters\\": [ + { + \\"name\\": \\"_positional\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"name\\": \\"input\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.TopLevelStruct\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"jsii-calc.TopLevelStruct\\" + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"StructPassing\\" + }, + \\"jsii-calc.StructUnionConsumer\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.StructUnionConsumer\\", + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2254 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2255 + }, + \\"name\\": \\"isStructA\\", + \\"parameters\\": [ + { + \\"name\\": \\"struct\\", + \\"type\\": { + \\"union\\": { + \\"types\\": [ + { + \\"fqn\\": \\"jsii-calc.StructA\\" + }, + { + \\"fqn\\": \\"jsii-calc.StructB\\" + } + ] + } + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + \\"static\\": true + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2276 + }, + \\"name\\": \\"isStructB\\", + \\"parameters\\": [ + { + \\"name\\": \\"struct\\", + \\"type\\": { + \\"union\\": { + \\"types\\": [ + { + \\"fqn\\": \\"jsii-calc.StructA\\" + }, + { + \\"fqn\\": \\"jsii-calc.StructB\\" + } + ] + } + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"StructUnionConsumer\\" + }, + \\"jsii-calc.StructWithJavaReservedWords\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.StructWithJavaReservedWords\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2046 + }, + \\"name\\": \\"StructWithJavaReservedWords\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2047 + }, + \\"name\\": \\"default\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2048 + }, + \\"name\\": \\"assert\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2051 + }, + \\"name\\": \\"result\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2052 + }, + \\"name\\": \\"that\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.Sum\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"jsii-calc.composition.CompositeOperation\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"An operation that sums multiple values.\\" + }, + \\"fqn\\": \\"jsii-calc.Sum\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 205 + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 197 + }, + \\"name\\": \\"Sum\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"remarks\\": \\"Must be implemented by derived classes.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The expression that this operation consists of.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 209 + }, + \\"name\\": \\"expression\\", + \\"overrides\\": \\"jsii-calc.composition.CompositeOperation\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The parts to sum.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 201 + }, + \\"name\\": \\"parts\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + }, + \\"kind\\": \\"array\\" + } + } + } + ] + }, + \\"jsii-calc.SupportsNiceJavaBuilder\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"jsii-calc.SupportsNiceJavaBuilderWithRequiredProps\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.SupportsNiceJavaBuilder\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2181 + }, + \\"parameters\\": [ + { + \\"docs\\": { + \\"summary\\": \\"some identifier.\\" + }, + \\"name\\": \\"id\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"summary\\": \\"the default value of \`bar\`.\\" + }, + \\"name\\": \\"defaultBar\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"summary\\": \\"some props once can provide.\\" + }, + \\"name\\": \\"props\\", + \\"optional\\": true, + \\"type\\": { + \\"fqn\\": \\"jsii-calc.SupportsNiceJavaBuilderProps\\" + } + }, + { + \\"docs\\": { + \\"summary\\": \\"a variadic continuation.\\" + }, + \\"name\\": \\"rest\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + }, + \\"variadic\\": true + } + ], + \\"variadic\\": true + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2171 + }, + \\"name\\": \\"SupportsNiceJavaBuilder\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"some identifier.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2182 + }, + \\"name\\": \\"id\\", + \\"overrides\\": \\"jsii-calc.SupportsNiceJavaBuilderWithRequiredProps\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2172 + }, + \\"name\\": \\"rest\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"array\\" + } + } + } + ] + }, + \\"jsii-calc.SupportsNiceJavaBuilderProps\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.SupportsNiceJavaBuilderProps\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2191 + }, + \\"name\\": \\"SupportsNiceJavaBuilderProps\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Some number, like 42.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2201 + }, + \\"name\\": \\"bar\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"remarks\\": \\"But here we are, doing it like we didn't care.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"An \`id\` field here is terrible API design, because the constructor of \`SupportsNiceJavaBuilder\` already has a parameter named \`id\`.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2196 + }, + \\"name\\": \\"id\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.SupportsNiceJavaBuilderWithRequiredProps\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"We can generate fancy builders in Java for classes which take a mix of positional & struct parameters.\\" + }, + \\"fqn\\": \\"jsii-calc.SupportsNiceJavaBuilderWithRequiredProps\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2163 + }, + \\"parameters\\": [ + { + \\"docs\\": { + \\"summary\\": \\"some identifier of your choice.\\" + }, + \\"name\\": \\"id\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"summary\\": \\"some properties.\\" + }, + \\"name\\": \\"props\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.SupportsNiceJavaBuilderProps\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2155 + }, + \\"name\\": \\"SupportsNiceJavaBuilderWithRequiredProps\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2157 + }, + \\"name\\": \\"bar\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"some identifier of your choice.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2164 + }, + \\"name\\": \\"id\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2156 + }, + \\"name\\": \\"propId\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.SyncVirtualMethods\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.SyncVirtualMethods\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 376 + }, + \\"methods\\": [ + { + \\"async\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 389 + }, + \\"name\\": \\"callerIsAsync\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 377 + }, + \\"name\\": \\"callerIsMethod\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 429 + }, + \\"name\\": \\"modifyOtherProperty\\", + \\"parameters\\": [ + { + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 401 + }, + \\"name\\": \\"modifyValueOfTheProperty\\", + \\"parameters\\": [ + { + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 442 + }, + \\"name\\": \\"readA\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 433 + }, + \\"name\\": \\"retrieveOtherProperty\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 413 + }, + \\"name\\": \\"retrieveReadOnlyProperty\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 405 + }, + \\"name\\": \\"retrieveValueOfTheProperty\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 393 + }, + \\"name\\": \\"virtualMethod\\", + \\"parameters\\": [ + { + \\"name\\": \\"n\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 446 + }, + \\"name\\": \\"writeA\\", + \\"parameters\\": [ + { + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ] + } + ], + \\"name\\": \\"SyncVirtualMethods\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 411 + }, + \\"name\\": \\"readonlyProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 440 + }, + \\"name\\": \\"a\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 381 + }, + \\"name\\": \\"callerIsProperty\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 419 + }, + \\"name\\": \\"otherProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 399 + }, + \\"name\\": \\"theProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 427 + }, + \\"name\\": \\"valueOfOtherProperty\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.Thrower\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.Thrower\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 651 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 652 + }, + \\"name\\": \\"throwError\\" + } + ], + \\"name\\": \\"Thrower\\" + }, + \\"jsii-calc.TopLevelStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.TopLevelStruct\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1997 + }, + \\"name\\": \\"TopLevelStruct\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"This is a required field.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2001 + }, + \\"name\\": \\"required\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"A union to really stress test our serialization.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2011 + }, + \\"name\\": \\"secondLevel\\", + \\"type\\": { + \\"union\\": { + \\"types\\": [ + { + \\"primitive\\": \\"number\\" + }, + { + \\"fqn\\": \\"jsii-calc.SecondLevelStruct\\" + } + ] + } + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"You don't have to pass this.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2006 + }, + \\"name\\": \\"optional\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.UmaskCheck\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"see\\": \\"https://github.com/aws/jsii/issues/1765\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Checks the current file permissions are cool (no funky UMASK down-scoping happened).\\" + }, + \\"fqn\\": \\"jsii-calc.UmaskCheck\\", + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2752 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"This should return 0o644 (-rw-r--r--).\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 2756 + }, + \\"name\\": \\"mode\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"UmaskCheck\\" + }, + \\"jsii-calc.UnaryOperation\\": { + \\"abstract\\": true, + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"@scope/jsii-calc-lib.Operation\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"An operation on a single operand.\\" + }, + \\"fqn\\": \\"jsii-calc.UnaryOperation\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 101 + }, + \\"parameters\\": [ + { + \\"name\\": \\"operand\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 100 + }, + \\"name\\": \\"UnaryOperation\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 101 + }, + \\"name\\": \\"operand\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + } + ] + }, + \\"jsii-calc.UnionProperties\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.UnionProperties\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1112 + }, + \\"name\\": \\"UnionProperties\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1114 + }, + \\"name\\": \\"bar\\", + \\"type\\": { + \\"union\\": { + \\"types\\": [ + { + \\"primitive\\": \\"string\\" + }, + { + \\"primitive\\": \\"number\\" + }, + { + \\"fqn\\": \\"jsii-calc.AllTypes\\" + } + ] + } + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1113 + }, + \\"name\\": \\"foo\\", + \\"optional\\": true, + \\"type\\": { + \\"union\\": { + \\"types\\": [ + { + \\"primitive\\": \\"string\\" + }, + { + \\"primitive\\": \\"number\\" + } + ] + } + } + } + ] + }, + \\"jsii-calc.UpcasingReflectable\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Ensures submodule-imported types from dependencies can be used correctly.\\" + }, + \\"fqn\\": \\"jsii-calc.UpcasingReflectable\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodules.ts\\", + \\"line\\": 9 + }, + \\"parameters\\": [ + { + \\"name\\": \\"delegate\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"any\\" + }, + \\"kind\\": \\"map\\" + } + } + } + ] + }, + \\"interfaces\\": [ + \\"@scope/jsii-calc-lib.submodule.IReflectable\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodules.ts\\", + \\"line\\": 6 + }, + \\"name\\": \\"UpcasingReflectable\\", + \\"properties\\": [ + { + \\"const\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodules.ts\\", + \\"line\\": 7 + }, + \\"name\\": \\"reflector\\", + \\"static\\": true, + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.submodule.Reflector\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodules.ts\\", + \\"line\\": 11 + }, + \\"name\\": \\"entries\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.submodule.IReflectable\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.submodule.ReflectableEntry\\" + }, + \\"kind\\": \\"array\\" + } + } + } + ] + }, + \\"jsii-calc.UseBundledDependency\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.UseBundledDependency\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1117 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1118 + }, + \\"name\\": \\"value\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"any\\" + } + } + } + ], + \\"name\\": \\"UseBundledDependency\\" + }, + \\"jsii-calc.UseCalcBase\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Depend on a type from jsii-calc-base as a test for awslabs/jsii#128.\\" + }, + \\"fqn\\": \\"jsii-calc.UseCalcBase\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1168 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1169 + }, + \\"name\\": \\"hello\\", + \\"returns\\": { + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-base.Base\\" + } + } + } + ], + \\"name\\": \\"UseCalcBase\\" + }, + \\"jsii-calc.UsesInterfaceWithProperties\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.UsesInterfaceWithProperties\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 597 + }, + \\"parameters\\": [ + { + \\"name\\": \\"obj\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IInterfaceWithProperties\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 596 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 599 + }, + \\"name\\": \\"justRead\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 608 + }, + \\"name\\": \\"readStringAndNumber\\", + \\"parameters\\": [ + { + \\"name\\": \\"ext\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IInterfaceWithPropertiesExtension\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 603 + }, + \\"name\\": \\"writeAndRead\\", + \\"parameters\\": [ + { + \\"name\\": \\"value\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"UsesInterfaceWithProperties\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 597 + }, + \\"name\\": \\"obj\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.IInterfaceWithProperties\\" + } + } + ] + }, + \\"jsii-calc.VariadicInvoker\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.VariadicInvoker\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 681 + }, + \\"parameters\\": [ + { + \\"name\\": \\"method\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.VariadicMethod\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 680 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 683 + }, + \\"name\\": \\"asArray\\", + \\"parameters\\": [ + { + \\"name\\": \\"values\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + }, + \\"variadic\\": true + } + ], + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"number\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + \\"variadic\\": true + } + ], + \\"name\\": \\"VariadicInvoker\\" + }, + \\"jsii-calc.VariadicMethod\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.VariadicMethod\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 667 + }, + \\"parameters\\": [ + { + \\"docs\\": { + \\"summary\\": \\"a prefix that will be use for all values returned by \`#asArray\`.\\" + }, + \\"name\\": \\"prefix\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + }, + \\"variadic\\": true + } + ], + \\"variadic\\": true + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 661 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 675 + }, + \\"name\\": \\"asArray\\", + \\"parameters\\": [ + { + \\"docs\\": { + \\"summary\\": \\"the first element of the array to be returned (after the \`prefix\` provided at construction time).\\" + }, + \\"name\\": \\"first\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"summary\\": \\"other elements to be included in the array.\\" + }, + \\"name\\": \\"others\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + }, + \\"variadic\\": true + } + ], + \\"returns\\": { + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"number\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + \\"variadic\\": true + } + ], + \\"name\\": \\"VariadicMethod\\" + }, + \\"jsii-calc.VirtualMethodPlayground\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.VirtualMethodPlayground\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 451 + }, + \\"methods\\": [ + { + \\"async\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 476 + }, + \\"name\\": \\"overrideMeAsync\\", + \\"parameters\\": [ + { + \\"name\\": \\"index\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 480 + }, + \\"name\\": \\"overrideMeSync\\", + \\"parameters\\": [ + { + \\"name\\": \\"index\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"async\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 458 + }, + \\"name\\": \\"parallelSumAsync\\", + \\"parameters\\": [ + { + \\"name\\": \\"count\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"async\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 452 + }, + \\"name\\": \\"serialSumAsync\\", + \\"parameters\\": [ + { + \\"name\\": \\"count\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 468 + }, + \\"name\\": \\"sumSync\\", + \\"parameters\\": [ + { + \\"name\\": \\"count\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"number\\" + } + } + } + ], + \\"name\\": \\"VirtualMethodPlayground\\" + }, + \\"jsii-calc.VoidCallback\\": { + \\"abstract\\": true, + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"remarks\\": \\"- Implement \`overrideMe\` (method does not have to do anything).\\\\n- Invoke \`callMe\`\\\\n- Verify that \`methodWasCalled\` is \`true\`.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"This test is used to validate the runtimes can return correctly from a void callback.\\" + }, + \\"fqn\\": \\"jsii-calc.VoidCallback\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1921 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1926 + }, + \\"name\\": \\"callMe\\" + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1930 + }, + \\"name\\": \\"overrideMe\\", + \\"protected\\": true + } + ], + \\"name\\": \\"VoidCallback\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1923 + }, + \\"name\\": \\"methodWasCalled\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"jsii-calc.WithPrivatePropertyInConstructor\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Verifies that private property declarations in constructor arguments are hidden.\\" + }, + \\"fqn\\": \\"jsii-calc.WithPrivatePropertyInConstructor\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1937 + }, + \\"parameters\\": [ + { + \\"name\\": \\"privateField\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1936 + }, + \\"name\\": \\"WithPrivatePropertyInConstructor\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/compliance.ts\\", + \\"line\\": 1939 + }, + \\"name\\": \\"success\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"jsii-calc.composition.CompositeOperation\\": { + \\"abstract\\": true, + \\"assembly\\": \\"jsii-calc\\", + \\"base\\": \\"@scope/jsii-calc-lib.Operation\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Abstract operation composed from an expression of other operations.\\" + }, + \\"fqn\\": \\"jsii-calc.composition.CompositeOperation\\", + \\"initializer\\": {}, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 138 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"String representation of the value.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 164 + }, + \\"name\\": \\"toString\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.Operation\\", + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + } + ], + \\"name\\": \\"CompositeOperation\\", + \\"namespace\\": \\"composition\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"remarks\\": \\"Must be implemented by derived classes.\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The expression that this operation consists of.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 162 + }, + \\"name\\": \\"expression\\", + \\"type\\": { + \\"fqn\\": \\"@scope/jsii-calc-lib.Value\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The value.\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 154 + }, + \\"name\\": \\"value\\", + \\"overrides\\": \\"@scope/jsii-calc-lib.Value\\", + \\"type\\": { + \\"primitive\\": \\"number\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"A set of postfixes to include in a decorated .toString().\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 152 + }, + \\"name\\": \\"decorationPostfixes\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"A set of prefixes to include in a decorated .toString().\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 147 + }, + \\"name\\": \\"decorationPrefixes\\", + \\"type\\": { + \\"collection\\": { + \\"elementtype\\": { + \\"primitive\\": \\"string\\" + }, + \\"kind\\": \\"array\\" + } + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"The .toString() style.\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 142 + }, + \\"name\\": \\"stringStyle\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.composition.CompositeOperation.CompositionStringStyle\\" + } + } + ] + }, + \\"jsii-calc.composition.CompositeOperation.CompositionStringStyle\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Style of .toString() output for CompositeOperation.\\" + }, + \\"fqn\\": \\"jsii-calc.composition.CompositeOperation.CompositionStringStyle\\", + \\"kind\\": \\"enum\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/calculator.ts\\", + \\"line\\": 184 + }, + \\"members\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Normal string expression.\\" + }, + \\"name\\": \\"NORMAL\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Decorated string expression.\\" + }, + \\"name\\": \\"DECORATED\\" + } + ], + \\"name\\": \\"CompositionStringStyle\\", + \\"namespace\\": \\"composition.CompositeOperation\\" + }, + \\"jsii-calc.submodule.MyClass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.submodule.MyClass\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/my-class.ts\\", + \\"line\\": 11 + }, + \\"parameters\\": [ + { + \\"name\\": \\"props\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.submodule.child.SomeStruct\\" + } + } + ] + }, + \\"interfaces\\": [ + \\"jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/my-class.ts\\", + \\"line\\": 5 + }, + \\"name\\": \\"MyClass\\", + \\"namespace\\": \\"submodule\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/my-class.ts\\", + \\"line\\": 8 + }, + \\"name\\": \\"awesomeness\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.submodule.child.Awesomeness\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/my-class.ts\\", + \\"line\\": 6 + }, + \\"name\\": \\"definedAt\\", + \\"overrides\\": \\"jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/my-class.ts\\", + \\"line\\": 7 + }, + \\"name\\": \\"goodness\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.submodule.child.Goodness\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/my-class.ts\\", + \\"line\\": 11 + }, + \\"name\\": \\"props\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.submodule.child.SomeStruct\\" + } + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/my-class.ts\\", + \\"line\\": 9 + }, + \\"name\\": \\"allTypes\\", + \\"optional\\": true, + \\"type\\": { + \\"fqn\\": \\"jsii-calc.AllTypes\\" + } + } + ] + }, + \\"jsii-calc.submodule.back_references.MyClassReference\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.submodule.back_references.MyClassReference\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/refers-to-parent/index.ts\\", + \\"line\\": 3 + }, + \\"name\\": \\"MyClassReference\\", + \\"namespace\\": \\"submodule.back_references\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/refers-to-parent/index.ts\\", + \\"line\\": 4 + }, + \\"name\\": \\"reference\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.submodule.MyClass\\" + } + } + ] + }, + \\"jsii-calc.submodule.child.Awesomeness\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.submodule.child.Awesomeness\\", + \\"kind\\": \\"enum\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/child/index.ts\\", + \\"line\\": 15 + }, + \\"members\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"It was awesome!\\" + }, + \\"name\\": \\"AWESOME\\" + } + ], + \\"name\\": \\"Awesomeness\\", + \\"namespace\\": \\"submodule.child\\" + }, + \\"jsii-calc.submodule.child.Goodness\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.submodule.child.Goodness\\", + \\"kind\\": \\"enum\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/child/index.ts\\", + \\"line\\": 5 + }, + \\"members\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"It's pretty good.\\" + }, + \\"name\\": \\"PRETTY_GOOD\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"It's really good.\\" + }, + \\"name\\": \\"REALLY_GOOD\\" + }, + { + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"It's amazingly good.\\" + }, + \\"name\\": \\"AMAZINGLY_GOOD\\" + } + ], + \\"name\\": \\"Goodness\\", + \\"namespace\\": \\"submodule.child\\" + }, + \\"jsii-calc.submodule.child.InnerClass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.submodule.child.InnerClass\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/child/index.ts\\", + \\"line\\": 37 + }, + \\"name\\": \\"InnerClass\\", + \\"namespace\\": \\"submodule.child\\", + \\"properties\\": [ + { + \\"const\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/child/index.ts\\", + \\"line\\": 38 + }, + \\"name\\": \\"staticProp\\", + \\"static\\": true, + \\"type\\": { + \\"fqn\\": \\"jsii-calc.submodule.child.SomeStruct\\" + } + } + ] + }, + \\"jsii-calc.submodule.child.KwargsProps\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.submodule.child.KwargsProps\\", + \\"interfaces\\": [ + \\"jsii-calc.submodule.child.SomeStruct\\" + ], + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/child/index.ts\\", + \\"line\\": 41 + }, + \\"name\\": \\"KwargsProps\\", + \\"namespace\\": \\"submodule.child\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/child/index.ts\\", + \\"line\\": 42 + }, + \\"name\\": \\"extra\\", + \\"optional\\": true, + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + }, + \\"jsii-calc.submodule.child.OuterClass\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"see\\": \\": https://github.com/aws/jsii/pull/1706\\", + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Checks that classes can self-reference during initialization.\\" + }, + \\"fqn\\": \\"jsii-calc.submodule.child.OuterClass\\", + \\"initializer\\": { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/child/index.ts\\", + \\"line\\": 27 + } + }, + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/child/index.ts\\", + \\"line\\": 24 + }, + \\"name\\": \\"OuterClass\\", + \\"namespace\\": \\"submodule.child\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/child/index.ts\\", + \\"line\\": 25 + }, + \\"name\\": \\"innerClass\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.submodule.child.InnerClass\\" + } + } + ] + }, + \\"jsii-calc.submodule.child.SomeEnum\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.submodule.child.SomeEnum\\", + \\"kind\\": \\"enum\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/child/index.ts\\", + \\"line\\": 31 + }, + \\"members\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"name\\": \\"SOME\\" + } + ], + \\"name\\": \\"SomeEnum\\", + \\"namespace\\": \\"submodule.child\\" + }, + \\"jsii-calc.submodule.child.SomeStruct\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.submodule.child.SomeStruct\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/child/index.ts\\", + \\"line\\": 34 + }, + \\"name\\": \\"SomeStruct\\", + \\"namespace\\": \\"submodule.child\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/child/index.ts\\", + \\"line\\": 35 + }, + \\"name\\": \\"prop\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.submodule.child.SomeEnum\\" + } + } + ] + }, + \\"jsii-calc.submodule.child.Structure\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"datatype\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.submodule.child.Structure\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/child/index.ts\\", + \\"line\\": 1 + }, + \\"name\\": \\"Structure\\", + \\"namespace\\": \\"submodule.child\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/child/index.ts\\", + \\"line\\": 2 + }, + \\"name\\": \\"bool\\", + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + } + ] + }, + \\"jsii-calc.submodule.isolated.Kwargs\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\", + \\"summary\\": \\"Ensures imports are correctly registered for kwargs lifted properties from super-structs.\\" + }, + \\"fqn\\": \\"jsii-calc.submodule.isolated.Kwargs\\", + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/isolated.ts\\", + \\"line\\": 7 + }, + \\"methods\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/isolated.ts\\", + \\"line\\": 8 + }, + \\"name\\": \\"method\\", + \\"parameters\\": [ + { + \\"name\\": \\"props\\", + \\"optional\\": true, + \\"type\\": { + \\"fqn\\": \\"jsii-calc.submodule.child.KwargsProps\\" + } + } + ], + \\"returns\\": { + \\"type\\": { + \\"primitive\\": \\"boolean\\" + } + }, + \\"static\\": true + } + ], + \\"name\\": \\"Kwargs\\", + \\"namespace\\": \\"submodule.isolated\\" + }, + \\"jsii-calc.submodule.nested_submodule.Namespaced\\": { + \\"abstract\\": true, + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.submodule.nested_submodule.Namespaced\\", + \\"interfaces\\": [ + \\"jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced\\" + ], + \\"kind\\": \\"class\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/nested_submodule.ts\\", + \\"line\\": 12 + }, + \\"name\\": \\"Namespaced\\", + \\"namespace\\": \\"submodule.nested_submodule\\", + \\"properties\\": [ + { + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/nested_submodule.ts\\", + \\"line\\": 13 + }, + \\"name\\": \\"definedAt\\", + \\"overrides\\": \\"jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + }, + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/nested_submodule.ts\\", + \\"line\\": 14 + }, + \\"name\\": \\"goodness\\", + \\"type\\": { + \\"fqn\\": \\"jsii-calc.submodule.child.Goodness\\" + } + } + ] + }, + \\"jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced\\": { + \\"assembly\\": \\"jsii-calc\\", + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"fqn\\": \\"jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced\\", + \\"kind\\": \\"interface\\", + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/nested_submodule.ts\\", + \\"line\\": 7 + }, + \\"name\\": \\"INamespaced\\", + \\"namespace\\": \\"submodule.nested_submodule.deeplyNested\\", + \\"properties\\": [ + { + \\"abstract\\": true, + \\"docs\\": { + \\"stability\\": \\"experimental\\" + }, + \\"immutable\\": true, + \\"locationInModule\\": { + \\"filename\\": \\"lib/submodule/nested_submodule.ts\\", + \\"line\\": 8 + }, + \\"name\\": \\"definedAt\\", + \\"type\\": { + \\"primitive\\": \\"string\\" + } + } + ] + } + }, + \\"version\\": \\"0.0.0\\", + \\"fingerprint\\": \\"AksOoFurRMyuF7gSjHXHbIRIIjq0e0R0CvpHycvyI3U=\\" +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon.JSII.Tests.CalculatorPackageId.csproj 1`] = ` +Object { + Symbol(file): " + + + A simple calcuator built on JSII. (Stability: Experimental) + https://sdk-for-net.amazonwebservices.com/images/AWSLogo128x128.png + Amazon.JSII.Tests.CalculatorPackageId + Apache-2.0 + 0.0.0 + + Amazon Web Services + Amazon Web Services + aws;jsii;test + en-US + https://github.com/aws/jsii + https://github.com/aws/jsii.git + git + + true + true + true + true + enable + snupkg + netcoreapp3.1 + + + + + + + + + + + + 0612,0618 + + + +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AbstractClass), fullyQualifiedName: \\"jsii-calc.AbstractClass\\")] + public abstract class AbstractClass : Amazon.JSII.Tests.CalculatorNamespace.AbstractClassBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceImplementedByAbstractClass + { + /// + /// Stability: Experimental + /// + protected AbstractClass(): base(new DeputyProps(new object[]{})) + { + } + + ///

Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AbstractClass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AbstractClass(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"abstractMethod\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"name\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public abstract string AbstractMethod(string name); + + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"nonAbstractMethod\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\")] + public virtual double NonAbstractMethod() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"propFromInterface\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string PropFromInterface + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassBase.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AbstractClassBase), fullyQualifiedName: \\"jsii-calc.AbstractClassBase\\")] + public abstract class AbstractClassBase : DeputyBase + { + /// + /// Stability: Experimental + /// + protected AbstractClassBase(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AbstractClassBase(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AbstractClassBase(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"abstractProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public abstract string AbstractProperty + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassBaseProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AbstractClassBase), fullyQualifiedName: \\"jsii-calc.AbstractClassBase\\")] + internal sealed class AbstractClassBaseProxy : Amazon.JSII.Tests.CalculatorNamespace.AbstractClassBase + { + private AbstractClassBaseProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"abstractProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public override string AbstractProperty + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AbstractClass), fullyQualifiedName: \\"jsii-calc.AbstractClass\\")] + internal sealed class AbstractClassProxy : Amazon.JSII.Tests.CalculatorNamespace.AbstractClass + { + private AbstractClassProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"abstractProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public override string AbstractProperty + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"abstractMethod\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"name\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public override string AbstractMethod(string name) + { + return InvokeInstanceMethod(new System.Type[]{typeof(string)}, new object[]{name}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassReturner.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AbstractClassReturner), fullyQualifiedName: \\"jsii-calc.AbstractClassReturner\\")] + public class AbstractClassReturner : DeputyBase + { + /// + /// Stability: Experimental + /// + public AbstractClassReturner(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AbstractClassReturner(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AbstractClassReturner(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"giveMeAbstract\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.AbstractClass\\\\\\"}}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.AbstractClass GiveMeAbstract() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"giveMeInterface\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IInterfaceImplementedByAbstractClass\\\\\\"}}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.IInterfaceImplementedByAbstractClass GiveMeInterface() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"returnAbstractFromProperty\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.AbstractClassBase\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.AbstractClassBase ReturnAbstractFromProperty + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractSuite.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Ensures abstract members implementations correctly register overrides in various languages. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AbstractSuite), fullyQualifiedName: \\"jsii-calc.AbstractSuite\\")] + public abstract class AbstractSuite : DeputyBase + { + /// + /// Stability: Experimental + /// + protected AbstractSuite(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AbstractSuite(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AbstractSuite(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"someMethod\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"str\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + protected abstract string SomeMethod(string str); + + + /// Sets \`seed\` to \`this.property\`, then calls \`someMethod\` with \`this.property\` and returns the result. + /// a \`string\`. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"workItAll\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"a \`string\`.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"seed\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public virtual string WorkItAll(string seed) + { + return InvokeInstanceMethod(new System.Type[]{typeof(string)}, new object[]{seed}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"property\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + protected abstract string Property + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractSuiteProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Ensures abstract members implementations correctly register overrides in various languages. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AbstractSuite), fullyQualifiedName: \\"jsii-calc.AbstractSuite\\")] + internal sealed class AbstractSuiteProxy : Amazon.JSII.Tests.CalculatorNamespace.AbstractSuite + { + private AbstractSuiteProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"property\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + protected override string Property + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"someMethod\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"str\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + protected override string SomeMethod(string str) + { + return InvokeInstanceMethod(new System.Type[]{typeof(string)}, new object[]{str}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Add.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// The \\"+\\" binary operation. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Add), fullyQualifiedName: \\"jsii-calc.Add\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"Left-hand side operand.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"lhs\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}},{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"Right-hand side operand.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"rhs\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}}]\\")] + public class Add : Amazon.JSII.Tests.CalculatorNamespace.BinaryOperation + { + /// Creates a BinaryOperation. + /// Left-hand side operand. + /// Right-hand side operand. + /// + /// Stability: Experimental + /// + public Add(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ lhs, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ rhs): base(new DeputyProps(new object[]{lhs, rhs})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Add(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Add(DeputyProps props): base(props) + { + } + + /// String representation of the value. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"toString\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + public override string ToString() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// The value. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public override double Value + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AllTypes.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// This class includes property for all types supported by jsii. + /// + /// The setters will validate + /// that the value set is of the expected type and throw otherwise. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AllTypes), fullyQualifiedName: \\"jsii-calc.AllTypes\\")] + public class AllTypes : DeputyBase + { + /// + /// Stability: Experimental + /// + public AllTypes(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AllTypes(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AllTypes(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyIn\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"inp\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}]\\")] + public virtual void AnyIn(object inp) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(object)}, new object[]{inp}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyOut\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public virtual object AnyOut() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"enumMethod\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StringEnum\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StringEnum\\\\\\"}}]\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.StringEnum EnumMethod(Amazon.JSII.Tests.CalculatorNamespace.StringEnum @value) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.StringEnum)}, new object[]{@value}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"enumPropertyValue\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public virtual double EnumPropertyValue + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"anyArrayProperty\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + public virtual object[] AnyArrayProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"anyMapProperty\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}\\")] + public virtual System.Collections.Generic.IDictionary AnyMapProperty + { + get => GetInstanceProperty>(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"anyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}\\")] + public virtual object AnyProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"arrayProperty\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + public virtual string[] ArrayProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"booleanProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public virtual bool BooleanProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"dateProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}\\")] + public virtual System.DateTime DateProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"enumProperty\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.AllTypesEnum\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.AllTypesEnum EnumProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"jsonProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"json\\\\\\"}\\")] + public virtual Newtonsoft.Json.Linq.JObject JsonProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"mapProperty\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Number\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}\\")] + public virtual System.Collections.Generic.IDictionary MapProperty + { + get => GetInstanceProperty>(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"numberProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public virtual double NumberProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"stringProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string StringProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"unionArrayProperty\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}]}},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + public virtual object[] UnionArrayProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"unionMapProperty\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Number\\\\\\"}]}},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}\\")] + public virtual System.Collections.Generic.IDictionary UnionMapProperty + { + get => GetInstanceProperty>(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"unionProperty\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.Multiply\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Number\\\\\\"}]}}\\")] + public virtual object UnionProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"unknownArrayProperty\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + public virtual object[] UnknownArrayProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"unknownMapProperty\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}\\")] + public virtual System.Collections.Generic.IDictionary UnknownMapProperty + { + get => GetInstanceProperty>(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"unknownProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}\\")] + public virtual object UnknownProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optionalEnumValue\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StringEnum\\\\\\"}\\", isOptional: true)] + public virtual Amazon.JSII.Tests.CalculatorNamespace.StringEnum? OptionalEnumValue + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AllTypesEnum.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + + /// + /// Stability: Experimental + /// + [JsiiEnum(nativeType: typeof(AllTypesEnum), fullyQualifiedName: \\"jsii-calc.AllTypesEnum\\")] + public enum AllTypesEnum + { + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"MY_ENUM_VALUE\\")] + MY_ENUM_VALUE, + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"YOUR_ENUM_VALUE\\")] + YOUR_ENUM_VALUE, + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"THIS_IS_GREAT\\")] + THIS_IS_GREAT + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AllowedMethodNames.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AllowedMethodNames), fullyQualifiedName: \\"jsii-calc.AllowedMethodNames\\")] + public class AllowedMethodNames : DeputyBase + { + /// + /// Stability: Experimental + /// + public AllowedMethodNames(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AllowedMethodNames(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AllowedMethodNames(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"getBar\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"_p1\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"_p2\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public virtual void GetBar(string p1, double p2) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(string), typeof(double)}, new object[]{p1, p2}); + } + + /// getXxx() is not allowed (see negatives), but getXxx(a, ...) is okay. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"getFoo\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"withParam\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public virtual string GetFoo(string withParam) + { + return InvokeInstanceMethod(new System.Type[]{typeof(string)}, new object[]{withParam}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"setBar\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"_x\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"_y\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"_z\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}]\\")] + public virtual void SetBar(string x, double y, bool z) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(string), typeof(double), typeof(bool)}, new object[]{x, y, z}); + } + + /// setFoo(x) is not allowed (see negatives), but setXxx(a, b, ...) is okay. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"setFoo\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"_x\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"_y\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public virtual void SetFoo(string x, double y) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(string), typeof(double)}, new object[]{x, y}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AmbiguousParameters.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AmbiguousParameters), fullyQualifiedName: \\"jsii-calc.AmbiguousParameters\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"scope\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.Bell\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"props\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StructParameterType\\\\\\"}}]\\")] + public class AmbiguousParameters : DeputyBase + { + /// + /// Stability: Experimental + /// + public AmbiguousParameters(Amazon.JSII.Tests.CalculatorNamespace.Bell scope, Amazon.JSII.Tests.CalculatorNamespace.IStructParameterType props): base(new DeputyProps(new object[]{scope, props})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AmbiguousParameters(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AmbiguousParameters(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"props\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StructParameterType\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.IStructParameterType Props + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"scope\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.Bell\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.Bell Scope + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AnonymousImplementationProvider.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AnonymousImplementationProvider), fullyQualifiedName: \\"jsii-calc.AnonymousImplementationProvider\\")] + public class AnonymousImplementationProvider : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IAnonymousImplementationProvider + { + /// + /// Stability: Experimental + /// + public AnonymousImplementationProvider(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AnonymousImplementationProvider(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AnonymousImplementationProvider(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"provideAsClass\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.Implementation\\\\\\"}}\\", isOverride: true)] + public virtual Amazon.JSII.Tests.CalculatorNamespace.Implementation ProvideAsClass() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"provideAsInterface\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IAnonymouslyImplementMe\\\\\\"}}\\", isOverride: true)] + public virtual Amazon.JSII.Tests.CalculatorNamespace.IAnonymouslyImplementMe ProvideAsInterface() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AsyncVirtualMethods.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AsyncVirtualMethods), fullyQualifiedName: \\"jsii-calc.AsyncVirtualMethods\\")] + public class AsyncVirtualMethods : DeputyBase + { + /// + /// Stability: Experimental + /// + public AsyncVirtualMethods(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AsyncVirtualMethods(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AsyncVirtualMethods(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"callMe\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", isAsync: true)] + public virtual double CallMe() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Just calls \\"overrideMeToo\\". + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"callMe2\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", isAsync: true)] + public virtual double CallMe2() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// This method calls the \\"callMe\\" async method indirectly, which will then invoke a virtual method. + /// + /// This is a \\"double promise\\" situation, which + /// means that callbacks are not going to be available immediate, but only + /// after an \\"immediates\\" cycle. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"callMeDoublePromise\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", isAsync: true)] + public virtual double CallMeDoublePromise() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"dontOverrideMe\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\")] + public virtual double DontOverrideMe() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"overrideMe\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"mult\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\", isAsync: true)] + public virtual double OverrideMe(double mult) + { + return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{mult}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"overrideMeToo\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", isAsync: true)] + public virtual double OverrideMeToo() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AugmentableClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AugmentableClass), fullyQualifiedName: \\"jsii-calc.AugmentableClass\\")] + public class AugmentableClass : DeputyBase + { + /// + /// Stability: Experimental + /// + public AugmentableClass(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AugmentableClass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected AugmentableClass(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"methodOne\\")] + public virtual void MethodOne() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"methodTwo\\")] + public virtual void MethodTwo() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseJsii976.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.BaseJsii976), fullyQualifiedName: \\"jsii-calc.BaseJsii976\\")] + public class BaseJsii976 : DeputyBase + { + /// + /// Stability: Experimental + /// + public BaseJsii976(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected BaseJsii976(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected BaseJsii976(DeputyProps props): base(props) + { + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Bell.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Bell), fullyQualifiedName: \\"jsii-calc.Bell\\")] + public class Bell : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IBell + { + /// + /// Stability: Experimental + /// + public Bell(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Bell(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Bell(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"ring\\", isOverride: true)] + public virtual void Ring() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"rung\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public virtual bool Rung + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/BinaryOperation.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Represents an operation with two operands. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.BinaryOperation), fullyQualifiedName: \\"jsii-calc.BinaryOperation\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"Left-hand side operand.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"lhs\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}},{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"Right-hand side operand.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"rhs\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}}]\\")] + public abstract class BinaryOperation : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Operation, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly + { + /// Creates a BinaryOperation. + /// Left-hand side operand. + /// Right-hand side operand. + /// + /// Stability: Experimental + /// + protected BinaryOperation(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ lhs, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ rhs): base(new DeputyProps(new object[]{lhs, rhs})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected BinaryOperation(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected BinaryOperation(DeputyProps props): base(props) + { + } + + /// Say hello! + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"hello\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + public virtual string Hello() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Left-hand side operand. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"lhs\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Lhs + { + get => GetInstanceProperty(); + } + + /// Right-hand side operand. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"rhs\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Rhs + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/BinaryOperationProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Represents an operation with two operands. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.BinaryOperation), fullyQualifiedName: \\"jsii-calc.BinaryOperation\\")] + internal sealed class BinaryOperationProxy : Amazon.JSII.Tests.CalculatorNamespace.BinaryOperation + { + private BinaryOperationProxy(ByRefValue reference): base(reference) + { + } + + /// The value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + [System.Obsolete()] + public override double Value + { + get => GetInstanceProperty(); + } + + /// String representation of the value. + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"toString\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + [System.Obsolete()] + public override string ToString() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Calculator.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// A calculator which maintains a current value and allows adding operations. + /// + /// Here's how you use it: + /// + /// + /// + /// I will repeat this example again, but in an @example tag. + /// + /// Stability: Experimental + /// + /// + /// // Example automatically generated. See https://github.com/aws/jsii/issues/826 + /// Calculator calculator = new Calculator(); + /// calculator.Add(5); + /// calculator.Mul(3); + /// Console.WriteLine(calculator.Expression.Value); + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Calculator), fullyQualifiedName: \\"jsii-calc.Calculator\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"Initialization properties.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"props\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.CalculatorProps\\\\\\"}}]\\")] + public class Calculator : Amazon.JSII.Tests.CalculatorNamespace.Composition.CompositeOperation + { + /// Creates a Calculator object. + /// Initialization properties. + /// + /// Stability: Experimental + /// + public Calculator(Amazon.JSII.Tests.CalculatorNamespace.ICalculatorProps? props = null): base(new DeputyProps(new object?[]{props})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Calculator(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Calculator(DeputyProps props): base(props) + { + } + + /// Adds a number to the current value. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"add\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public virtual void Add(double @value) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(double)}, new object[]{@value}); + } + + /// Multiplies the current value by a number. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"mul\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public virtual void Mul(double @value) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(double)}, new object[]{@value}); + } + + /// Negates the current value. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"neg\\")] + public virtual void Neg() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// Raises the current value by a power. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"pow\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public virtual void Pow(double @value) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(double)}, new object[]{@value}); + } + + /// Returns teh value of the union property (if defined). + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"readUnionValue\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\")] + public virtual double ReadUnionValue() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Returns the expression. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"expression\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}\\")] + public override Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Expression + { + get => GetInstanceProperty(); + } + + /// A log of all operations. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"operationsLog\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_[] OperationsLog + { + get => GetInstanceProperty(); + } + + /// A map of per operation name of all operations performed. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"operationsMap\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}\\")] + public virtual System.Collections.Generic.IDictionary OperationsMap + { + get => GetInstanceProperty>(); + } + + /// The current value. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"curr\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Curr + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// The maximum value allows in this calculator. + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"maxValue\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + public virtual double? MaxValue + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// Example of a property that accepts a union of types. + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"unionProperty\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.Add\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.Multiply\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.Power\\\\\\"}]}}\\", isOptional: true)] + public virtual object? UnionProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/CalculatorProps.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Properties for Calculator. + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.CalculatorProps\\")] + public class CalculatorProps : Amazon.JSII.Tests.CalculatorNamespace.ICalculatorProps + { + /// The initial value of the calculator. + /// + /// NOTE: Any number works here, it's fine. + /// + /// Default: 0 + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"initialValue\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true, isOverride: true)] + public double? InitialValue + { + get; + set; + } + + /// The maximum value the calculator can store. + /// + /// Default: none + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"maximumValue\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true, isOverride: true)] + public double? MaximumValue + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/CalculatorPropsProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Properties for Calculator. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(ICalculatorProps), fullyQualifiedName: \\"jsii-calc.CalculatorProps\\")] + internal sealed class CalculatorPropsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.ICalculatorProps + { + private CalculatorPropsProxy(ByRefValue reference): base(reference) + { + } + + /// The initial value of the calculator. + /// + /// NOTE: Any number works here, it's fine. + /// + /// Default: 0 + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"initialValue\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + public double? InitialValue + { + get => GetInstanceProperty(); + } + + /// The maximum value the calculator can store. + /// + /// Default: none + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"maximumValue\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + public double? MaximumValue + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ChildStruct982.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.ChildStruct982\\")] + public class ChildStruct982 : Amazon.JSII.Tests.CalculatorNamespace.IChildStruct982 + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOverride: true)] + public double Bar + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string Foo + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ChildStruct982Proxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IChildStruct982), fullyQualifiedName: \\"jsii-calc.ChildStruct982\\")] + internal sealed class ChildStruct982Proxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IChildStruct982 + { + private ChildStruct982Proxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public double Bar + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Foo + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassThatImplementsTheInternalInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassThatImplementsTheInternalInterface), fullyQualifiedName: \\"jsii-calc.ClassThatImplementsTheInternalInterface\\")] + public class ClassThatImplementsTheInternalInterface : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.INonInternalInterface + { + /// + /// Stability: Experimental + /// + public ClassThatImplementsTheInternalInterface(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassThatImplementsTheInternalInterface(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassThatImplementsTheInternalInterface(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"a\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string A + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"b\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string B + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"c\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string C + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"d\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string D + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassThatImplementsThePrivateInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassThatImplementsThePrivateInterface), fullyQualifiedName: \\"jsii-calc.ClassThatImplementsThePrivateInterface\\")] + public class ClassThatImplementsThePrivateInterface : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.INonInternalInterface + { + /// + /// Stability: Experimental + /// + public ClassThatImplementsThePrivateInterface(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassThatImplementsThePrivateInterface(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassThatImplementsThePrivateInterface(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"a\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string A + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"b\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string B + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"c\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string C + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"e\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string E + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithCollections.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithCollections), fullyQualifiedName: \\"jsii-calc.ClassWithCollections\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"map\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}},{\\\\\\"name\\\\\\":\\\\\\"array\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}}]\\")] + public class ClassWithCollections : DeputyBase + { + /// + /// Stability: Experimental + /// + public ClassWithCollections(System.Collections.Generic.IDictionary map, string[] array): base(new DeputyProps(new object[]{map, array})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassWithCollections(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassWithCollections(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"createAList\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}}\\")] + public static string[] CreateAList() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithCollections), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"createAMap\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}}\\")] + public static System.Collections.Generic.IDictionary CreateAMap() + { + return InvokeStaticMethod>(typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithCollections), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"staticArray\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + public static string[] StaticArray + { + get => GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithCollections)); + set => SetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithCollections), value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"staticMap\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}\\")] + public static System.Collections.Generic.IDictionary StaticMap + { + get => GetStaticProperty>(typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithCollections)); + set => SetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithCollections), value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"array\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + public virtual string[] Array + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"map\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}\\")] + public virtual System.Collections.Generic.IDictionary Map + { + get => GetInstanceProperty>(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithDocs.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// This class has docs. + /// + /// The docs are great. They're a bunch of tags. + /// + /// See: https://aws.amazon.com/ + /// + /// CustomAttribute: hasAValue + /// + /// + /// // Example automatically generated. See https://github.com/aws/jsii/issues/826 + /// public void AnExample() + /// { + /// } + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithDocs), fullyQualifiedName: \\"jsii-calc.ClassWithDocs\\")] + public class ClassWithDocs : DeputyBase + { + /// + /// Stability: Experimental + /// + public ClassWithDocs(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassWithDocs(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassWithDocs(DeputyProps props): base(props) + { + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithJavaReservedWords.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithJavaReservedWords), fullyQualifiedName: \\"jsii-calc.ClassWithJavaReservedWords\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"int\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public class ClassWithJavaReservedWords : DeputyBase + { + /// + /// Stability: Experimental + /// + public ClassWithJavaReservedWords(string @int): base(new DeputyProps(new object[]{@int})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassWithJavaReservedWords(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassWithJavaReservedWords(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"import\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"assert\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public virtual string Import(string assert) + { + return InvokeInstanceMethod(new System.Type[]{typeof(string)}, new object[]{assert}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"int\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string Int + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithMutableObjectLiteralProperty.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithMutableObjectLiteralProperty), fullyQualifiedName: \\"jsii-calc.ClassWithMutableObjectLiteralProperty\\")] + public class ClassWithMutableObjectLiteralProperty : DeputyBase + { + /// + /// Stability: Experimental + /// + public ClassWithMutableObjectLiteralProperty(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassWithMutableObjectLiteralProperty(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassWithMutableObjectLiteralProperty(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"mutableObject\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IMutableObjectLiteral\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.IMutableObjectLiteral MutableObject + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithPrivateConstructorAndAutomaticProperties.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Class that implements interface properties automatically, but using a private constructor. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithPrivateConstructorAndAutomaticProperties), fullyQualifiedName: \\"jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties\\")] + public class ClassWithPrivateConstructorAndAutomaticProperties : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithProperties + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassWithPrivateConstructorAndAutomaticProperties(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassWithPrivateConstructorAndAutomaticProperties(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"create\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"readOnlyString\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"readWriteString\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.ClassWithPrivateConstructorAndAutomaticProperties Create(string readOnlyString, string readWriteString) + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithPrivateConstructorAndAutomaticProperties), new System.Type[]{typeof(string), typeof(string)}, new object[]{readOnlyString, readWriteString}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"readOnlyString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string ReadOnlyString + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"readWriteString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string ReadWriteString + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Composition/CompositeOperation.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Composition +{ + /// Abstract operation composed from an expression of other operations. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Composition.CompositeOperation), fullyQualifiedName: \\"jsii-calc.composition.CompositeOperation\\")] + public abstract class CompositeOperation : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Operation + { + protected CompositeOperation(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected CompositeOperation(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected CompositeOperation(DeputyProps props): base(props) + { + } + + /// String representation of the value. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"toString\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + public override string ToString() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// The expression that this operation consists of. + /// + /// Must be implemented by derived classes. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"expression\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}\\")] + public abstract Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Expression + { + get; + } + + /// The value. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public override double Value + { + get => GetInstanceProperty(); + } + + /// A set of postfixes to include in a decorated .toString(). + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"decorationPostfixes\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + public virtual string[] DecorationPostfixes + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// A set of prefixes to include in a decorated .toString(). + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"decorationPrefixes\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + public virtual string[] DecorationPrefixes + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// The .toString() style. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"stringStyle\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.composition.CompositeOperation.CompositionStringStyle\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.Composition.CompositeOperation.CompositionStringStyle StringStyle + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// Style of .toString() output for CompositeOperation. + /// + /// Stability: Experimental + /// + [JsiiEnum(nativeType: typeof(CompositionStringStyle), fullyQualifiedName: \\"jsii-calc.composition.CompositeOperation.CompositionStringStyle\\")] + public enum CompositionStringStyle + { + /// Normal string expression. + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"NORMAL\\")] + NORMAL, + /// Decorated string expression. + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"DECORATED\\")] + DECORATED + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Composition/CompositeOperationProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Composition +{ + /// Abstract operation composed from an expression of other operations. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Composition.CompositeOperation), fullyQualifiedName: \\"jsii-calc.composition.CompositeOperation\\")] + internal sealed class CompositeOperationProxy : Amazon.JSII.Tests.CalculatorNamespace.Composition.CompositeOperation + { + private CompositeOperationProxy(ByRefValue reference): base(reference) + { + } + + /// The expression that this operation consists of. + /// + /// Must be implemented by derived classes. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"expression\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}\\")] + public override Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Expression + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConfusingToJackson.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// This tries to confuse Jackson by having overloaded property setters. + /// + /// Stability: Experimental + /// + /// See: https://github.com/aws/aws-cdk/issues/4080 + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ConfusingToJackson), fullyQualifiedName: \\"jsii-calc.ConfusingToJackson\\")] + public class ConfusingToJackson : DeputyBase + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ConfusingToJackson(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ConfusingToJackson(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"makeInstance\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.ConfusingToJackson\\\\\\"}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.ConfusingToJackson MakeInstance() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ConfusingToJackson), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"makeStructInstance\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.ConfusingToJacksonStruct\\\\\\"}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.IConfusingToJacksonStruct MakeStructInstance() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ConfusingToJackson), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"unionProperty\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.IFriendly\\\\\\"},{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.IFriendly\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.AbstractClass\\\\\\"}]}},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}]}}\\", isOptional: true)] + public virtual object? UnionProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConfusingToJacksonStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.ConfusingToJacksonStruct\\")] + public class ConfusingToJacksonStruct : Amazon.JSII.Tests.CalculatorNamespace.IConfusingToJacksonStruct + { + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"unionProperty\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.IFriendly\\\\\\"},{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.IFriendly\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.AbstractClass\\\\\\"}]}},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}]}}\\", isOptional: true, isOverride: true)] + public object? UnionProperty + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConfusingToJacksonStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IConfusingToJacksonStruct), fullyQualifiedName: \\"jsii-calc.ConfusingToJacksonStruct\\")] + internal sealed class ConfusingToJacksonStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IConfusingToJacksonStruct + { + private ConfusingToJacksonStructProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"unionProperty\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.IFriendly\\\\\\"},{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.IFriendly\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.AbstractClass\\\\\\"}]}},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}]}}\\", isOptional: true)] + public object? UnionProperty + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConstructorPassesThisOut.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ConstructorPassesThisOut), fullyQualifiedName: \\"jsii-calc.ConstructorPassesThisOut\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"consumer\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.PartiallyInitializedThisConsumer\\\\\\"}}]\\")] + public class ConstructorPassesThisOut : DeputyBase + { + /// + /// Stability: Experimental + /// + public ConstructorPassesThisOut(Amazon.JSII.Tests.CalculatorNamespace.PartiallyInitializedThisConsumer consumer): base(new DeputyProps(new object[]{consumer})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ConstructorPassesThisOut(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ConstructorPassesThisOut(DeputyProps props): base(props) + { + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Constructors.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), fullyQualifiedName: \\"jsii-calc.Constructors\\")] + public class Constructors : DeputyBase + { + /// + /// Stability: Experimental + /// + public Constructors(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Constructors(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Constructors(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"hiddenInterface\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IPublicInterface\\\\\\"}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface HiddenInterface() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"hiddenInterfaces\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IPublicInterface\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface[] HiddenInterfaces() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"hiddenSubInterfaces\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IPublicInterface\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface[] HiddenSubInterfaces() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"makeClass\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.PublicClass\\\\\\"}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.PublicClass MakeClass() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"makeInterface\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IPublicInterface\\\\\\"}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface MakeInterface() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"makeInterface2\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IPublicInterface2\\\\\\"}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface2 MakeInterface2() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"makeInterfaces\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IPublicInterface\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface[] MakeInterfaces() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConsumePureInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ConsumePureInterface), fullyQualifiedName: \\"jsii-calc.ConsumePureInterface\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"delegate\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IStructReturningDelegate\\\\\\"}}]\\")] + public class ConsumePureInterface : DeputyBase + { + /// + /// Stability: Experimental + /// + public ConsumePureInterface(Amazon.JSII.Tests.CalculatorNamespace.IStructReturningDelegate @delegate): base(new DeputyProps(new object[]{@delegate})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ConsumePureInterface(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ConsumePureInterface(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"workItBaby\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StructB\\\\\\"}}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.IStructB WorkItBaby() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConsumerCanRingBell.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Test calling back to consumers that implement interfaces. + /// + /// Check that if a JSII consumer implements IConsumerWithInterfaceParam, they can call + /// the method on the argument that they're passed... + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ConsumerCanRingBell), fullyQualifiedName: \\"jsii-calc.ConsumerCanRingBell\\")] + public class ConsumerCanRingBell : DeputyBase + { + /// + /// Stability: Experimental + /// + public ConsumerCanRingBell(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ConsumerCanRingBell(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ConsumerCanRingBell(DeputyProps props): base(props) + { + } + + /// ...if the interface is implemented using an object literal. + /// + /// Returns whether the bell was rung. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"staticImplementedByObjectLiteral\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"ringer\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IBellRinger\\\\\\"}}]\\")] + public static bool StaticImplementedByObjectLiteral(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger ringer) + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ConsumerCanRingBell), new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger)}, new object[]{ringer}); + } + + /// ...if the interface is implemented using a private class. + /// + /// Return whether the bell was rung. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"staticImplementedByPrivateClass\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"ringer\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IBellRinger\\\\\\"}}]\\")] + public static bool StaticImplementedByPrivateClass(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger ringer) + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ConsumerCanRingBell), new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger)}, new object[]{ringer}); + } + + /// ...if the interface is implemented using a public class. + /// + /// Return whether the bell was rung. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"staticImplementedByPublicClass\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"ringer\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IBellRinger\\\\\\"}}]\\")] + public static bool StaticImplementedByPublicClass(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger ringer) + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ConsumerCanRingBell), new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger)}, new object[]{ringer}); + } + + /// If the parameter is a concrete class instead of an interface. + /// + /// Return whether the bell was rung. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"staticWhenTypedAsClass\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"ringer\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IConcreteBellRinger\\\\\\"}}]\\")] + public static bool StaticWhenTypedAsClass(Amazon.JSII.Tests.CalculatorNamespace.IConcreteBellRinger ringer) + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ConsumerCanRingBell), new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IConcreteBellRinger)}, new object[]{ringer}); + } + + /// ...if the interface is implemented using an object literal. + /// + /// Returns whether the bell was rung. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"implementedByObjectLiteral\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"ringer\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IBellRinger\\\\\\"}}]\\")] + public virtual bool ImplementedByObjectLiteral(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger ringer) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger)}, new object[]{ringer}); + } + + /// ...if the interface is implemented using a private class. + /// + /// Return whether the bell was rung. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"implementedByPrivateClass\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"ringer\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IBellRinger\\\\\\"}}]\\")] + public virtual bool ImplementedByPrivateClass(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger ringer) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger)}, new object[]{ringer}); + } + + /// ...if the interface is implemented using a public class. + /// + /// Return whether the bell was rung. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"implementedByPublicClass\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"ringer\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IBellRinger\\\\\\"}}]\\")] + public virtual bool ImplementedByPublicClass(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger ringer) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger)}, new object[]{ringer}); + } + + /// If the parameter is a concrete class instead of an interface. + /// + /// Return whether the bell was rung. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"whenTypedAsClass\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"ringer\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IConcreteBellRinger\\\\\\"}}]\\")] + public virtual bool WhenTypedAsClass(Amazon.JSII.Tests.CalculatorNamespace.IConcreteBellRinger ringer) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IConcreteBellRinger)}, new object[]{ringer}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConsumersOfThisCrazyTypeSystem.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ConsumersOfThisCrazyTypeSystem), fullyQualifiedName: \\"jsii-calc.ConsumersOfThisCrazyTypeSystem\\")] + public class ConsumersOfThisCrazyTypeSystem : DeputyBase + { + /// + /// Stability: Experimental + /// + public ConsumersOfThisCrazyTypeSystem(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ConsumersOfThisCrazyTypeSystem(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ConsumersOfThisCrazyTypeSystem(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"consumeAnotherPublicInterface\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"obj\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IAnotherPublicInterface\\\\\\"}}]\\")] + public virtual string ConsumeAnotherPublicInterface(Amazon.JSII.Tests.CalculatorNamespace.IAnotherPublicInterface obj) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IAnotherPublicInterface)}, new object[]{obj}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"consumeNonInternalInterface\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"obj\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.INonInternalInterface\\\\\\"}}]\\")] + public virtual object ConsumeNonInternalInterface(Amazon.JSII.Tests.CalculatorNamespace.INonInternalInterface obj) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.INonInternalInterface)}, new object[]{obj}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DataRenderer.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Verifies proper type handling through dynamic overrides. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DataRenderer), fullyQualifiedName: \\"jsii-calc.DataRenderer\\")] + public class DataRenderer : DeputyBase + { + /// + /// Stability: Experimental + /// + public DataRenderer(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DataRenderer(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DataRenderer(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"render\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"data\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.MyFirstStruct\\\\\\"}}]\\")] + public virtual string Render(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct? data = null) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct)}, new object?[]{data}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"renderArbitrary\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"data\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}}]\\")] + public virtual string RenderArbitrary(System.Collections.Generic.IDictionary data) + { + return InvokeInstanceMethod(new System.Type[]{typeof(System.Collections.Generic.IDictionary)}, new object[]{data}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"renderMap\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"map\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}}]\\")] + public virtual string RenderMap(System.Collections.Generic.IDictionary map) + { + return InvokeInstanceMethod(new System.Type[]{typeof(System.Collections.Generic.IDictionary)}, new object[]{map}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DefaultedConstructorArgument.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DefaultedConstructorArgument), fullyQualifiedName: \\"jsii-calc.DefaultedConstructorArgument\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"arg1\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"arg2\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"arg3\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}}]\\")] + public class DefaultedConstructorArgument : DeputyBase + { + /// + /// Stability: Experimental + /// + public DefaultedConstructorArgument(double? arg1 = null, string? arg2 = null, System.DateTime? arg3 = null): base(new DeputyProps(new object?[]{arg1, arg2, arg3})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DefaultedConstructorArgument(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DefaultedConstructorArgument(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"arg1\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public virtual double Arg1 + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"arg3\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}\\")] + public virtual System.DateTime Arg3 + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"arg2\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public virtual string? Arg2 + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Demonstrate982.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// 1. + /// + /// call #takeThis() -> An ObjectRef will be provisioned for the value (it'll be re-used!) + /// 2. call #takeThisToo() -> The ObjectRef from before will need to be down-cased to the ParentStruct982 type + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Demonstrate982), fullyQualifiedName: \\"jsii-calc.Demonstrate982\\")] + public class Demonstrate982 : DeputyBase + { + /// + /// Stability: Experimental + /// + public Demonstrate982(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Demonstrate982(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Demonstrate982(DeputyProps props): base(props) + { + } + + /// It's dangerous to go alone! + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"takeThis\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.ChildStruct982\\\\\\"}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.IChildStruct982 TakeThis() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Demonstrate982), new System.Type[]{}, new object[]{}); + } + + /// It's dangerous to go alone! + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"takeThisToo\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.ParentStruct982\\\\\\"}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.IParentStruct982 TakeThisToo() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Demonstrate982), new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Deprecated + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DeprecatedClass), fullyQualifiedName: \\"jsii-calc.DeprecatedClass\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"readonlyString\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"mutableNumber\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + [System.Obsolete(\\"a pretty boring class\\")] + public class DeprecatedClass : DeputyBase + { + /// + /// Stability: Deprecated + /// + [System.Obsolete(\\"this constructor is \\\\\\"just\\\\\\" okay\\")] + public DeprecatedClass(string readonlyString, double? mutableNumber = null): base(new DeputyProps(new object?[]{readonlyString, mutableNumber})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.Obsolete(\\"this constructor is \\\\\\"just\\\\\\" okay\\")] + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DeprecatedClass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.Obsolete(\\"this constructor is \\\\\\"just\\\\\\" okay\\")] + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DeprecatedClass(DeputyProps props): base(props) + { + } + + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"method\\")] + [System.Obsolete(\\"it was a bad idea\\")] + public virtual void Method() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + [System.Obsolete(\\"this is not always \\\\\\"wazoo\\\\\\", be ready to be disappointed\\")] + public virtual string ReadonlyProperty + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Deprecated + /// + [JsiiOptional] + [JsiiProperty(name: \\"mutableProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + [System.Obsolete(\\"shouldn't have been mutable\\")] + public virtual double? MutableProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedEnum.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + + /// + /// Stability: Deprecated + /// + [JsiiEnum(nativeType: typeof(DeprecatedEnum), fullyQualifiedName: \\"jsii-calc.DeprecatedEnum\\")] + [System.Obsolete(\\"your deprecated selection of bad options\\")] + public enum DeprecatedEnum + { + /// + /// Stability: Deprecated + /// + [JsiiEnumMember(name: \\"OPTION_A\\")] + [System.Obsolete(\\"option A is not great\\")] + OPTION_A, + /// + /// Stability: Deprecated + /// + [JsiiEnumMember(name: \\"OPTION_B\\")] + [System.Obsolete(\\"option B is kinda bad, too\\")] + OPTION_B + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Deprecated + /// + [JsiiByValue(fqn: \\"jsii-calc.DeprecatedStruct\\")] + public class DeprecatedStruct : Amazon.JSII.Tests.CalculatorNamespace.IDeprecatedStruct + { + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + [System.Obsolete(\\"well, yeah\\")] + public string ReadonlyProperty + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Deprecated + /// + [JsiiTypeProxy(nativeType: typeof(IDeprecatedStruct), fullyQualifiedName: \\"jsii-calc.DeprecatedStruct\\")] + [System.Obsolete(\\"it just wraps a string\\")] + internal sealed class DeprecatedStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IDeprecatedStruct + { + private DeprecatedStructProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + [System.Obsolete(\\"well, yeah\\")] + public string ReadonlyProperty + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedClassHasNoProperties/Base.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.DerivedClassHasNoProperties +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DerivedClassHasNoProperties.Base), fullyQualifiedName: \\"jsii-calc.DerivedClassHasNoProperties.Base\\")] + public class Base : DeputyBase + { + /// + /// Stability: Experimental + /// + public Base(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Base(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Base(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"prop\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string Prop + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedClassHasNoProperties/Derived.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.DerivedClassHasNoProperties +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DerivedClassHasNoProperties.Derived), fullyQualifiedName: \\"jsii-calc.DerivedClassHasNoProperties.Derived\\")] + public class Derived : Amazon.JSII.Tests.CalculatorNamespace.DerivedClassHasNoProperties.Base + { + /// + /// Stability: Experimental + /// + public Derived(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Derived(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Derived(DeputyProps props): base(props) + { + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// A struct which derives from another struct. + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.DerivedStruct\\")] + public class DerivedStruct : Amazon.JSII.Tests.CalculatorNamespace.IDerivedStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"anotherRequired\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}\\", isOverride: true)] + public System.DateTime AnotherRequired + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bool\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOverride: true)] + public bool Bool + { + get; + set; + } + + /// An example of a non primitive property. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"nonPrimitive\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.DoubleTrouble\\\\\\"}\\", isOverride: true)] + public Amazon.JSII.Tests.CalculatorNamespace.DoubleTrouble NonPrimitive + { + get; + set; + } + + /// This is optional. + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"anotherOptional\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}\\", isOptional: true, isOverride: true)] + public System.Collections.Generic.IDictionary? AnotherOptional + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optionalAny\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}\\", isOptional: true, isOverride: true)] + public object? OptionalAny + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optionalArray\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true, isOverride: true)] + public string[]? OptionalArray + { + get; + set; + } + + /// An awesome number value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"anumber\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOverride: true)] + [System.Obsolete()] + public double Anumber + { + get; + set; + } + + /// A string value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"astring\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + [System.Obsolete()] + public string Astring + { + get; + set; + } + + /// + /// Stability: Deprecated + /// + [JsiiOptional] + [JsiiProperty(name: \\"firstOptional\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true, isOverride: true)] + [System.Obsolete()] + public string[]? FirstOptional + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// A struct which derives from another struct. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IDerivedStruct), fullyQualifiedName: \\"jsii-calc.DerivedStruct\\")] + internal sealed class DerivedStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IDerivedStruct + { + private DerivedStructProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"anotherRequired\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}\\")] + public System.DateTime AnotherRequired + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bool\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public bool Bool + { + get => GetInstanceProperty(); + } + + /// An example of a non primitive property. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"nonPrimitive\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.DoubleTrouble\\\\\\"}\\")] + public Amazon.JSII.Tests.CalculatorNamespace.DoubleTrouble NonPrimitive + { + get => GetInstanceProperty(); + } + + /// This is optional. + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"anotherOptional\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}\\", isOptional: true)] + public System.Collections.Generic.IDictionary? AnotherOptional + { + get => GetInstanceProperty?>(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optionalAny\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}\\", isOptional: true)] + public object? OptionalAny + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optionalArray\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] + public string[]? OptionalArray + { + get => GetInstanceProperty(); + } + + /// An awesome number value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"anumber\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + [System.Obsolete()] + public double Anumber + { + get => GetInstanceProperty(); + } + + /// A string value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"astring\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + [System.Obsolete()] + public string Astring + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Deprecated + /// + [JsiiOptional] + [JsiiProperty(name: \\"firstOptional\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] + [System.Obsolete()] + public string[]? FirstOptional + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceBaseLevelStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.DiamondInheritanceBaseLevelStruct\\")] + public class DiamondInheritanceBaseLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceBaseLevelStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"baseLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string BaseLevelProperty + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceBaseLevelStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IDiamondInheritanceBaseLevelStruct), fullyQualifiedName: \\"jsii-calc.DiamondInheritanceBaseLevelStruct\\")] + internal sealed class DiamondInheritanceBaseLevelStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceBaseLevelStruct + { + private DiamondInheritanceBaseLevelStructProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"baseLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string BaseLevelProperty + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceFirstMidLevelStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.DiamondInheritanceFirstMidLevelStruct\\")] + public class DiamondInheritanceFirstMidLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceFirstMidLevelStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"firstMidLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string FirstMidLevelProperty + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"baseLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string BaseLevelProperty + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceFirstMidLevelStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IDiamondInheritanceFirstMidLevelStruct), fullyQualifiedName: \\"jsii-calc.DiamondInheritanceFirstMidLevelStruct\\")] + internal sealed class DiamondInheritanceFirstMidLevelStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceFirstMidLevelStruct + { + private DiamondInheritanceFirstMidLevelStructProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"firstMidLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string FirstMidLevelProperty + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"baseLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string BaseLevelProperty + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceSecondMidLevelStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.DiamondInheritanceSecondMidLevelStruct\\")] + public class DiamondInheritanceSecondMidLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceSecondMidLevelStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"secondMidLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string SecondMidLevelProperty + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"baseLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string BaseLevelProperty + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceSecondMidLevelStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IDiamondInheritanceSecondMidLevelStruct), fullyQualifiedName: \\"jsii-calc.DiamondInheritanceSecondMidLevelStruct\\")] + internal sealed class DiamondInheritanceSecondMidLevelStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceSecondMidLevelStruct + { + private DiamondInheritanceSecondMidLevelStructProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"secondMidLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string SecondMidLevelProperty + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"baseLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string BaseLevelProperty + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceTopLevelStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.DiamondInheritanceTopLevelStruct\\")] + public class DiamondInheritanceTopLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceTopLevelStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"topLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string TopLevelProperty + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"firstMidLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string FirstMidLevelProperty + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"baseLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string BaseLevelProperty + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"secondMidLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string SecondMidLevelProperty + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceTopLevelStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IDiamondInheritanceTopLevelStruct), fullyQualifiedName: \\"jsii-calc.DiamondInheritanceTopLevelStruct\\")] + internal sealed class DiamondInheritanceTopLevelStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceTopLevelStruct + { + private DiamondInheritanceTopLevelStructProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"topLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string TopLevelProperty + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"firstMidLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string FirstMidLevelProperty + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"baseLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string BaseLevelProperty + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"secondMidLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string SecondMidLevelProperty + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DisappointingCollectionSource.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Verifies that null/undefined can be returned for optional collections. + /// + /// This source of collections is disappointing - it'll always give you nothing :( + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DisappointingCollectionSource), fullyQualifiedName: \\"jsii-calc.DisappointingCollectionSource\\")] + public class DisappointingCollectionSource : DeputyBase + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DisappointingCollectionSource(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DisappointingCollectionSource(DeputyProps props): base(props) + { + } + + /// Some List of strings, maybe? + /// + /// (Nah, just a billion dollars mistake!) + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"maybeList\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] + public static string[] MaybeList + { + get; + } + = GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.DisappointingCollectionSource)); + + /// Some Map of strings to numbers, maybe? + /// + /// (Nah, just a billion dollars mistake!) + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"maybeMap\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}\\", isOptional: true)] + public static System.Collections.Generic.IDictionary MaybeMap + { + get; + } + = GetStaticProperty>(typeof(Amazon.JSII.Tests.CalculatorNamespace.DisappointingCollectionSource)); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DoNotOverridePrivates.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DoNotOverridePrivates), fullyQualifiedName: \\"jsii-calc.DoNotOverridePrivates\\")] + public class DoNotOverridePrivates : DeputyBase + { + /// + /// Stability: Experimental + /// + public DoNotOverridePrivates(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DoNotOverridePrivates(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DoNotOverridePrivates(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"changePrivatePropertyValue\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"newValue\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public virtual void ChangePrivatePropertyValue(string newValue) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(string)}, new object[]{newValue}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"privateMethodValue\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public virtual string PrivateMethodValue() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"privatePropertyValue\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public virtual string PrivatePropertyValue() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DoNotRecognizeAnyAsOptional.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// jsii#284: do not recognize \\"any\\" as an optional argument. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DoNotRecognizeAnyAsOptional), fullyQualifiedName: \\"jsii-calc.DoNotRecognizeAnyAsOptional\\")] + public class DoNotRecognizeAnyAsOptional : DeputyBase + { + /// + /// Stability: Experimental + /// + public DoNotRecognizeAnyAsOptional(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DoNotRecognizeAnyAsOptional(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DoNotRecognizeAnyAsOptional(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"method\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"_requiredAny\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"_optionalAny\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"_optionalString\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public virtual void Method(object requiredAny, object? optionalAny = null, string? optionalString = null) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(object), typeof(object), typeof(string)}, new object?[]{requiredAny, optionalAny, optionalString}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DocumentedClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Here's the first line of the TSDoc comment. + /// + /// This is the meat of the TSDoc comment. It may contain + /// multiple lines and multiple paragraphs. + /// + /// Multiple paragraphs are separated by an empty line. + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DocumentedClass), fullyQualifiedName: \\"jsii-calc.DocumentedClass\\")] + public class DocumentedClass : DeputyBase + { + /// + /// Stability: Experimental + /// + public DocumentedClass(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DocumentedClass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DocumentedClass(DeputyProps props): base(props) + { + } + + /// Greet the indicated person. + /// The person to be greeted. + /// A number that everyone knows very well + /// + /// This will print out a friendly greeting intended for + /// the indicated person. + /// + [JsiiMethod(name: \\"greet\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"The person to be greeted.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"greetee\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.Greetee\\\\\\"}}]\\")] + public virtual double Greet(Amazon.JSII.Tests.CalculatorNamespace.IGreetee? greetee = null) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IGreetee)}, new object?[]{greetee}); + } + + /// Say ¡Hola! + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"hola\\")] + public virtual void Hola() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DontComplainAboutVariadicAfterOptional.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DontComplainAboutVariadicAfterOptional), fullyQualifiedName: \\"jsii-calc.DontComplainAboutVariadicAfterOptional\\")] + public class DontComplainAboutVariadicAfterOptional : DeputyBase + { + /// + /// Stability: Experimental + /// + public DontComplainAboutVariadicAfterOptional(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DontComplainAboutVariadicAfterOptional(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DontComplainAboutVariadicAfterOptional(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"optionalAndVariadic\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"optional\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"things\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"variadic\\\\\\":true}]\\")] + public virtual string OptionalAndVariadic(string? optional = null, params string[] things) + { + return InvokeInstanceMethod(new System.Type[]{typeof(string), typeof(string[])}, new object?[]{optional, things}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DoubleTrouble.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DoubleTrouble), fullyQualifiedName: \\"jsii-calc.DoubleTrouble\\")] + public class DoubleTrouble : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IFriendlyRandomGenerator + { + /// + /// Stability: Experimental + /// + public DoubleTrouble(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DoubleTrouble(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected DoubleTrouble(DeputyProps props): base(props) + { + } + + /// Say hello! + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"hello\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + public virtual string Hello() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Returns another random number. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"next\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", isOverride: true)] + public virtual double Next() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EnumDispenser.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.EnumDispenser), fullyQualifiedName: \\"jsii-calc.EnumDispenser\\")] + public class EnumDispenser : DeputyBase + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected EnumDispenser(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected EnumDispenser(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"randomIntegerLikeEnum\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.AllTypesEnum\\\\\\"}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.AllTypesEnum RandomIntegerLikeEnum() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.EnumDispenser), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"randomStringLikeEnum\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StringEnum\\\\\\"}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.StringEnum RandomStringLikeEnum() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.EnumDispenser), new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EraseUndefinedHashValues.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.EraseUndefinedHashValues), fullyQualifiedName: \\"jsii-calc.EraseUndefinedHashValues\\")] + public class EraseUndefinedHashValues : DeputyBase + { + /// + /// Stability: Experimental + /// + public EraseUndefinedHashValues(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected EraseUndefinedHashValues(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected EraseUndefinedHashValues(DeputyProps props): base(props) + { + } + + /// Returns \`true\` if \`key\` is defined in \`opts\`. + /// + /// Used to check that undefined/null hash values + /// are being erased when sending values from native code to JS. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"doesKeyExist\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"opts\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.EraseUndefinedHashValuesOptions\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"key\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public static bool DoesKeyExist(Amazon.JSII.Tests.CalculatorNamespace.IEraseUndefinedHashValuesOptions opts, string key) + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.EraseUndefinedHashValues), new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IEraseUndefinedHashValuesOptions), typeof(string)}, new object[]{opts, key}); + } + + /// We expect \\"prop1\\" to be erased. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"prop1IsNull\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}}\\")] + public static System.Collections.Generic.IDictionary Prop1IsNull() + { + return InvokeStaticMethod>(typeof(Amazon.JSII.Tests.CalculatorNamespace.EraseUndefinedHashValues), new System.Type[]{}, new object[]{}); + } + + /// We expect \\"prop2\\" to be erased. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"prop2IsUndefined\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}}\\")] + public static System.Collections.Generic.IDictionary Prop2IsUndefined() + { + return InvokeStaticMethod>(typeof(Amazon.JSII.Tests.CalculatorNamespace.EraseUndefinedHashValues), new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EraseUndefinedHashValuesOptions.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.EraseUndefinedHashValuesOptions\\")] + public class EraseUndefinedHashValuesOptions : Amazon.JSII.Tests.CalculatorNamespace.IEraseUndefinedHashValuesOptions + { + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"option1\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + public string? Option1 + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"option2\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + public string? Option2 + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EraseUndefinedHashValuesOptionsProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IEraseUndefinedHashValuesOptions), fullyQualifiedName: \\"jsii-calc.EraseUndefinedHashValuesOptions\\")] + internal sealed class EraseUndefinedHashValuesOptionsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IEraseUndefinedHashValuesOptions + { + private EraseUndefinedHashValuesOptionsProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"option1\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public string? Option1 + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"option2\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public string? Option2 + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ExperimentalClass), fullyQualifiedName: \\"jsii-calc.ExperimentalClass\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"readonlyString\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"mutableNumber\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public class ExperimentalClass : DeputyBase + { + /// + /// Stability: Experimental + /// + public ExperimentalClass(string readonlyString, double? mutableNumber = null): base(new DeputyProps(new object?[]{readonlyString, mutableNumber})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ExperimentalClass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ExperimentalClass(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"method\\")] + public virtual void Method() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string ReadonlyProperty + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"mutableProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + public virtual double? MutableProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalEnum.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + + /// + /// Stability: Experimental + /// + [JsiiEnum(nativeType: typeof(ExperimentalEnum), fullyQualifiedName: \\"jsii-calc.ExperimentalEnum\\")] + public enum ExperimentalEnum + { + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"OPTION_A\\")] + OPTION_A, + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"OPTION_B\\")] + OPTION_B + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.ExperimentalStruct\\")] + public class ExperimentalStruct : Amazon.JSII.Tests.CalculatorNamespace.IExperimentalStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string ReadonlyProperty + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IExperimentalStruct), fullyQualifiedName: \\"jsii-calc.ExperimentalStruct\\")] + internal sealed class ExperimentalStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IExperimentalStruct + { + private ExperimentalStructProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string ReadonlyProperty + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExportedBaseClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ExportedBaseClass), fullyQualifiedName: \\"jsii-calc.ExportedBaseClass\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"success\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}]\\")] + public class ExportedBaseClass : DeputyBase + { + /// + /// Stability: Experimental + /// + public ExportedBaseClass(bool success): base(new DeputyProps(new object[]{success})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ExportedBaseClass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ExportedBaseClass(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"success\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public virtual bool Success + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExtendsInternalInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.ExtendsInternalInterface\\")] + public class ExtendsInternalInterface : Amazon.JSII.Tests.CalculatorNamespace.IExtendsInternalInterface + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"boom\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOverride: true)] + public bool Boom + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"prop\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string Prop + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExtendsInternalInterfaceProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IExtendsInternalInterface), fullyQualifiedName: \\"jsii-calc.ExtendsInternalInterface\\")] + internal sealed class ExtendsInternalInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IExtendsInternalInterface + { + private ExtendsInternalInterfaceProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"boom\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public bool Boom + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"prop\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Prop + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ExternalClass), fullyQualifiedName: \\"jsii-calc.ExternalClass\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"readonlyString\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"mutableNumber\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public class ExternalClass : DeputyBase + { + /// + /// Stability: Experimental + /// + /// External: true + /// + public ExternalClass(string readonlyString, double? mutableNumber = null): base(new DeputyProps(new object?[]{readonlyString, mutableNumber})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ExternalClass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ExternalClass(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiMethod(name: \\"method\\")] + public virtual void Method() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string ReadonlyProperty + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiOptional] + [JsiiProperty(name: \\"mutableProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + public virtual double? MutableProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalEnum.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiEnum(nativeType: typeof(ExternalEnum), fullyQualifiedName: \\"jsii-calc.ExternalEnum\\")] + public enum ExternalEnum + { + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiEnumMember(name: \\"OPTION_A\\")] + OPTION_A, + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiEnumMember(name: \\"OPTION_B\\")] + OPTION_B + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiByValue(fqn: \\"jsii-calc.ExternalStruct\\")] + public class ExternalStruct : Amazon.JSII.Tests.CalculatorNamespace.IExternalStruct + { + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string ReadonlyProperty + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiTypeProxy(nativeType: typeof(IExternalStruct), fullyQualifiedName: \\"jsii-calc.ExternalStruct\\")] + internal sealed class ExternalStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IExternalStruct + { + private ExternalStructProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string ReadonlyProperty + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/GiveMeStructs.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.GiveMeStructs), fullyQualifiedName: \\"jsii-calc.GiveMeStructs\\")] + public class GiveMeStructs : DeputyBase + { + /// + /// Stability: Experimental + /// + public GiveMeStructs(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected GiveMeStructs(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected GiveMeStructs(DeputyProps props): base(props) + { + } + + /// Accepts a struct of type DerivedStruct and returns a struct of type FirstStruct. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"derivedToFirst\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.MyFirstStruct\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"derived\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.DerivedStruct\\\\\\"}}]\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct DerivedToFirst(Amazon.JSII.Tests.CalculatorNamespace.IDerivedStruct derived) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IDerivedStruct)}, new object[]{derived}); + } + + /// Returns the boolean from a DerivedStruct struct. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"readDerivedNonPrimitive\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.DoubleTrouble\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"derived\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.DerivedStruct\\\\\\"}}]\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.DoubleTrouble ReadDerivedNonPrimitive(Amazon.JSII.Tests.CalculatorNamespace.IDerivedStruct derived) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IDerivedStruct)}, new object[]{derived}); + } + + /// Returns the \\"anumber\\" from a MyFirstStruct struct; + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"readFirstNumber\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"first\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.MyFirstStruct\\\\\\"}}]\\")] + public virtual double ReadFirstNumber(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct first) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct)}, new object[]{first}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"structLiteral\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.StructWithOnlyOptionals\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IStructWithOnlyOptionals StructLiteral + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Greetee.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// These are some arguments you can pass to a method. + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.Greetee\\")] + public class Greetee : Amazon.JSII.Tests.CalculatorNamespace.IGreetee + { + /// The name of the greetee. + /// + /// Default: world + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"name\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + public string? Name + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/GreeteeProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// These are some arguments you can pass to a method. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IGreetee), fullyQualifiedName: \\"jsii-calc.Greetee\\")] + internal sealed class GreeteeProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IGreetee + { + private GreeteeProxy(ByRefValue reference): base(reference) + { + } + + /// The name of the greetee. + /// + /// Default: world + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"name\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public string? Name + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/GreetingAugmenter.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.GreetingAugmenter), fullyQualifiedName: \\"jsii-calc.GreetingAugmenter\\")] + public class GreetingAugmenter : DeputyBase + { + /// + /// Stability: Experimental + /// + public GreetingAugmenter(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected GreetingAugmenter(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected GreetingAugmenter(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"betterGreeting\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"friendly\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.IFriendly\\\\\\"}}]\\")] + public virtual string BetterGreeting(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly friendly) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly)}, new object[]{friendly}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymousImplementationProvider.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// We can return an anonymous interface implementation from an override without losing the interface declarations. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IAnonymousImplementationProvider), fullyQualifiedName: \\"jsii-calc.IAnonymousImplementationProvider\\")] + public interface IAnonymousImplementationProvider + { + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"provideAsClass\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.Implementation\\\\\\"}}\\")] + Amazon.JSII.Tests.CalculatorNamespace.Implementation ProvideAsClass(); + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"provideAsInterface\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IAnonymouslyImplementMe\\\\\\"}}\\")] + Amazon.JSII.Tests.CalculatorNamespace.IAnonymouslyImplementMe ProvideAsInterface(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymousImplementationProviderProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// We can return an anonymous interface implementation from an override without losing the interface declarations. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IAnonymousImplementationProvider), fullyQualifiedName: \\"jsii-calc.IAnonymousImplementationProvider\\")] + internal sealed class IAnonymousImplementationProviderProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IAnonymousImplementationProvider + { + private IAnonymousImplementationProviderProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"provideAsClass\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.Implementation\\\\\\"}}\\")] + public Amazon.JSII.Tests.CalculatorNamespace.Implementation ProvideAsClass() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"provideAsInterface\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IAnonymouslyImplementMe\\\\\\"}}\\")] + public Amazon.JSII.Tests.CalculatorNamespace.IAnonymouslyImplementMe ProvideAsInterface() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymouslyImplementMe.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IAnonymouslyImplementMe), fullyQualifiedName: \\"jsii-calc.IAnonymouslyImplementMe\\")] + public interface IAnonymouslyImplementMe + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + double Value + { + get; + } + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"verb\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + string Verb(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymouslyImplementMeProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IAnonymouslyImplementMe), fullyQualifiedName: \\"jsii-calc.IAnonymouslyImplementMe\\")] + internal sealed class IAnonymouslyImplementMeProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IAnonymouslyImplementMe + { + private IAnonymouslyImplementMeProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public double Value + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"verb\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public string Verb() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnotherPublicInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IAnotherPublicInterface), fullyQualifiedName: \\"jsii-calc.IAnotherPublicInterface\\")] + public interface IAnotherPublicInterface + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"a\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string A + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnotherPublicInterfaceProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IAnotherPublicInterface), fullyQualifiedName: \\"jsii-calc.IAnotherPublicInterface\\")] + internal sealed class IAnotherPublicInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IAnotherPublicInterface + { + private IAnotherPublicInterfaceProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"a\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string A + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBell.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IBell), fullyQualifiedName: \\"jsii-calc.IBell\\")] + public interface IBell + { + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"ring\\")] + void Ring(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBellProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IBell), fullyQualifiedName: \\"jsii-calc.IBell\\")] + internal sealed class IBellProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IBell + { + private IBellProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"ring\\")] + public void Ring() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBellRinger.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Takes the object parameter as an interface. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IBellRinger), fullyQualifiedName: \\"jsii-calc.IBellRinger\\")] + public interface IBellRinger + { + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"yourTurn\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"bell\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IBell\\\\\\"}}]\\")] + void YourTurn(Amazon.JSII.Tests.CalculatorNamespace.IBell bell); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBellRingerProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Takes the object parameter as an interface. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IBellRinger), fullyQualifiedName: \\"jsii-calc.IBellRinger\\")] + internal sealed class IBellRingerProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IBellRinger + { + private IBellRingerProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"yourTurn\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"bell\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IBell\\\\\\"}}]\\")] + public void YourTurn(Amazon.JSII.Tests.CalculatorNamespace.IBell bell) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IBell)}, new object[]{bell}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ICalculatorProps.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Properties for Calculator. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(ICalculatorProps), fullyQualifiedName: \\"jsii-calc.CalculatorProps\\")] + public interface ICalculatorProps + { + /// The initial value of the calculator. + /// + /// NOTE: Any number works here, it's fine. + /// + /// Default: 0 + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"initialValue\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + double? InitialValue + { + get + { + return null; + } + } + + /// The maximum value the calculator can store. + /// + /// Default: none + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"maximumValue\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + double? MaximumValue + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IChildStruct982.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IChildStruct982), fullyQualifiedName: \\"jsii-calc.ChildStruct982\\")] + public interface IChildStruct982 : Amazon.JSII.Tests.CalculatorNamespace.IParentStruct982 + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + double Bar + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IConcreteBellRinger.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Takes the object parameter as a calss. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IConcreteBellRinger), fullyQualifiedName: \\"jsii-calc.IConcreteBellRinger\\")] + public interface IConcreteBellRinger + { + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"yourTurn\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"bell\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.Bell\\\\\\"}}]\\")] + void YourTurn(Amazon.JSII.Tests.CalculatorNamespace.Bell bell); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IConcreteBellRingerProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Takes the object parameter as a calss. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IConcreteBellRinger), fullyQualifiedName: \\"jsii-calc.IConcreteBellRinger\\")] + internal sealed class IConcreteBellRingerProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IConcreteBellRinger + { + private IConcreteBellRingerProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"yourTurn\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"bell\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.Bell\\\\\\"}}]\\")] + public void YourTurn(Amazon.JSII.Tests.CalculatorNamespace.Bell bell) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.Bell)}, new object[]{bell}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IConfusingToJacksonStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IConfusingToJacksonStruct), fullyQualifiedName: \\"jsii-calc.ConfusingToJacksonStruct\\")] + public interface IConfusingToJacksonStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"unionProperty\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.IFriendly\\\\\\"},{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.IFriendly\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.AbstractClass\\\\\\"}]}},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}]}}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + object? UnionProperty + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDeprecatedInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Deprecated + /// + [JsiiInterface(nativeType: typeof(IDeprecatedInterface), fullyQualifiedName: \\"jsii-calc.IDeprecatedInterface\\")] + [System.Obsolete(\\"useless interface\\")] + public interface IDeprecatedInterface + { + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"mutableProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + [System.Obsolete(\\"could be better\\")] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + double? MutableProperty + { + get + { + return null; + } + set + { + throw new System.NotSupportedException(\\"'set' for 'MutableProperty' is not implemented\\"); + } + } + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"method\\")] + [System.Obsolete(\\"services no purpose\\")] + void Method(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDeprecatedInterfaceProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Deprecated + /// + [JsiiTypeProxy(nativeType: typeof(IDeprecatedInterface), fullyQualifiedName: \\"jsii-calc.IDeprecatedInterface\\")] + [System.Obsolete(\\"useless interface\\")] + internal sealed class IDeprecatedInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IDeprecatedInterface + { + private IDeprecatedInterfaceProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Deprecated + /// + [JsiiOptional] + [JsiiProperty(name: \\"mutableProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + [System.Obsolete(\\"could be better\\")] + public double? MutableProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"method\\")] + [System.Obsolete(\\"services no purpose\\")] + public void Method() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDeprecatedStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Deprecated + /// + [JsiiInterface(nativeType: typeof(IDeprecatedStruct), fullyQualifiedName: \\"jsii-calc.DeprecatedStruct\\")] + [System.Obsolete(\\"it just wraps a string\\")] + public interface IDeprecatedStruct + { + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + [System.Obsolete(\\"well, yeah\\")] + string ReadonlyProperty + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDerivedStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// A struct which derives from another struct. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IDerivedStruct), fullyQualifiedName: \\"jsii-calc.DerivedStruct\\")] + public interface IDerivedStruct : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"anotherRequired\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}\\")] + System.DateTime AnotherRequired + { + get; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bool\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + bool Bool + { + get; + } + + /// An example of a non primitive property. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"nonPrimitive\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.DoubleTrouble\\\\\\"}\\")] + Amazon.JSII.Tests.CalculatorNamespace.DoubleTrouble NonPrimitive + { + get; + } + + /// This is optional. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"anotherOptional\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + System.Collections.Generic.IDictionary? AnotherOptional + { + get + { + return null; + } + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"optionalAny\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + object? OptionalAny + { + get + { + return null; + } + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"optionalArray\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string[]? OptionalArray + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceBaseLevelStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IDiamondInheritanceBaseLevelStruct), fullyQualifiedName: \\"jsii-calc.DiamondInheritanceBaseLevelStruct\\")] + public interface IDiamondInheritanceBaseLevelStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"baseLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string BaseLevelProperty + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceFirstMidLevelStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IDiamondInheritanceFirstMidLevelStruct), fullyQualifiedName: \\"jsii-calc.DiamondInheritanceFirstMidLevelStruct\\")] + public interface IDiamondInheritanceFirstMidLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceBaseLevelStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"firstMidLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string FirstMidLevelProperty + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceSecondMidLevelStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IDiamondInheritanceSecondMidLevelStruct), fullyQualifiedName: \\"jsii-calc.DiamondInheritanceSecondMidLevelStruct\\")] + public interface IDiamondInheritanceSecondMidLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceBaseLevelStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"secondMidLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string SecondMidLevelProperty + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceTopLevelStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IDiamondInheritanceTopLevelStruct), fullyQualifiedName: \\"jsii-calc.DiamondInheritanceTopLevelStruct\\")] + public interface IDiamondInheritanceTopLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceFirstMidLevelStruct, Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceSecondMidLevelStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"topLevelProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string TopLevelProperty + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IEraseUndefinedHashValuesOptions.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IEraseUndefinedHashValuesOptions), fullyQualifiedName: \\"jsii-calc.EraseUndefinedHashValuesOptions\\")] + public interface IEraseUndefinedHashValuesOptions + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"option1\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? Option1 + { + get + { + return null; + } + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"option2\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? Option2 + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExperimentalInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IExperimentalInterface), fullyQualifiedName: \\"jsii-calc.IExperimentalInterface\\")] + public interface IExperimentalInterface + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"mutableProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + double? MutableProperty + { + get + { + return null; + } + set + { + throw new System.NotSupportedException(\\"'set' for 'MutableProperty' is not implemented\\"); + } + } + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"method\\")] + void Method(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExperimentalInterfaceProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IExperimentalInterface), fullyQualifiedName: \\"jsii-calc.IExperimentalInterface\\")] + internal sealed class IExperimentalInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IExperimentalInterface + { + private IExperimentalInterfaceProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"mutableProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + public double? MutableProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"method\\")] + public void Method() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExperimentalStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IExperimentalStruct), fullyQualifiedName: \\"jsii-calc.ExperimentalStruct\\")] + public interface IExperimentalStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string ReadonlyProperty + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExtendsInternalInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IExtendsInternalInterface), fullyQualifiedName: \\"jsii-calc.ExtendsInternalInterface\\")] + public interface IExtendsInternalInterface + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"boom\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + bool Boom + { + get; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"prop\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string Prop + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExtendsPrivateInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IExtendsPrivateInterface), fullyQualifiedName: \\"jsii-calc.IExtendsPrivateInterface\\")] + public interface IExtendsPrivateInterface + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"moreThings\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + string[] MoreThings + { + get; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"private\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string Private + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExtendsPrivateInterfaceProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IExtendsPrivateInterface), fullyQualifiedName: \\"jsii-calc.IExtendsPrivateInterface\\")] + internal sealed class IExtendsPrivateInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IExtendsPrivateInterface + { + private IExtendsPrivateInterfaceProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"moreThings\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + public string[] MoreThings + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"private\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Private + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExternalInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiInterface(nativeType: typeof(IExternalInterface), fullyQualifiedName: \\"jsii-calc.IExternalInterface\\")] + public interface IExternalInterface + { + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiProperty(name: \\"mutableProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + double? MutableProperty + { + get + { + return null; + } + set + { + throw new System.NotSupportedException(\\"'set' for 'MutableProperty' is not implemented\\"); + } + } + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiMethod(name: \\"method\\")] + void Method(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExternalInterfaceProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiTypeProxy(nativeType: typeof(IExternalInterface), fullyQualifiedName: \\"jsii-calc.IExternalInterface\\")] + internal sealed class IExternalInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IExternalInterface + { + private IExternalInterfaceProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiOptional] + [JsiiProperty(name: \\"mutableProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + public double? MutableProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiMethod(name: \\"method\\")] + public void Method() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExternalStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiInterface(nativeType: typeof(IExternalStruct), fullyQualifiedName: \\"jsii-calc.ExternalStruct\\")] + public interface IExternalStruct + { + /// + /// Stability: Experimental + /// + /// External: true + /// + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string ReadonlyProperty + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlier.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Even friendlier classes can implement this interface. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IFriendlier), fullyQualifiedName: \\"jsii-calc.IFriendlier\\")] + public interface IFriendlier : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly + { + /// Say farewell. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"farewell\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + string Farewell(); + /// Say goodbye. + /// A goodbye blessing. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"goodbye\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + string Goodbye(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlierProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Even friendlier classes can implement this interface. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IFriendlier), fullyQualifiedName: \\"jsii-calc.IFriendlier\\")] + internal sealed class IFriendlierProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IFriendlier + { + private IFriendlierProxy(ByRefValue reference): base(reference) + { + } + + /// Say farewell. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"farewell\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public string Farewell() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Say goodbye. + /// A goodbye blessing. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"goodbye\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public string Goodbye() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Say hello! + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"hello\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + [System.Obsolete()] + public string Hello() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlyRandomGenerator.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IFriendlyRandomGenerator), fullyQualifiedName: \\"jsii-calc.IFriendlyRandomGenerator\\")] + public interface IFriendlyRandomGenerator : Amazon.JSII.Tests.CalculatorNamespace.IRandomNumberGenerator, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly + { + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlyRandomGeneratorProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IFriendlyRandomGenerator), fullyQualifiedName: \\"jsii-calc.IFriendlyRandomGenerator\\")] + internal sealed class IFriendlyRandomGeneratorProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IFriendlyRandomGenerator + { + private IFriendlyRandomGeneratorProxy(ByRefValue reference): base(reference) + { + } + + /// Returns another random number. + /// A random number. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"next\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\")] + public double Next() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Say hello! + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"hello\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + [System.Obsolete()] + public string Hello() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IGreetee.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// These are some arguments you can pass to a method. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IGreetee), fullyQualifiedName: \\"jsii-calc.Greetee\\")] + public interface IGreetee + { + /// The name of the greetee. + /// + /// Default: world + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"name\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? Name + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IImplictBaseOfBase.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IImplictBaseOfBase), fullyQualifiedName: \\"jsii-calc.ImplictBaseOfBase\\")] + public interface IImplictBaseOfBase : Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.IBaseProps + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"goo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}\\")] + System.DateTime Goo + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceImplementedByAbstractClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// awslabs/jsii#220 Abstract return type. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IInterfaceImplementedByAbstractClass), fullyQualifiedName: \\"jsii-calc.IInterfaceImplementedByAbstractClass\\")] + public interface IInterfaceImplementedByAbstractClass + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"propFromInterface\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string PropFromInterface + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceImplementedByAbstractClassProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// awslabs/jsii#220 Abstract return type. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IInterfaceImplementedByAbstractClass), fullyQualifiedName: \\"jsii-calc.IInterfaceImplementedByAbstractClass\\")] + internal sealed class IInterfaceImplementedByAbstractClassProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceImplementedByAbstractClass + { + private IInterfaceImplementedByAbstractClassProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"propFromInterface\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string PropFromInterface + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceThatShouldNotBeADataType.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Even though this interface has only properties, it is disqualified from being a datatype because it inherits from an interface that is not a datatype. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IInterfaceThatShouldNotBeADataType), fullyQualifiedName: \\"jsii-calc.IInterfaceThatShouldNotBeADataType\\")] + public interface IInterfaceThatShouldNotBeADataType : Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithMethods + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"otherValue\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string OtherValue + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceThatShouldNotBeADataTypeProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Even though this interface has only properties, it is disqualified from being a datatype because it inherits from an interface that is not a datatype. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IInterfaceThatShouldNotBeADataType), fullyQualifiedName: \\"jsii-calc.IInterfaceThatShouldNotBeADataType\\")] + internal sealed class IInterfaceThatShouldNotBeADataTypeProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceThatShouldNotBeADataType + { + private IInterfaceThatShouldNotBeADataTypeProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"otherValue\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string OtherValue + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Value + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"doThings\\")] + public void DoThings() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithInternal.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IInterfaceWithInternal), fullyQualifiedName: \\"jsii-calc.IInterfaceWithInternal\\")] + public interface IInterfaceWithInternal + { + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"visible\\")] + void Visible(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithInternalProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IInterfaceWithInternal), fullyQualifiedName: \\"jsii-calc.IInterfaceWithInternal\\")] + internal sealed class IInterfaceWithInternalProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithInternal + { + private IInterfaceWithInternalProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"visible\\")] + public void Visible() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithMethods.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IInterfaceWithMethods), fullyQualifiedName: \\"jsii-calc.IInterfaceWithMethods\\")] + public interface IInterfaceWithMethods + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string Value + { + get; + } + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"doThings\\")] + void DoThings(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithMethodsProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IInterfaceWithMethods), fullyQualifiedName: \\"jsii-calc.IInterfaceWithMethods\\")] + internal sealed class IInterfaceWithMethodsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithMethods + { + private IInterfaceWithMethodsProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Value + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"doThings\\")] + public void DoThings() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithOptionalMethodArguments.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// awslabs/jsii#175 Interface proxies (and builders) do not respect optional arguments in methods. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IInterfaceWithOptionalMethodArguments), fullyQualifiedName: \\"jsii-calc.IInterfaceWithOptionalMethodArguments\\")] + public interface IInterfaceWithOptionalMethodArguments + { + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"hello\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"arg1\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"arg2\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + void Hello(string arg1, double? arg2 = null); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithOptionalMethodArgumentsProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// awslabs/jsii#175 Interface proxies (and builders) do not respect optional arguments in methods. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IInterfaceWithOptionalMethodArguments), fullyQualifiedName: \\"jsii-calc.IInterfaceWithOptionalMethodArguments\\")] + internal sealed class IInterfaceWithOptionalMethodArgumentsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithOptionalMethodArguments + { + private IInterfaceWithOptionalMethodArgumentsProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"hello\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"arg1\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"arg2\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public void Hello(string arg1, double? arg2 = null) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(string), typeof(double)}, new object?[]{arg1, arg2}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithProperties.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IInterfaceWithProperties), fullyQualifiedName: \\"jsii-calc.IInterfaceWithProperties\\")] + public interface IInterfaceWithProperties + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"readOnlyString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string ReadOnlyString + { + get; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"readWriteString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string ReadWriteString + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithPropertiesExtension.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IInterfaceWithPropertiesExtension), fullyQualifiedName: \\"jsii-calc.IInterfaceWithPropertiesExtension\\")] + public interface IInterfaceWithPropertiesExtension : Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithProperties + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + double Foo + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithPropertiesExtensionProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IInterfaceWithPropertiesExtension), fullyQualifiedName: \\"jsii-calc.IInterfaceWithPropertiesExtension\\")] + internal sealed class IInterfaceWithPropertiesExtensionProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithPropertiesExtension + { + private IInterfaceWithPropertiesExtensionProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public double Foo + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"readOnlyString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string ReadOnlyString + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"readWriteString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string ReadWriteString + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithPropertiesProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IInterfaceWithProperties), fullyQualifiedName: \\"jsii-calc.IInterfaceWithProperties\\")] + internal sealed class IInterfaceWithPropertiesProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithProperties + { + private IInterfaceWithPropertiesProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"readOnlyString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string ReadOnlyString + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"readWriteString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string ReadWriteString + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417Derived.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IJSII417Derived), fullyQualifiedName: \\"jsii-calc.IJSII417Derived\\")] + public interface IJSII417Derived : Amazon.JSII.Tests.CalculatorNamespace.IJSII417PublicBaseOfBase + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"property\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string Property + { + get; + } + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"bar\\")] + void Bar(); + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"baz\\")] + void Baz(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417DerivedProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IJSII417Derived), fullyQualifiedName: \\"jsii-calc.IJSII417Derived\\")] + internal sealed class IJSII417DerivedProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IJSII417Derived + { + private IJSII417DerivedProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"property\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Property + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"hasRoot\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public bool HasRoot + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"bar\\")] + public void Bar() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"baz\\")] + public void Baz() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"foo\\")] + public void Foo() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417PublicBaseOfBase.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IJSII417PublicBaseOfBase), fullyQualifiedName: \\"jsii-calc.IJSII417PublicBaseOfBase\\")] + public interface IJSII417PublicBaseOfBase + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"hasRoot\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + bool HasRoot + { + get; + } + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"foo\\")] + void Foo(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417PublicBaseOfBaseProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IJSII417PublicBaseOfBase), fullyQualifiedName: \\"jsii-calc.IJSII417PublicBaseOfBase\\")] + internal sealed class IJSII417PublicBaseOfBaseProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IJSII417PublicBaseOfBase + { + private IJSII417PublicBaseOfBaseProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"hasRoot\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public bool HasRoot + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"foo\\")] + public void Foo() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487External.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IJsii487External), fullyQualifiedName: \\"jsii-calc.IJsii487External\\")] + public interface IJsii487External + { + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487External2.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IJsii487External2), fullyQualifiedName: \\"jsii-calc.IJsii487External2\\")] + public interface IJsii487External2 + { + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487External2Proxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IJsii487External2), fullyQualifiedName: \\"jsii-calc.IJsii487External2\\")] + internal sealed class IJsii487External2Proxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IJsii487External2 + { + private IJsii487External2Proxy(ByRefValue reference): base(reference) + { + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487ExternalProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IJsii487External), fullyQualifiedName: \\"jsii-calc.IJsii487External\\")] + internal sealed class IJsii487ExternalProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IJsii487External + { + private IJsii487ExternalProxy(ByRefValue reference): base(reference) + { + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii496.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IJsii496), fullyQualifiedName: \\"jsii-calc.IJsii496\\")] + public interface IJsii496 + { + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii496Proxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IJsii496), fullyQualifiedName: \\"jsii-calc.IJsii496\\")] + internal sealed class IJsii496Proxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IJsii496 + { + private IJsii496Proxy(ByRefValue reference): base(reference) + { + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ILoadBalancedFargateServiceProps.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// jsii#298: show default values in sphinx documentation, and respect newlines. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(ILoadBalancedFargateServiceProps), fullyQualifiedName: \\"jsii-calc.LoadBalancedFargateServiceProps\\")] + public interface ILoadBalancedFargateServiceProps + { + /// The container port of the application load balancer attached to your Fargate service. + /// + /// Corresponds to container port mapping. + /// + /// Default: 80 + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"containerPort\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + double? ContainerPort + { + get + { + return null; + } + } + + /// 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 + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"cpu\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? Cpu + { + get + { + return null; + } + } + + /// 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 + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"memoryMiB\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? MemoryMiB + { + get + { + return null; + } + } + + /// Determines whether the Application Load Balancer will be internet-facing. + /// + /// Default: true + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"publicLoadBalancer\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + bool? PublicLoadBalancer + { + get + { + return null; + } + } + + /// Determines whether your Fargate Service will be assigned a public IP address. + /// + /// Default: false + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"publicTasks\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + bool? PublicTasks + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IMutableObjectLiteral.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IMutableObjectLiteral), fullyQualifiedName: \\"jsii-calc.IMutableObjectLiteral\\")] + public interface IMutableObjectLiteral + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string Value + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IMutableObjectLiteralProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IMutableObjectLiteral), fullyQualifiedName: \\"jsii-calc.IMutableObjectLiteral\\")] + internal sealed class IMutableObjectLiteralProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IMutableObjectLiteral + { + private IMutableObjectLiteralProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Value + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INestedStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(INestedStruct), fullyQualifiedName: \\"jsii-calc.NestedStruct\\")] + public interface INestedStruct + { + /// When provided, must be > 0. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"numberProp\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + double NumberProp + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INonInternalInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(INonInternalInterface), fullyQualifiedName: \\"jsii-calc.INonInternalInterface\\")] + public interface INonInternalInterface : Amazon.JSII.Tests.CalculatorNamespace.IAnotherPublicInterface + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"b\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string B + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"c\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string C + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INonInternalInterfaceProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(INonInternalInterface), fullyQualifiedName: \\"jsii-calc.INonInternalInterface\\")] + internal sealed class INonInternalInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.INonInternalInterface + { + private INonInternalInterfaceProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"b\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string B + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"c\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string C + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"a\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string A + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INullShouldBeTreatedAsUndefinedData.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(INullShouldBeTreatedAsUndefinedData), fullyQualifiedName: \\"jsii-calc.NullShouldBeTreatedAsUndefinedData\\")] + public interface INullShouldBeTreatedAsUndefinedData + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"arrayWithThreeElementsAndUndefinedAsSecondArgument\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + object[] ArrayWithThreeElementsAndUndefinedAsSecondArgument + { + get; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"thisShouldBeUndefined\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + object? ThisShouldBeUndefined + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IObjectWithProperty.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Make sure that setters are properly called on objects with interfaces. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IObjectWithProperty), fullyQualifiedName: \\"jsii-calc.IObjectWithProperty\\")] + public interface IObjectWithProperty + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"property\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string Property + { + get; + set; + } + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"wasSet\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\")] + bool WasSet(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IObjectWithPropertyProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Make sure that setters are properly called on objects with interfaces. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IObjectWithProperty), fullyQualifiedName: \\"jsii-calc.IObjectWithProperty\\")] + internal sealed class IObjectWithPropertyProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IObjectWithProperty + { + private IObjectWithPropertyProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"property\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Property + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"wasSet\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\")] + public bool WasSet() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IOptionalMethod.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Checks that optional result from interface method code generates correctly. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IOptionalMethod), fullyQualifiedName: \\"jsii-calc.IOptionalMethod\\")] + public interface IOptionalMethod + { + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"optional\\", returnsJson: \\"{\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + string? Optional(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IOptionalMethodProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Checks that optional result from interface method code generates correctly. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IOptionalMethod), fullyQualifiedName: \\"jsii-calc.IOptionalMethod\\")] + internal sealed class IOptionalMethodProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IOptionalMethod + { + private IOptionalMethodProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"optional\\", returnsJson: \\"{\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public string? Optional() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IOptionalStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IOptionalStruct), fullyQualifiedName: \\"jsii-calc.OptionalStruct\\")] + public interface IOptionalStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"field\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? Field + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IParentStruct982.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// https://github.com/aws/jsii/issues/982. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IParentStruct982), fullyQualifiedName: \\"jsii-calc.ParentStruct982\\")] + public interface IParentStruct982 + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string Foo + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPrivatelyImplemented.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IPrivatelyImplemented), fullyQualifiedName: \\"jsii-calc.IPrivatelyImplemented\\")] + public interface IPrivatelyImplemented + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"success\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + bool Success + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPrivatelyImplementedProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IPrivatelyImplemented), fullyQualifiedName: \\"jsii-calc.IPrivatelyImplemented\\")] + internal sealed class IPrivatelyImplementedProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IPrivatelyImplemented + { + private IPrivatelyImplementedProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"success\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public bool Success + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IPublicInterface), fullyQualifiedName: \\"jsii-calc.IPublicInterface\\")] + public interface IPublicInterface + { + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"bye\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + string Bye(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterface2.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IPublicInterface2), fullyQualifiedName: \\"jsii-calc.IPublicInterface2\\")] + public interface IPublicInterface2 + { + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"ciao\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + string Ciao(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterface2Proxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IPublicInterface2), fullyQualifiedName: \\"jsii-calc.IPublicInterface2\\")] + internal sealed class IPublicInterface2Proxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface2 + { + private IPublicInterface2Proxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"ciao\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public string Ciao() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterfaceProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IPublicInterface), fullyQualifiedName: \\"jsii-calc.IPublicInterface\\")] + internal sealed class IPublicInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface + { + private IPublicInterfaceProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"bye\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public string Bye() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IRandomNumberGenerator.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Generates random numbers. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IRandomNumberGenerator), fullyQualifiedName: \\"jsii-calc.IRandomNumberGenerator\\")] + public interface IRandomNumberGenerator + { + /// Returns another random number. + /// A random number. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"next\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\")] + double Next(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IRandomNumberGeneratorProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Generates random numbers. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IRandomNumberGenerator), fullyQualifiedName: \\"jsii-calc.IRandomNumberGenerator\\")] + internal sealed class IRandomNumberGeneratorProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IRandomNumberGenerator + { + private IRandomNumberGeneratorProxy(ByRefValue reference): base(reference) + { + } + + /// Returns another random number. + /// A random number. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"next\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\")] + public double Next() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnJsii976.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Returns a subclass of a known class which implements an interface. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IReturnJsii976), fullyQualifiedName: \\"jsii-calc.IReturnJsii976\\")] + public interface IReturnJsii976 + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + double Foo + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnJsii976Proxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Returns a subclass of a known class which implements an interface. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IReturnJsii976), fullyQualifiedName: \\"jsii-calc.IReturnJsii976\\")] + internal sealed class IReturnJsii976Proxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IReturnJsii976 + { + private IReturnJsii976Proxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public double Foo + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnsNumber.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IReturnsNumber), fullyQualifiedName: \\"jsii-calc.IReturnsNumber\\")] + public interface IReturnsNumber + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"numberProp\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Number\\\\\\"}\\")] + Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Number NumberProp + { + get; + } + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"obtainNumber\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.IDoublable\\\\\\"}}\\")] + Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IDoublable ObtainNumber(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnsNumberProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IReturnsNumber), fullyQualifiedName: \\"jsii-calc.IReturnsNumber\\")] + internal sealed class IReturnsNumberProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IReturnsNumber + { + private IReturnsNumberProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"numberProp\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Number\\\\\\"}\\")] + public Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Number NumberProp + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"obtainNumber\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.IDoublable\\\\\\"}}\\")] + public Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IDoublable ObtainNumber() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IRootStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// This is here to check that we can pass a nested struct into a kwargs by specifying it as an in-line dictionary. + /// + /// This is cheating with the (current) declared types, but this is the \\"more + /// idiomatic\\" way for Pythonists. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IRootStruct), fullyQualifiedName: \\"jsii-calc.RootStruct\\")] + public interface IRootStruct + { + /// May not be empty. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"stringProp\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string StringProp + { + get; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"nestedStruct\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.NestedStruct\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + Amazon.JSII.Tests.CalculatorNamespace.INestedStruct? NestedStruct + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ISecondLevelStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(ISecondLevelStruct), fullyQualifiedName: \\"jsii-calc.SecondLevelStruct\\")] + public interface ISecondLevelStruct + { + /// It's long and required. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"deeperRequiredProp\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string DeeperRequiredProp + { + get; + } + + /// It's long, but you'll almost never pass it. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"deeperOptionalProp\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? DeeperOptionalProp + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ISmellyStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(ISmellyStruct), fullyQualifiedName: \\"jsii-calc.SmellyStruct\\")] + public interface ISmellyStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"property\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string Property + { + get; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"yetAnoterOne\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + bool YetAnoterOne + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStableInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + [JsiiInterface(nativeType: typeof(IStableInterface), fullyQualifiedName: \\"jsii-calc.IStableInterface\\")] + public interface IStableInterface + { + [JsiiProperty(name: \\"mutableProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + double? MutableProperty + { + get + { + return null; + } + set + { + throw new System.NotSupportedException(\\"'set' for 'MutableProperty' is not implemented\\"); + } + } + [JsiiMethod(name: \\"method\\")] + void Method(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStableInterfaceProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + [JsiiTypeProxy(nativeType: typeof(IStableInterface), fullyQualifiedName: \\"jsii-calc.IStableInterface\\")] + internal sealed class IStableInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IStableInterface + { + private IStableInterfaceProxy(ByRefValue reference): base(reference) + { + } + + [JsiiOptional] + [JsiiProperty(name: \\"mutableProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + public double? MutableProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + [JsiiMethod(name: \\"method\\")] + public void Method() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStableStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + [JsiiInterface(nativeType: typeof(IStableStruct), fullyQualifiedName: \\"jsii-calc.StableStruct\\")] + public interface IStableStruct + { + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string ReadonlyProperty + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructA.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// We can serialize and deserialize structs without silently ignoring optional fields. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IStructA), fullyQualifiedName: \\"jsii-calc.StructA\\")] + public interface IStructA + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"requiredString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string RequiredString + { + get; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"optionalNumber\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + double? OptionalNumber + { + get + { + return null; + } + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"optionalString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? OptionalString + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructB.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// This intentionally overlaps with StructA (where only requiredString is provided) to test htat the kernel properly disambiguates those. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IStructB), fullyQualifiedName: \\"jsii-calc.StructB\\")] + public interface IStructB + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"requiredString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string RequiredString + { + get; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"optionalBoolean\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + bool? OptionalBoolean + { + get + { + return null; + } + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"optionalStructA\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StructA\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + Amazon.JSII.Tests.CalculatorNamespace.IStructA? OptionalStructA + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructParameterType.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Verifies that, in languages that do keyword lifting (e.g: Python), having a struct member with the same name as a positional parameter results in the correct code being emitted. + /// + /// See: https://github.com/aws/aws-cdk/issues/4302 + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IStructParameterType), fullyQualifiedName: \\"jsii-calc.StructParameterType\\")] + public interface IStructParameterType + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"scope\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string Scope + { + get; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"props\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + bool? Props + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructReturningDelegate.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Verifies that a \\"pure\\" implementation of an interface works correctly. + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IStructReturningDelegate), fullyQualifiedName: \\"jsii-calc.IStructReturningDelegate\\")] + public interface IStructReturningDelegate + { + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"returnStruct\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StructB\\\\\\"}}\\")] + Amazon.JSII.Tests.CalculatorNamespace.IStructB ReturnStruct(); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructReturningDelegateProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Verifies that a \\"pure\\" implementation of an interface works correctly. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IStructReturningDelegate), fullyQualifiedName: \\"jsii-calc.IStructReturningDelegate\\")] + internal sealed class IStructReturningDelegateProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IStructReturningDelegate + { + private IStructReturningDelegateProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"returnStruct\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StructB\\\\\\"}}\\")] + public Amazon.JSII.Tests.CalculatorNamespace.IStructB ReturnStruct() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructWithJavaReservedWords.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IStructWithJavaReservedWords), fullyQualifiedName: \\"jsii-calc.StructWithJavaReservedWords\\")] + public interface IStructWithJavaReservedWords + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"default\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string Default + { + get; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"assert\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? Assert + { + get + { + return null; + } + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"result\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? Result + { + get + { + return null; + } + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"that\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? That + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ISupportsNiceJavaBuilderProps.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(ISupportsNiceJavaBuilderProps), fullyQualifiedName: \\"jsii-calc.SupportsNiceJavaBuilderProps\\")] + public interface ISupportsNiceJavaBuilderProps + { + /// Some number, like 42. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + double Bar + { + get; + } + + /// 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. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"id\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? Id + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ITopLevelStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(ITopLevelStruct), fullyQualifiedName: \\"jsii-calc.TopLevelStruct\\")] + public interface ITopLevelStruct + { + /// This is a required field. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"required\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string Required + { + get; + } + + /// A union to really stress test our serialization. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"secondLevel\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.SecondLevelStruct\\\\\\"}]}}\\")] + object SecondLevel + { + get; + } + + /// You don't have to pass this. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"optional\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? Optional + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IUnionProperties.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IUnionProperties), fullyQualifiedName: \\"jsii-calc.UnionProperties\\")] + public interface IUnionProperties + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.AllTypes\\\\\\"}]}}\\")] + object Bar + { + get; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}]}}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + object? Foo + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementInternalInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ImplementInternalInterface), fullyQualifiedName: \\"jsii-calc.ImplementInternalInterface\\")] + public class ImplementInternalInterface : DeputyBase + { + /// + /// Stability: Experimental + /// + public ImplementInternalInterface(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ImplementInternalInterface(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ImplementInternalInterface(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"prop\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string Prop + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Implementation.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Implementation), fullyQualifiedName: \\"jsii-calc.Implementation\\")] + public class Implementation : DeputyBase + { + /// + /// Stability: Experimental + /// + public Implementation(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Implementation(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Implementation(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public virtual double Value + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementsInterfaceWithInternal.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ImplementsInterfaceWithInternal), fullyQualifiedName: \\"jsii-calc.ImplementsInterfaceWithInternal\\")] + public class ImplementsInterfaceWithInternal : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithInternal + { + /// + /// Stability: Experimental + /// + public ImplementsInterfaceWithInternal(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ImplementsInterfaceWithInternal(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ImplementsInterfaceWithInternal(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"visible\\", isOverride: true)] + public virtual void Visible() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementsInterfaceWithInternalSubclass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ImplementsInterfaceWithInternalSubclass), fullyQualifiedName: \\"jsii-calc.ImplementsInterfaceWithInternalSubclass\\")] + public class ImplementsInterfaceWithInternalSubclass : Amazon.JSII.Tests.CalculatorNamespace.ImplementsInterfaceWithInternal + { + /// + /// Stability: Experimental + /// + public ImplementsInterfaceWithInternalSubclass(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ImplementsInterfaceWithInternalSubclass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ImplementsInterfaceWithInternalSubclass(DeputyProps props): base(props) + { + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementsPrivateInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ImplementsPrivateInterface), fullyQualifiedName: \\"jsii-calc.ImplementsPrivateInterface\\")] + public class ImplementsPrivateInterface : DeputyBase + { + /// + /// Stability: Experimental + /// + public ImplementsPrivateInterface(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ImplementsPrivateInterface(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ImplementsPrivateInterface(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"private\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string Private + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplictBaseOfBase.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.ImplictBaseOfBase\\")] + public class ImplictBaseOfBase : Amazon.JSII.Tests.CalculatorNamespace.IImplictBaseOfBase + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"goo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}\\", isOverride: true)] + public System.DateTime Goo + { + get; + set; + } + + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string Bar + { + get; + set; + } + + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-base-of-base.Very\\\\\\"}\\", isOverride: true)] + public Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very Foo + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplictBaseOfBaseProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IImplictBaseOfBase), fullyQualifiedName: \\"jsii-calc.ImplictBaseOfBase\\")] + internal sealed class ImplictBaseOfBaseProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IImplictBaseOfBase + { + private ImplictBaseOfBaseProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"goo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}\\")] + public System.DateTime Goo + { + get => GetInstanceProperty(); + } + + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Bar + { + get => GetInstanceProperty(); + } + + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-base-of-base.Very\\\\\\"}\\")] + public Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very Foo + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InbetweenClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.InbetweenClass), fullyQualifiedName: \\"jsii-calc.InbetweenClass\\")] + public class InbetweenClass : Amazon.JSII.Tests.CalculatorNamespace.PublicClass, Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface2 + { + /// + /// Stability: Experimental + /// + public InbetweenClass(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected InbetweenClass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected InbetweenClass(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"ciao\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + public virtual string Ciao() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceCollections.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Verifies that collections of interfaces or structs are correctly handled. + /// + /// See: https://github.com/aws/jsii/issues/1196 + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfaceCollections), fullyQualifiedName: \\"jsii-calc.InterfaceCollections\\")] + public class InterfaceCollections : DeputyBase + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected InterfaceCollections(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected InterfaceCollections(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"listOfInterfaces\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IBell\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.IBell[] ListOfInterfaces() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfaceCollections), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"listOfStructs\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StructA\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.IStructA[] ListOfStructs() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfaceCollections), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"mapOfInterfaces\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IBell\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}}\\")] + public static System.Collections.Generic.IDictionary MapOfInterfaces() + { + return InvokeStaticMethod>(typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfaceCollections), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"mapOfStructs\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StructA\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}}\\")] + public static System.Collections.Generic.IDictionary MapOfStructs() + { + return InvokeStaticMethod>(typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfaceCollections), new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/Foo.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceIncludesClasses +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceIncludesClasses.Foo), fullyQualifiedName: \\"jsii-calc.InterfaceInNamespaceIncludesClasses.Foo\\")] + public class Foo : DeputyBase + { + /// + /// Stability: Experimental + /// + public Foo(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Foo(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Foo(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public virtual string? Bar + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/Hello.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceIncludesClasses +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.InterfaceInNamespaceIncludesClasses.Hello\\")] + public class Hello : Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceIncludesClasses.IHello + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOverride: true)] + public double Foo + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/HelloProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceIncludesClasses +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IHello), fullyQualifiedName: \\"jsii-calc.InterfaceInNamespaceIncludesClasses.Hello\\")] + internal sealed class HelloProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceIncludesClasses.IHello + { + private HelloProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public double Foo + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/IHello.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceIncludesClasses +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IHello), fullyQualifiedName: \\"jsii-calc.InterfaceInNamespaceIncludesClasses.Hello\\")] + public interface IHello + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + double Foo + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceOnlyInterface/Hello.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceOnlyInterface +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.InterfaceInNamespaceOnlyInterface.Hello\\")] + public class Hello : Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceOnlyInterface.IHello + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOverride: true)] + public double Foo + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceOnlyInterface/HelloProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceOnlyInterface +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IHello), fullyQualifiedName: \\"jsii-calc.InterfaceInNamespaceOnlyInterface.Hello\\")] + internal sealed class HelloProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceOnlyInterface.IHello + { + private HelloProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public double Foo + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceOnlyInterface/IHello.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceOnlyInterface +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IHello), fullyQualifiedName: \\"jsii-calc.InterfaceInNamespaceOnlyInterface.Hello\\")] + public interface IHello + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + double Foo + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfacesMaker.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// We can return arrays of interfaces See aws/aws-cdk#2362. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfacesMaker), fullyQualifiedName: \\"jsii-calc.InterfacesMaker\\")] + public class InterfacesMaker : DeputyBase + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected InterfacesMaker(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected InterfacesMaker(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"makeInterfaces\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.IDoublable\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"count\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IDoublable[] MakeInterfaces(double count) + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfacesMaker), new System.Type[]{typeof(double)}, new object[]{count}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Internal/DependencyResolution/Anchor.cs 1`] = ` +Object { + Symbol(file): "#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Internal.DependencyResolution +{ + public sealed class Anchor + { + public Anchor() + { + new Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Internal.DependencyResolution.Anchor(); + new Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Internal.DependencyResolution.Anchor(); + new Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Internal.DependencyResolution.Anchor(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Isomorphism.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Checks the \\"same instance\\" isomorphism is preserved within the constructor. + /// + /// Create a subclass of this, and assert that this.myself() actually returns + /// this from within the constructor. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Isomorphism), fullyQualifiedName: \\"jsii-calc.Isomorphism\\")] + public abstract class Isomorphism : DeputyBase + { + /// + /// Stability: Experimental + /// + protected Isomorphism(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Isomorphism(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Isomorphism(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"myself\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.Isomorphism\\\\\\"}}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.Isomorphism Myself() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IsomorphismProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Checks the \\"same instance\\" isomorphism is preserved within the constructor. + /// + /// Create a subclass of this, and assert that this.myself() actually returns + /// this from within the constructor. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Isomorphism), fullyQualifiedName: \\"jsii-calc.Isomorphism\\")] + internal sealed class IsomorphismProxy : Amazon.JSII.Tests.CalculatorNamespace.Isomorphism + { + private IsomorphismProxy(ByRefValue reference): base(reference) + { + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSII417Derived.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JSII417Derived), fullyQualifiedName: \\"jsii-calc.JSII417Derived\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"property\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public class JSII417Derived : Amazon.JSII.Tests.CalculatorNamespace.JSII417PublicBaseOfBase + { + /// + /// Stability: Experimental + /// + public JSII417Derived(string property): base(new DeputyProps(new object[]{property})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JSII417Derived(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JSII417Derived(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"bar\\")] + public virtual void Bar() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"baz\\")] + public virtual void Baz() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"property\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + protected virtual string Property + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSII417PublicBaseOfBase.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JSII417PublicBaseOfBase), fullyQualifiedName: \\"jsii-calc.JSII417PublicBaseOfBase\\")] + public class JSII417PublicBaseOfBase : DeputyBase + { + /// + /// Stability: Experimental + /// + public JSII417PublicBaseOfBase(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JSII417PublicBaseOfBase(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JSII417PublicBaseOfBase(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"makeInstance\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.JSII417PublicBaseOfBase\\\\\\"}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.JSII417PublicBaseOfBase MakeInstance() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JSII417PublicBaseOfBase), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"foo\\")] + public virtual void Foo() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"hasRoot\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public virtual bool HasRoot + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSObjectLiteralForInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JSObjectLiteralForInterface), fullyQualifiedName: \\"jsii-calc.JSObjectLiteralForInterface\\")] + public class JSObjectLiteralForInterface : DeputyBase + { + /// + /// Stability: Experimental + /// + public JSObjectLiteralForInterface(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JSObjectLiteralForInterface(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JSObjectLiteralForInterface(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"giveMeFriendly\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.IFriendly\\\\\\"}}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly GiveMeFriendly() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"giveMeFriendlyGenerator\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IFriendlyRandomGenerator\\\\\\"}}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.IFriendlyRandomGenerator GiveMeFriendlyGenerator() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSObjectLiteralToNative.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JSObjectLiteralToNative), fullyQualifiedName: \\"jsii-calc.JSObjectLiteralToNative\\")] + public class JSObjectLiteralToNative : DeputyBase + { + /// + /// Stability: Experimental + /// + public JSObjectLiteralToNative(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JSObjectLiteralToNative(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JSObjectLiteralToNative(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"returnLiteral\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.JSObjectLiteralToNativeClass\\\\\\"}}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.JSObjectLiteralToNativeClass ReturnLiteral() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSObjectLiteralToNativeClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JSObjectLiteralToNativeClass), fullyQualifiedName: \\"jsii-calc.JSObjectLiteralToNativeClass\\")] + public class JSObjectLiteralToNativeClass : DeputyBase + { + /// + /// Stability: Experimental + /// + public JSObjectLiteralToNativeClass(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JSObjectLiteralToNativeClass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JSObjectLiteralToNativeClass(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"propA\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string PropA + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"propB\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public virtual double PropB + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JavaReservedWords.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JavaReservedWords), fullyQualifiedName: \\"jsii-calc.JavaReservedWords\\")] + public class JavaReservedWords : DeputyBase + { + /// + /// Stability: Experimental + /// + public JavaReservedWords(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JavaReservedWords(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JavaReservedWords(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"abstract\\")] + public virtual void Abstract() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"assert\\")] + public virtual void Assert() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"boolean\\")] + public virtual void Boolean() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"break\\")] + public virtual void Break() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"byte\\")] + public virtual void Byte() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"case\\")] + public virtual void Case() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"catch\\")] + public virtual void Catch() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"char\\")] + public virtual void Char() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"class\\")] + public virtual void Class() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"const\\")] + public virtual void Const() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"continue\\")] + public virtual void Continue() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"default\\")] + public virtual void Default() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"do\\")] + public virtual void Do() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"double\\")] + public virtual void Double() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"else\\")] + public virtual void Else() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"enum\\")] + public virtual void Enum() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"extends\\")] + public virtual void Extends() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"false\\")] + public virtual void False() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"final\\")] + public virtual void Final() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"finally\\")] + public virtual void Finally() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"float\\")] + public virtual void Float() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"for\\")] + public virtual void For() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"goto\\")] + public virtual void Goto() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"if\\")] + public virtual void If() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"implements\\")] + public virtual void Implements() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"import\\")] + public virtual void Import() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"instanceof\\")] + public virtual void Instanceof() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"int\\")] + public virtual void Int() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"interface\\")] + public virtual void Interface() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"long\\")] + public virtual void Long() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"native\\")] + public virtual void Native() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"new\\")] + public virtual void New() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"null\\")] + public virtual void Null() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"package\\")] + public virtual void Package() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"private\\")] + public virtual void Private() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"protected\\")] + public virtual void Protected() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"public\\")] + public virtual void Public() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"return\\")] + public virtual void Return() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"short\\")] + public virtual void Short() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"static\\")] + public virtual void Static() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"strictfp\\")] + public virtual void Strictfp() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"super\\")] + public virtual void Super() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"switch\\")] + public virtual void Switch() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"synchronized\\")] + public virtual void Synchronized() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"this\\")] + public virtual void This() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"throw\\")] + public virtual void Throw() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"throws\\")] + public virtual void Throws() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"transient\\")] + public virtual void Transient() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"true\\")] + public virtual void True() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"try\\")] + public virtual void Try() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"void\\")] + public virtual void Void() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"volatile\\")] + public virtual void Volatile() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"while\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string While + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Jsii487Derived.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Jsii487Derived), fullyQualifiedName: \\"jsii-calc.Jsii487Derived\\")] + public class Jsii487Derived : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IJsii487External2, Amazon.JSII.Tests.CalculatorNamespace.IJsii487External + { + /// + /// Stability: Experimental + /// + public Jsii487Derived(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Jsii487Derived(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Jsii487Derived(DeputyProps props): base(props) + { + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Jsii496Derived.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Jsii496Derived), fullyQualifiedName: \\"jsii-calc.Jsii496Derived\\")] + public class Jsii496Derived : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IJsii496 + { + /// + /// Stability: Experimental + /// + public Jsii496Derived(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Jsii496Derived(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Jsii496Derived(DeputyProps props): base(props) + { + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JsiiAgent_.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Host runtime version should be set via JSII_AGENT. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JsiiAgent_), fullyQualifiedName: \\"jsii-calc.JsiiAgent\\")] + public class JsiiAgent_ : DeputyBase + { + /// + /// Stability: Experimental + /// + public JsiiAgent_(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JsiiAgent_(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JsiiAgent_(DeputyProps props): base(props) + { + } + + /// Returns the value of the JSII_AGENT environment variable. + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"jsiiAgent\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public static string? JsiiAgent + { + get => GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsiiAgent_)); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JsonFormatter.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Make sure structs are un-decorated on the way in. + /// + /// Stability: Experimental + /// + /// See: https://github.com/aws/aws-cdk/issues/5066 + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), fullyQualifiedName: \\"jsii-calc.JsonFormatter\\")] + public class JsonFormatter : DeputyBase + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JsonFormatter(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected JsonFormatter(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyArray\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public static object AnyArray() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyBooleanFalse\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public static object AnyBooleanFalse() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyBooleanTrue\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public static object AnyBooleanTrue() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyDate\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public static object AnyDate() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyEmptyString\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public static object AnyEmptyString() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyFunction\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public static object AnyFunction() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyHash\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public static object AnyHash() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyNull\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public static object AnyNull() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyNumber\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public static object AnyNumber() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyRef\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public static object AnyRef() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyString\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public static object AnyString() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyUndefined\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public static object AnyUndefined() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"anyZero\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public static object AnyZero() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"stringify\\", returnsJson: \\"{\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}]\\")] + public static string? Stringify(object? @value = null) + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{typeof(object)}, new object?[]{@value}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/LoadBalancedFargateServiceProps.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// jsii#298: show default values in sphinx documentation, and respect newlines. + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.LoadBalancedFargateServiceProps\\")] + public class LoadBalancedFargateServiceProps : Amazon.JSII.Tests.CalculatorNamespace.ILoadBalancedFargateServiceProps + { + /// The container port of the application load balancer attached to your Fargate service. + /// + /// Corresponds to container port mapping. + /// + /// Default: 80 + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"containerPort\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true, isOverride: true)] + public double? ContainerPort + { + get; + set; + } + + /// 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 + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"cpu\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + public string? Cpu + { + get; + set; + } + + /// 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 + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"memoryMiB\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + public string? MemoryMiB + { + get; + set; + } + + /// Determines whether the Application Load Balancer will be internet-facing. + /// + /// Default: true + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"publicLoadBalancer\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true, isOverride: true)] + public bool? PublicLoadBalancer + { + get; + set; + } + + /// Determines whether your Fargate Service will be assigned a public IP address. + /// + /// Default: false + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"publicTasks\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true, isOverride: true)] + public bool? PublicTasks + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/LoadBalancedFargateServicePropsProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// jsii#298: show default values in sphinx documentation, and respect newlines. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(ILoadBalancedFargateServiceProps), fullyQualifiedName: \\"jsii-calc.LoadBalancedFargateServiceProps\\")] + internal sealed class LoadBalancedFargateServicePropsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.ILoadBalancedFargateServiceProps + { + private LoadBalancedFargateServicePropsProxy(ByRefValue reference): base(reference) + { + } + + /// The container port of the application load balancer attached to your Fargate service. + /// + /// Corresponds to container port mapping. + /// + /// Default: 80 + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"containerPort\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + public double? ContainerPort + { + get => GetInstanceProperty(); + } + + /// 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 + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"cpu\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public string? Cpu + { + get => GetInstanceProperty(); + } + + /// 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 + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"memoryMiB\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public string? MemoryMiB + { + get => GetInstanceProperty(); + } + + /// Determines whether the Application Load Balancer will be internet-facing. + /// + /// Default: true + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"publicLoadBalancer\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] + public bool? PublicLoadBalancer + { + get => GetInstanceProperty(); + } + + /// Determines whether your Fargate Service will be assigned a public IP address. + /// + /// Default: false + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"publicTasks\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] + public bool? PublicTasks + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/MethodNamedProperty.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.MethodNamedProperty), fullyQualifiedName: \\"jsii-calc.MethodNamedProperty\\")] + public class MethodNamedProperty : DeputyBase + { + /// + /// Stability: Experimental + /// + public MethodNamedProperty(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected MethodNamedProperty(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected MethodNamedProperty(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"property\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public virtual string Property() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"elite\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public virtual double Elite + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Multiply.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// The \\"*\\" binary operation. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Multiply), fullyQualifiedName: \\"jsii-calc.Multiply\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"Left-hand side operand.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"lhs\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}},{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"Right-hand side operand.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"rhs\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}}]\\")] + public class Multiply : Amazon.JSII.Tests.CalculatorNamespace.BinaryOperation, Amazon.JSII.Tests.CalculatorNamespace.IFriendlier, Amazon.JSII.Tests.CalculatorNamespace.IRandomNumberGenerator + { + /// Creates a BinaryOperation. + /// Left-hand side operand. + /// Right-hand side operand. + /// + /// Stability: Experimental + /// + public Multiply(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ lhs, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ rhs): base(new DeputyProps(new object[]{lhs, rhs})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Multiply(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Multiply(DeputyProps props): base(props) + { + } + + /// Say farewell. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"farewell\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + public virtual string Farewell() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Say goodbye. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"goodbye\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + public virtual string Goodbye() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Returns another random number. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"next\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", isOverride: true)] + public virtual double Next() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// String representation of the value. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"toString\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + public override string ToString() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// The value. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public override double Value + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NamespaceDoc.cs 1`] = ` +Object { + Symbol(file): "#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + ///

jsii Calculator

+ /// + /// This library is used to demonstrate and test the features of JSII + /// + ///

How to use running sum API:

+ /// + /// First, create a calculator: + /// + /// + /// + /// Then call some operations: + /// + /// + /// + ///

Code Samples

+ /// + /// + ///
+ [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + public class NamespaceDoc + { + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Negate.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// The negation operation (\\"-value\\"). + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Negate), fullyQualifiedName: \\"jsii-calc.Negate\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"operand\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}}]\\")] + public class Negate : Amazon.JSII.Tests.CalculatorNamespace.UnaryOperation, Amazon.JSII.Tests.CalculatorNamespace.IFriendlier + { + /// + /// Stability: Experimental + /// + public Negate(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ operand): base(new DeputyProps(new object[]{operand})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Negate(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Negate(DeputyProps props): base(props) + { + } + + /// Say farewell. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"farewell\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + public virtual string Farewell() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Say goodbye. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"goodbye\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + public virtual string Goodbye() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Say hello! + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"hello\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + public virtual string Hello() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// String representation of the value. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"toString\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + public override string ToString() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// The value. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public override double Value + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NestedStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.NestedStruct\\")] + public class NestedStruct : Amazon.JSII.Tests.CalculatorNamespace.INestedStruct + { + /// When provided, must be > 0. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"numberProp\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOverride: true)] + public double NumberProp + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NestedStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(INestedStruct), fullyQualifiedName: \\"jsii-calc.NestedStruct\\")] + internal sealed class NestedStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.INestedStruct + { + private NestedStructProxy(ByRefValue reference): base(reference) + { + } + + /// When provided, must be > 0. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"numberProp\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public double NumberProp + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NodeStandardLibrary.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Test fixture to verify that jsii modules can use the node standard library. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.NodeStandardLibrary), fullyQualifiedName: \\"jsii-calc.NodeStandardLibrary\\")] + public class NodeStandardLibrary : DeputyBase + { + /// + /// Stability: Experimental + /// + public NodeStandardLibrary(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected NodeStandardLibrary(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected NodeStandardLibrary(DeputyProps props): base(props) + { + } + + /// Uses node.js \\"crypto\\" module to calculate sha256 of a string. + /// \\"6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50\\" + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"cryptoSha256\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public virtual string CryptoSha256() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Reads a local resource file (resource.txt) asynchronously. + /// \\"Hello, resource!\\" + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"fsReadFile\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isAsync: true)] + public virtual string FsReadFile() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Sync version of fsReadFile. + /// \\"Hello, resource! SYNC!\\" + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"fsReadFileSync\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public virtual string FsReadFileSync() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Returns the current os.platform() from the \\"os\\" node module. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"osPlatform\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string OsPlatform + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefined.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// jsii#282, aws-cdk#157: null should be treated as \\"undefined\\". + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.NullShouldBeTreatedAsUndefined), fullyQualifiedName: \\"jsii-calc.NullShouldBeTreatedAsUndefined\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"_param1\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"optional\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}]\\")] + public class NullShouldBeTreatedAsUndefined : DeputyBase + { + /// + /// Stability: Experimental + /// + public NullShouldBeTreatedAsUndefined(string param1, object? optional = null): base(new DeputyProps(new object?[]{param1, optional})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected NullShouldBeTreatedAsUndefined(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected NullShouldBeTreatedAsUndefined(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"giveMeUndefined\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}]\\")] + public virtual void GiveMeUndefined(object? @value = null) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(object)}, new object?[]{@value}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"giveMeUndefinedInsideAnObject\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"input\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.NullShouldBeTreatedAsUndefinedData\\\\\\"}}]\\")] + public virtual void GiveMeUndefinedInsideAnObject(Amazon.JSII.Tests.CalculatorNamespace.INullShouldBeTreatedAsUndefinedData input) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.INullShouldBeTreatedAsUndefinedData)}, new object[]{input}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"verifyPropertyIsUndefined\\")] + public virtual void VerifyPropertyIsUndefined() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"changeMeToUndefined\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public virtual string? ChangeMeToUndefined + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefinedData.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.NullShouldBeTreatedAsUndefinedData\\")] + public class NullShouldBeTreatedAsUndefinedData : Amazon.JSII.Tests.CalculatorNamespace.INullShouldBeTreatedAsUndefinedData + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"arrayWithThreeElementsAndUndefinedAsSecondArgument\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOverride: true)] + public object[] ArrayWithThreeElementsAndUndefinedAsSecondArgument + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"thisShouldBeUndefined\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}\\", isOptional: true, isOverride: true)] + public object? ThisShouldBeUndefined + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefinedDataProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(INullShouldBeTreatedAsUndefinedData), fullyQualifiedName: \\"jsii-calc.NullShouldBeTreatedAsUndefinedData\\")] + internal sealed class NullShouldBeTreatedAsUndefinedDataProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.INullShouldBeTreatedAsUndefinedData + { + private NullShouldBeTreatedAsUndefinedDataProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"arrayWithThreeElementsAndUndefinedAsSecondArgument\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + public object[] ArrayWithThreeElementsAndUndefinedAsSecondArgument + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"thisShouldBeUndefined\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}\\", isOptional: true)] + public object? ThisShouldBeUndefined + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NumberGenerator.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// This allows us to test that a reference can be stored for objects that implement interfaces. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.NumberGenerator), fullyQualifiedName: \\"jsii-calc.NumberGenerator\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"generator\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IRandomNumberGenerator\\\\\\"}}]\\")] + public class NumberGenerator : DeputyBase + { + /// + /// Stability: Experimental + /// + public NumberGenerator(Amazon.JSII.Tests.CalculatorNamespace.IRandomNumberGenerator generator): base(new DeputyProps(new object[]{generator})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected NumberGenerator(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected NumberGenerator(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"isSameGenerator\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"gen\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IRandomNumberGenerator\\\\\\"}}]\\")] + public virtual bool IsSameGenerator(Amazon.JSII.Tests.CalculatorNamespace.IRandomNumberGenerator gen) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IRandomNumberGenerator)}, new object[]{gen}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"nextTimes100\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\")] + public virtual double NextTimes100() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"generator\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IRandomNumberGenerator\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.IRandomNumberGenerator Generator + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ObjectRefsInCollections.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Verify that object references can be passed inside collections. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ObjectRefsInCollections), fullyQualifiedName: \\"jsii-calc.ObjectRefsInCollections\\")] + public class ObjectRefsInCollections : DeputyBase + { + /// + /// Stability: Experimental + /// + public ObjectRefsInCollections(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ObjectRefsInCollections(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ObjectRefsInCollections(DeputyProps props): base(props) + { + } + + /// Returns the sum of all values. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"sumFromArray\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"values\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}}]\\")] + public virtual double SumFromArray(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_[] values) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_[])}, new object[]{values}); + } + + /// Returns the sum of all values in a map. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"sumFromMap\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"values\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}}]\\")] + public virtual double SumFromMap(System.Collections.Generic.IDictionary values) + { + return InvokeInstanceMethod(new System.Type[]{typeof(System.Collections.Generic.IDictionary)}, new object[]{values}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ObjectWithPropertyProvider.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ObjectWithPropertyProvider), fullyQualifiedName: \\"jsii-calc.ObjectWithPropertyProvider\\")] + public class ObjectWithPropertyProvider : DeputyBase + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ObjectWithPropertyProvider(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ObjectWithPropertyProvider(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"provide\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IObjectWithProperty\\\\\\"}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.IObjectWithProperty Provide() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ObjectWithPropertyProvider), new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Old.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Old class. + /// + /// Stability: Deprecated + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Old), fullyQualifiedName: \\"jsii-calc.Old\\")] + [System.Obsolete(\\"Use the new class\\")] + public class Old : DeputyBase + { + /// + /// Stability: Experimental + /// + public Old(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Old(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Old(DeputyProps props): base(props) + { + } + + /// Doo wop that thing. + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"doAThing\\")] + [System.Obsolete()] + public virtual void DoAThing() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalArgumentInvoker.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.OptionalArgumentInvoker), fullyQualifiedName: \\"jsii-calc.OptionalArgumentInvoker\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"delegate\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IInterfaceWithOptionalMethodArguments\\\\\\"}}]\\")] + public class OptionalArgumentInvoker : DeputyBase + { + /// + /// Stability: Experimental + /// + public OptionalArgumentInvoker(Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithOptionalMethodArguments @delegate): base(new DeputyProps(new object[]{@delegate})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected OptionalArgumentInvoker(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected OptionalArgumentInvoker(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"invokeWithOptional\\")] + public virtual void InvokeWithOptional() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"invokeWithoutOptional\\")] + public virtual void InvokeWithoutOptional() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalConstructorArgument.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.OptionalConstructorArgument), fullyQualifiedName: \\"jsii-calc.OptionalConstructorArgument\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"arg1\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"arg2\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"arg3\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}}]\\")] + public class OptionalConstructorArgument : DeputyBase + { + /// + /// Stability: Experimental + /// + public OptionalConstructorArgument(double arg1, string arg2, System.DateTime? arg3 = null): base(new DeputyProps(new object?[]{arg1, arg2, arg3})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected OptionalConstructorArgument(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected OptionalConstructorArgument(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"arg1\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public virtual double Arg1 + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"arg2\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string Arg2 + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"arg3\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}\\", isOptional: true)] + public virtual System.DateTime? Arg3 + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.OptionalStruct\\")] + public class OptionalStruct : Amazon.JSII.Tests.CalculatorNamespace.IOptionalStruct + { + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"field\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + public string? Field + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalStructConsumer.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.OptionalStructConsumer), fullyQualifiedName: \\"jsii-calc.OptionalStructConsumer\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"optionalStruct\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.OptionalStruct\\\\\\"}}]\\")] + public class OptionalStructConsumer : DeputyBase + { + /// + /// Stability: Experimental + /// + public OptionalStructConsumer(Amazon.JSII.Tests.CalculatorNamespace.IOptionalStruct? optionalStruct = null): base(new DeputyProps(new object?[]{optionalStruct})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected OptionalStructConsumer(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected OptionalStructConsumer(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"parameterWasUndefined\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public virtual bool ParameterWasUndefined + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"fieldValue\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public virtual string? FieldValue + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IOptionalStruct), fullyQualifiedName: \\"jsii-calc.OptionalStruct\\")] + internal sealed class OptionalStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IOptionalStruct + { + private OptionalStructProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"field\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public string? Field + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OverridableProtectedMember.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + /// See: https://github.com/aws/jsii/issues/903 + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.OverridableProtectedMember), fullyQualifiedName: \\"jsii-calc.OverridableProtectedMember\\")] + public class OverridableProtectedMember : DeputyBase + { + /// + /// Stability: Experimental + /// + public OverridableProtectedMember(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected OverridableProtectedMember(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected OverridableProtectedMember(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"overrideMe\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + protected virtual string OverrideMe() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"switchModes\\")] + public virtual void SwitchModes() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"valueFromProtected\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public virtual string ValueFromProtected() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"overrideReadOnly\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + protected virtual string OverrideReadOnly + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"overrideReadWrite\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + protected virtual string OverrideReadWrite + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OverrideReturnsObject.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.OverrideReturnsObject), fullyQualifiedName: \\"jsii-calc.OverrideReturnsObject\\")] + public class OverrideReturnsObject : DeputyBase + { + /// + /// Stability: Experimental + /// + public OverrideReturnsObject(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected OverrideReturnsObject(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected OverrideReturnsObject(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"test\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"obj\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IReturnsNumber\\\\\\"}}]\\")] + public virtual double Test(Amazon.JSII.Tests.CalculatorNamespace.IReturnsNumber obj) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IReturnsNumber)}, new object[]{obj}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ParentStruct982.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// https://github.com/aws/jsii/issues/982. + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.ParentStruct982\\")] + public class ParentStruct982 : Amazon.JSII.Tests.CalculatorNamespace.IParentStruct982 + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string Foo + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ParentStruct982Proxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// https://github.com/aws/jsii/issues/982. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IParentStruct982), fullyQualifiedName: \\"jsii-calc.ParentStruct982\\")] + internal sealed class ParentStruct982Proxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IParentStruct982 + { + private ParentStruct982Proxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Foo + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PartiallyInitializedThisConsumer.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.PartiallyInitializedThisConsumer), fullyQualifiedName: \\"jsii-calc.PartiallyInitializedThisConsumer\\")] + public abstract class PartiallyInitializedThisConsumer : DeputyBase + { + /// + /// Stability: Experimental + /// + protected PartiallyInitializedThisConsumer(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected PartiallyInitializedThisConsumer(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected PartiallyInitializedThisConsumer(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"consumePartiallyInitializedThis\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"obj\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.ConstructorPassesThisOut\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"dt\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"ev\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.AllTypesEnum\\\\\\"}}]\\")] + public abstract string ConsumePartiallyInitializedThis(Amazon.JSII.Tests.CalculatorNamespace.ConstructorPassesThisOut obj, System.DateTime dt, Amazon.JSII.Tests.CalculatorNamespace.AllTypesEnum ev); + + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PartiallyInitializedThisConsumerProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.PartiallyInitializedThisConsumer), fullyQualifiedName: \\"jsii-calc.PartiallyInitializedThisConsumer\\")] + internal sealed class PartiallyInitializedThisConsumerProxy : Amazon.JSII.Tests.CalculatorNamespace.PartiallyInitializedThisConsumer + { + private PartiallyInitializedThisConsumerProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"consumePartiallyInitializedThis\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"obj\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.ConstructorPassesThisOut\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"dt\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"ev\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.AllTypesEnum\\\\\\"}}]\\")] + public override string ConsumePartiallyInitializedThis(Amazon.JSII.Tests.CalculatorNamespace.ConstructorPassesThisOut obj, System.DateTime dt, Amazon.JSII.Tests.CalculatorNamespace.AllTypesEnum ev) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.ConstructorPassesThisOut), typeof(System.DateTime), typeof(Amazon.JSII.Tests.CalculatorNamespace.AllTypesEnum)}, new object[]{obj, dt, ev}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Polymorphism.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Polymorphism), fullyQualifiedName: \\"jsii-calc.Polymorphism\\")] + public class Polymorphism : DeputyBase + { + /// + /// Stability: Experimental + /// + public Polymorphism(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Polymorphism(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Polymorphism(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"sayHello\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"friendly\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.IFriendly\\\\\\"}}]\\")] + public virtual string SayHello(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly friendly) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly)}, new object[]{friendly}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Power.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// The power operation. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Power), fullyQualifiedName: \\"jsii-calc.Power\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"The base of the power.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"base\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}},{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"The number of times to multiply.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"pow\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}}]\\")] + public class Power : Amazon.JSII.Tests.CalculatorNamespace.Composition.CompositeOperation + { + /// Creates a Power operation. + /// The base of the power. + /// The number of times to multiply. + /// + /// Stability: Experimental + /// + public Power(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ @base, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ pow): base(new DeputyProps(new object[]{@base, pow})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Power(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Power(DeputyProps props): base(props) + { + } + + /// The base of the power. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"base\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Base + { + get => GetInstanceProperty(); + } + + /// The expression that this operation consists of. + /// + /// Must be implemented by derived classes. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"expression\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}\\")] + public override Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Expression + { + get => GetInstanceProperty(); + } + + /// The number of times to multiply. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"pow\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Pow + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PropertyNamedProperty.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Reproduction for https://github.com/aws/jsii/issues/1113 Where a method or property named \\"property\\" would result in impossible to load Python code. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.PropertyNamedProperty), fullyQualifiedName: \\"jsii-calc.PropertyNamedProperty\\")] + public class PropertyNamedProperty : DeputyBase + { + /// + /// Stability: Experimental + /// + public PropertyNamedProperty(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected PropertyNamedProperty(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected PropertyNamedProperty(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"property\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string Property + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"yetAnoterOne\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public virtual bool YetAnoterOne + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PublicClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.PublicClass), fullyQualifiedName: \\"jsii-calc.PublicClass\\")] + public class PublicClass : DeputyBase + { + /// + /// Stability: Experimental + /// + public PublicClass(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected PublicClass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected PublicClass(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"hello\\")] + public virtual void Hello() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonReservedWords.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.PythonReservedWords), fullyQualifiedName: \\"jsii-calc.PythonReservedWords\\")] + public class PythonReservedWords : DeputyBase + { + /// + /// Stability: Experimental + /// + public PythonReservedWords(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected PythonReservedWords(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected PythonReservedWords(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"and\\")] + public virtual void And() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"as\\")] + public virtual void As() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"assert\\")] + public virtual void Assert() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"async\\")] + public virtual void Async() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"await\\")] + public virtual void Await() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"break\\")] + public virtual void Break() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"class\\")] + public virtual void Class() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"continue\\")] + public virtual void Continue() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"def\\")] + public virtual void Def() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"del\\")] + public virtual void Del() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"elif\\")] + public virtual void Elif() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"else\\")] + public virtual void Else() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"except\\")] + public virtual void Except() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"finally\\")] + public virtual void Finally() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"for\\")] + public virtual void For() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"from\\")] + public virtual void From() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"global\\")] + public virtual void Global() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"if\\")] + public virtual void If() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"import\\")] + public virtual void Import() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"in\\")] + public virtual void In() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"is\\")] + public virtual void Is() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"lambda\\")] + public virtual void Lambda() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"nonlocal\\")] + public virtual void Nonlocal() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"not\\")] + public virtual void Not() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"or\\")] + public virtual void Or() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"pass\\")] + public virtual void Pass() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"raise\\")] + public virtual void Raise() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"return\\")] + public virtual void Return() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"try\\")] + public virtual void Try() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"while\\")] + public virtual void While() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"with\\")] + public virtual void With() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"yield\\")] + public virtual void Yield() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/ClassWithSelf.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.PythonSelf +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.PythonSelf.ClassWithSelf), fullyQualifiedName: \\"jsii-calc.PythonSelf.ClassWithSelf\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"self\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public class ClassWithSelf : DeputyBase + { + /// + /// Stability: Experimental + /// + public ClassWithSelf(string self): base(new DeputyProps(new object[]{self})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassWithSelf(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassWithSelf(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"method\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"self\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public virtual string Method(double self) + { + return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{self}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"self\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string Self + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/ClassWithSelfKwarg.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.PythonSelf +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.PythonSelf.ClassWithSelfKwarg), fullyQualifiedName: \\"jsii-calc.PythonSelf.ClassWithSelfKwarg\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"props\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.PythonSelf.StructWithSelf\\\\\\"}}]\\")] + public class ClassWithSelfKwarg : DeputyBase + { + /// + /// Stability: Experimental + /// + public ClassWithSelfKwarg(Amazon.JSII.Tests.CalculatorNamespace.PythonSelf.IStructWithSelf props): base(new DeputyProps(new object[]{props})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassWithSelfKwarg(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ClassWithSelfKwarg(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"props\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.PythonSelf.StructWithSelf\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.PythonSelf.IStructWithSelf Props + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/IInterfaceWithSelf.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.PythonSelf +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IInterfaceWithSelf), fullyQualifiedName: \\"jsii-calc.PythonSelf.IInterfaceWithSelf\\")] + public interface IInterfaceWithSelf + { + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"method\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"self\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + string Method(double self); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/IInterfaceWithSelfProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.PythonSelf +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IInterfaceWithSelf), fullyQualifiedName: \\"jsii-calc.PythonSelf.IInterfaceWithSelf\\")] + internal sealed class IInterfaceWithSelfProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.PythonSelf.IInterfaceWithSelf + { + private IInterfaceWithSelfProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"method\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"self\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public string Method(double self) + { + return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{self}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/IStructWithSelf.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.PythonSelf +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IStructWithSelf), fullyQualifiedName: \\"jsii-calc.PythonSelf.StructWithSelf\\")] + public interface IStructWithSelf + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"self\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string Self + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/StructWithSelf.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.PythonSelf +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.PythonSelf.StructWithSelf\\")] + public class StructWithSelf : Amazon.JSII.Tests.CalculatorNamespace.PythonSelf.IStructWithSelf + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"self\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string Self + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/StructWithSelfProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.PythonSelf +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IStructWithSelf), fullyQualifiedName: \\"jsii-calc.PythonSelf.StructWithSelf\\")] + internal sealed class StructWithSelfProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.PythonSelf.IStructWithSelf + { + private StructWithSelfProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"self\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Self + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ReferenceEnumFromScopedPackage.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// See awslabs/jsii#138. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ReferenceEnumFromScopedPackage), fullyQualifiedName: \\"jsii-calc.ReferenceEnumFromScopedPackage\\")] + public class ReferenceEnumFromScopedPackage : DeputyBase + { + /// + /// Stability: Experimental + /// + public ReferenceEnumFromScopedPackage(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ReferenceEnumFromScopedPackage(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ReferenceEnumFromScopedPackage(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"loadFoo\\", returnsJson: \\"{\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.EnumFromScopedModule\\\\\\"}}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.EnumFromScopedModule? LoadFoo() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"saveFoo\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.EnumFromScopedModule\\\\\\"}}]\\")] + public virtual void SaveFoo(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.EnumFromScopedModule @value) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.EnumFromScopedModule)}, new object[]{@value}); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.EnumFromScopedModule\\\\\\"}\\", isOptional: true)] + public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.EnumFromScopedModule? Foo + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ReturnsPrivateImplementationOfInterface.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Helps ensure the JSII kernel & runtime cooperate correctly when an un-exported instance of a class is returned with a declared type that is an exported interface, and the instance inherits from an exported class. + /// an instance of an un-exported class that extends \`ExportedBaseClass\`, declared as \`IPrivatelyImplemented\`. + /// + /// Stability: Experimental + /// + /// See: https://github.com/aws/jsii/issues/320 + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ReturnsPrivateImplementationOfInterface), fullyQualifiedName: \\"jsii-calc.ReturnsPrivateImplementationOfInterface\\")] + public class ReturnsPrivateImplementationOfInterface : DeputyBase + { + /// + /// Stability: Experimental + /// + public ReturnsPrivateImplementationOfInterface(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ReturnsPrivateImplementationOfInterface(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected ReturnsPrivateImplementationOfInterface(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"privateImplementation\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IPrivatelyImplemented\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.IPrivatelyImplemented PrivateImplementation + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RootStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// This is here to check that we can pass a nested struct into a kwargs by specifying it as an in-line dictionary. + /// + /// This is cheating with the (current) declared types, but this is the \\"more + /// idiomatic\\" way for Pythonists. + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.RootStruct\\")] + public class RootStruct : Amazon.JSII.Tests.CalculatorNamespace.IRootStruct + { + /// May not be empty. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"stringProp\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string StringProp + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"nestedStruct\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.NestedStruct\\\\\\"}\\", isOptional: true, isOverride: true)] + public Amazon.JSII.Tests.CalculatorNamespace.INestedStruct? NestedStruct + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RootStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// This is here to check that we can pass a nested struct into a kwargs by specifying it as an in-line dictionary. + /// + /// This is cheating with the (current) declared types, but this is the \\"more + /// idiomatic\\" way for Pythonists. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IRootStruct), fullyQualifiedName: \\"jsii-calc.RootStruct\\")] + internal sealed class RootStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IRootStruct + { + private RootStructProxy(ByRefValue reference): base(reference) + { + } + + /// May not be empty. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"stringProp\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string StringProp + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"nestedStruct\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.NestedStruct\\\\\\"}\\", isOptional: true)] + public Amazon.JSII.Tests.CalculatorNamespace.INestedStruct? NestedStruct + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RootStructValidator.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.RootStructValidator), fullyQualifiedName: \\"jsii-calc.RootStructValidator\\")] + public class RootStructValidator : DeputyBase + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected RootStructValidator(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected RootStructValidator(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"validate\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"struct\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.RootStruct\\\\\\"}}]\\")] + public static void Validate(Amazon.JSII.Tests.CalculatorNamespace.IRootStruct @struct) + { + InvokeStaticVoidMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.RootStructValidator), new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IRootStruct)}, new object[]{@struct}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RuntimeTypeChecking.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.RuntimeTypeChecking), fullyQualifiedName: \\"jsii-calc.RuntimeTypeChecking\\")] + public class RuntimeTypeChecking : DeputyBase + { + /// + /// Stability: Experimental + /// + public RuntimeTypeChecking(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected RuntimeTypeChecking(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected RuntimeTypeChecking(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"methodWithDefaultedArguments\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"arg1\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"arg2\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"arg3\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}}]\\")] + public virtual void MethodWithDefaultedArguments(double? arg1 = null, string? arg2 = null, System.DateTime? arg3 = null) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(double), typeof(string), typeof(System.DateTime)}, new object?[]{arg1, arg2, arg3}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"methodWithOptionalAnyArgument\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"arg\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}]\\")] + public virtual void MethodWithOptionalAnyArgument(object? arg = null) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(object)}, new object?[]{arg}); + } + + /// Used to verify verification of number of method arguments. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"methodWithOptionalArguments\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"arg1\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"arg2\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"arg3\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"date\\\\\\"}}]\\")] + public virtual void MethodWithOptionalArguments(double arg1, string arg2, System.DateTime? arg3 = null) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(double), typeof(string), typeof(System.DateTime)}, new object?[]{arg1, arg2, arg3}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SecondLevelStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.SecondLevelStruct\\")] + public class SecondLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.ISecondLevelStruct + { + /// It's long and required. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"deeperRequiredProp\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string DeeperRequiredProp + { + get; + set; + } + + /// It's long, but you'll almost never pass it. + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"deeperOptionalProp\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + public string? DeeperOptionalProp + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SecondLevelStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(ISecondLevelStruct), fullyQualifiedName: \\"jsii-calc.SecondLevelStruct\\")] + internal sealed class SecondLevelStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.ISecondLevelStruct + { + private SecondLevelStructProxy(ByRefValue reference): base(reference) + { + } + + /// It's long and required. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"deeperRequiredProp\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string DeeperRequiredProp + { + get => GetInstanceProperty(); + } + + /// It's long, but you'll almost never pass it. + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"deeperOptionalProp\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public string? DeeperOptionalProp + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingleInstanceTwoTypes.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Test that a single instance can be returned under two different FQNs. + /// + /// JSII clients can instantiate 2 different strongly-typed wrappers for the same + /// object. Unfortunately, this will break object equality, but if we didn't do + /// this it would break runtime type checks in the JVM or CLR. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.SingleInstanceTwoTypes), fullyQualifiedName: \\"jsii-calc.SingleInstanceTwoTypes\\")] + public class SingleInstanceTwoTypes : DeputyBase + { + /// + /// Stability: Experimental + /// + public SingleInstanceTwoTypes(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected SingleInstanceTwoTypes(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected SingleInstanceTwoTypes(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"interface1\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.InbetweenClass\\\\\\"}}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.InbetweenClass Interface1() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"interface2\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IPublicInterface\\\\\\"}}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface Interface2() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonInt.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Verifies that singleton enums are handled correctly. + /// + /// https://github.com/aws/jsii/issues/231 + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.SingletonInt), fullyQualifiedName: \\"jsii-calc.SingletonInt\\")] + public class SingletonInt : DeputyBase + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected SingletonInt(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected SingletonInt(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"isSingletonInt\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public virtual bool IsSingletonInt(double @value) + { + return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{@value}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonIntEnum.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + + /// A singleton integer. + /// + /// Stability: Experimental + /// + [JsiiEnum(nativeType: typeof(SingletonIntEnum), fullyQualifiedName: \\"jsii-calc.SingletonIntEnum\\")] + public enum SingletonIntEnum + { + /// Elite! + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"SINGLETON_INT\\")] + SINGLETON_INT + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonString.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Verifies that singleton enums are handled correctly. + /// + /// https://github.com/aws/jsii/issues/231 + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.SingletonString), fullyQualifiedName: \\"jsii-calc.SingletonString\\")] + public class SingletonString : DeputyBase + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected SingletonString(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected SingletonString(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"isSingletonString\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public virtual bool IsSingletonString(string @value) + { + return InvokeInstanceMethod(new System.Type[]{typeof(string)}, new object[]{@value}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonStringEnum.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + + /// A singleton string. + /// + /// Stability: Experimental + /// + [JsiiEnum(nativeType: typeof(SingletonStringEnum), fullyQualifiedName: \\"jsii-calc.SingletonStringEnum\\")] + public enum SingletonStringEnum + { + /// 1337. + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"SINGLETON_STRING\\")] + SINGLETON_STRING + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SmellyStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.SmellyStruct\\")] + public class SmellyStruct : Amazon.JSII.Tests.CalculatorNamespace.ISmellyStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"property\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string Property + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"yetAnoterOne\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOverride: true)] + public bool YetAnoterOne + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SmellyStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(ISmellyStruct), fullyQualifiedName: \\"jsii-calc.SmellyStruct\\")] + internal sealed class SmellyStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.ISmellyStruct + { + private SmellyStructProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"property\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Property + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"yetAnoterOne\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public bool YetAnoterOne + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SomeTypeJsii976.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.SomeTypeJsii976), fullyQualifiedName: \\"jsii-calc.SomeTypeJsii976\\")] + public class SomeTypeJsii976 : DeputyBase + { + /// + /// Stability: Experimental + /// + public SomeTypeJsii976(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected SomeTypeJsii976(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected SomeTypeJsii976(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"returnAnonymous\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public static object ReturnAnonymous() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.SomeTypeJsii976), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"returnReturn\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IReturnJsii976\\\\\\"}}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.IReturnJsii976 ReturnReturn() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.SomeTypeJsii976), new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.StableClass), fullyQualifiedName: \\"jsii-calc.StableClass\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"readonlyString\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"mutableNumber\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public class StableClass : DeputyBase + { + public StableClass(string readonlyString, double? mutableNumber = null): base(new DeputyProps(new object?[]{readonlyString, mutableNumber})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected StableClass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected StableClass(DeputyProps props): base(props) + { + } + + [JsiiMethod(name: \\"method\\")] + public virtual void Method() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string ReadonlyProperty + { + get => GetInstanceProperty(); + } + + [JsiiOptional] + [JsiiProperty(name: \\"mutableProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + public virtual double? MutableProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableEnum.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + + [JsiiEnum(nativeType: typeof(StableEnum), fullyQualifiedName: \\"jsii-calc.StableEnum\\")] + public enum StableEnum + { + [JsiiEnumMember(name: \\"OPTION_A\\")] + OPTION_A, + [JsiiEnumMember(name: \\"OPTION_B\\")] + OPTION_B + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + [JsiiByValue(fqn: \\"jsii-calc.StableStruct\\")] + public class StableStruct : Amazon.JSII.Tests.CalculatorNamespace.IStableStruct + { + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string ReadonlyProperty + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + [JsiiTypeProxy(nativeType: typeof(IStableStruct), fullyQualifiedName: \\"jsii-calc.StableStruct\\")] + internal sealed class StableStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IStableStruct + { + private StableStructProxy(ByRefValue reference): base(reference) + { + } + + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string ReadonlyProperty + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StaticContext.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// This is used to validate the ability to use \`this\` from within a static context. + /// + /// https://github.com/awslabs/aws-cdk/issues/2304 + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.StaticContext), fullyQualifiedName: \\"jsii-calc.StaticContext\\")] + public class StaticContext : DeputyBase + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected StaticContext(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected StaticContext(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"canAccessStaticContext\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\")] + public static bool CanAccessStaticContext() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.StaticContext), new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"staticVariable\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public static bool StaticVariable + { + get => GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.StaticContext)); + set => SetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.StaticContext), value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Statics.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics), fullyQualifiedName: \\"jsii-calc.Statics\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public class Statics : DeputyBase + { + /// + /// Stability: Experimental + /// + public Statics(string @value): base(new DeputyProps(new object[]{@value})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Statics(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Statics(DeputyProps props): base(props) + { + } + + /// Jsdocs for static method. + /// The name of the person to say hello to. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"staticMethod\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"The name of the person to say hello to.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"name\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public static string StaticMethod(string name) + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics), new System.Type[]{typeof(string)}, new object[]{name}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"justMethod\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public virtual string JustMethod() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// Constants may also use all-caps. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"BAR\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public static double BAR + { + get; + } + = GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics)); + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"ConstObj\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.DoubleTrouble\\\\\\"}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.DoubleTrouble ConstObj + { + get; + } + = GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics)); + + /// Jsdocs for static property. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"Foo\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public static string Foo + { + get; + } + = GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics)); + + /// Constants can also use camelCase. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"zooBar\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}\\")] + public static System.Collections.Generic.IDictionary ZooBar + { + get; + } + = GetStaticProperty>(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics)); + + /// Jsdocs for static getter. + /// + /// Jsdocs for static setter. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"instance\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.Statics\\\\\\"}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.Statics Instance + { + get => GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics)); + set => SetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics), value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"nonConstStatic\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public static double NonConstStatic + { + get => GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics)); + set => SetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics), value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string Value + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StringEnum.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + + /// + /// Stability: Experimental + /// + [JsiiEnum(nativeType: typeof(StringEnum), fullyQualifiedName: \\"jsii-calc.StringEnum\\")] + public enum StringEnum + { + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"A\\")] + A, + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"B\\")] + B, + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"C\\")] + C + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StripInternal.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.StripInternal), fullyQualifiedName: \\"jsii-calc.StripInternal\\")] + public class StripInternal : DeputyBase + { + /// + /// Stability: Experimental + /// + public StripInternal(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected StripInternal(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected StripInternal(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"youSeeMe\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string YouSeeMe + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructA.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// We can serialize and deserialize structs without silently ignoring optional fields. + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.StructA\\")] + public class StructA : Amazon.JSII.Tests.CalculatorNamespace.IStructA + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"requiredString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string RequiredString + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optionalNumber\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true, isOverride: true)] + public double? OptionalNumber + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optionalString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + public string? OptionalString + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructAProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// We can serialize and deserialize structs without silently ignoring optional fields. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IStructA), fullyQualifiedName: \\"jsii-calc.StructA\\")] + internal sealed class StructAProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IStructA + { + private StructAProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"requiredString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string RequiredString + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optionalNumber\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOptional: true)] + public double? OptionalNumber + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optionalString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public string? OptionalString + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructB.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// This intentionally overlaps with StructA (where only requiredString is provided) to test htat the kernel properly disambiguates those. + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.StructB\\")] + public class StructB : Amazon.JSII.Tests.CalculatorNamespace.IStructB + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"requiredString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string RequiredString + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optionalBoolean\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true, isOverride: true)] + public bool? OptionalBoolean + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optionalStructA\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StructA\\\\\\"}\\", isOptional: true, isOverride: true)] + public Amazon.JSII.Tests.CalculatorNamespace.IStructA? OptionalStructA + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructBProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// This intentionally overlaps with StructA (where only requiredString is provided) to test htat the kernel properly disambiguates those. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IStructB), fullyQualifiedName: \\"jsii-calc.StructB\\")] + internal sealed class StructBProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IStructB + { + private StructBProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"requiredString\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string RequiredString + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optionalBoolean\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] + public bool? OptionalBoolean + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optionalStructA\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StructA\\\\\\"}\\", isOptional: true)] + public Amazon.JSII.Tests.CalculatorNamespace.IStructA? OptionalStructA + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructParameterType.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// Verifies that, in languages that do keyword lifting (e.g: Python), having a struct member with the same name as a positional parameter results in the correct code being emitted. + /// + /// See: https://github.com/aws/aws-cdk/issues/4302 + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.StructParameterType\\")] + public class StructParameterType : Amazon.JSII.Tests.CalculatorNamespace.IStructParameterType + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"scope\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string Scope + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"props\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true, isOverride: true)] + public bool? Props + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructParameterTypeProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Verifies that, in languages that do keyword lifting (e.g: Python), having a struct member with the same name as a positional parameter results in the correct code being emitted. + /// + /// See: https://github.com/aws/aws-cdk/issues/4302 + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IStructParameterType), fullyQualifiedName: \\"jsii-calc.StructParameterType\\")] + internal sealed class StructParameterTypeProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IStructParameterType + { + private StructParameterTypeProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"scope\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Scope + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"props\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] + public bool? Props + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructPassing.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Just because we can. + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.StructPassing), fullyQualifiedName: \\"jsii-calc.StructPassing\\")] + public class StructPassing : DeputyBase + { + /// + /// Stability: Experimental + /// + public StructPassing(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected StructPassing(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected StructPassing(DeputyProps props): base(props) + { + } + + [JsiiMethod(name: \\"howManyVarArgsDidIPass\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"_positional\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"inputs\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.TopLevelStruct\\\\\\"},\\\\\\"variadic\\\\\\":true}]\\")] + public static double HowManyVarArgsDidIPass(double positional, params Amazon.JSII.Tests.CalculatorNamespace.ITopLevelStruct[] inputs) + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.StructPassing), new System.Type[]{typeof(double), typeof(Amazon.JSII.Tests.CalculatorNamespace.ITopLevelStruct[])}, new object[]{positional, inputs}); + } + + [JsiiMethod(name: \\"roundTrip\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.TopLevelStruct\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"_positional\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}},{\\\\\\"name\\\\\\":\\\\\\"input\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.TopLevelStruct\\\\\\"}}]\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.ITopLevelStruct RoundTrip(double positional, Amazon.JSII.Tests.CalculatorNamespace.ITopLevelStruct input) + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.StructPassing), new System.Type[]{typeof(double), typeof(Amazon.JSII.Tests.CalculatorNamespace.ITopLevelStruct)}, new object[]{positional, input}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructUnionConsumer.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.StructUnionConsumer), fullyQualifiedName: \\"jsii-calc.StructUnionConsumer\\")] + public class StructUnionConsumer : DeputyBase + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected StructUnionConsumer(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected StructUnionConsumer(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"isStructA\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"struct\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StructA\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StructB\\\\\\"}]}}}]\\")] + public static bool IsStructA(object @struct) + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.StructUnionConsumer), new System.Type[]{typeof(object)}, new object[]{@struct}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"isStructB\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"struct\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StructA\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.StructB\\\\\\"}]}}}]\\")] + public static bool IsStructB(object @struct) + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.StructUnionConsumer), new System.Type[]{typeof(object)}, new object[]{@struct}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructWithJavaReservedWords.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.StructWithJavaReservedWords\\")] + public class StructWithJavaReservedWords : Amazon.JSII.Tests.CalculatorNamespace.IStructWithJavaReservedWords + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"default\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string Default + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"assert\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + public string? Assert + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"result\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + public string? Result + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"that\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + public string? That + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructWithJavaReservedWordsProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IStructWithJavaReservedWords), fullyQualifiedName: \\"jsii-calc.StructWithJavaReservedWords\\")] + internal sealed class StructWithJavaReservedWordsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IStructWithJavaReservedWords + { + private StructWithJavaReservedWordsProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"default\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Default + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"assert\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public string? Assert + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"result\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public string? Result + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"that\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public string? That + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/BackReferences/IMyClassReference.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.BackReferences +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IMyClassReference), fullyQualifiedName: \\"jsii-calc.submodule.back_references.MyClassReference\\")] + public interface IMyClassReference + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"reference\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.MyClass\\\\\\"}\\")] + Amazon.JSII.Tests.CalculatorNamespace.Submodule.MyClass Reference + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/BackReferences/MyClassReference.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.BackReferences +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.submodule.back_references.MyClassReference\\")] + public class MyClassReference : Amazon.JSII.Tests.CalculatorNamespace.Submodule.BackReferences.IMyClassReference + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"reference\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.MyClass\\\\\\"}\\", isOverride: true)] + public Amazon.JSII.Tests.CalculatorNamespace.Submodule.MyClass Reference + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/BackReferences/MyClassReferenceProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.BackReferences +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IMyClassReference), fullyQualifiedName: \\"jsii-calc.submodule.back_references.MyClassReference\\")] + internal sealed class MyClassReferenceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.Submodule.BackReferences.IMyClassReference + { + private MyClassReferenceProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"reference\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.MyClass\\\\\\"}\\")] + public Amazon.JSII.Tests.CalculatorNamespace.Submodule.MyClass Reference + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/Awesomeness.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child +{ + + /// + /// Stability: Experimental + /// + [JsiiEnum(nativeType: typeof(Awesomeness), fullyQualifiedName: \\"jsii-calc.submodule.child.Awesomeness\\")] + public enum Awesomeness + { + /// It was awesome! + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"AWESOME\\")] + AWESOME + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/Goodness.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child +{ + + /// + /// Stability: Experimental + /// + [JsiiEnum(nativeType: typeof(Goodness), fullyQualifiedName: \\"jsii-calc.submodule.child.Goodness\\")] + public enum Goodness + { + /// It's pretty good. + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"PRETTY_GOOD\\")] + PRETTY_GOOD, + /// It's really good. + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"REALLY_GOOD\\")] + REALLY_GOOD, + /// It's amazingly good. + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"AMAZINGLY_GOOD\\")] + AMAZINGLY_GOOD + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/IKwargsProps.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IKwargsProps), fullyQualifiedName: \\"jsii-calc.submodule.child.KwargsProps\\")] + public interface IKwargsProps : Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.ISomeStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"extra\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + [Amazon.JSII.Runtime.Deputy.JsiiOptional] + string? Extra + { + get + { + return null; + } + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/ISomeStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(ISomeStruct), fullyQualifiedName: \\"jsii-calc.submodule.child.SomeStruct\\")] + public interface ISomeStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"prop\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.child.SomeEnum\\\\\\"}\\")] + Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.SomeEnum Prop + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/IStructure.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(IStructure), fullyQualifiedName: \\"jsii-calc.submodule.child.Structure\\")] + public interface IStructure + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bool\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + bool Bool + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/InnerClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.InnerClass), fullyQualifiedName: \\"jsii-calc.submodule.child.InnerClass\\")] + public class InnerClass : DeputyBase + { + /// + /// Stability: Experimental + /// + public InnerClass(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected InnerClass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected InnerClass(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"staticProp\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.child.SomeStruct\\\\\\"}\\")] + public static Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.ISomeStruct StaticProp + { + get; + } + = GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.InnerClass)); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/KwargsProps.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child +{ + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.submodule.child.KwargsProps\\")] + public class KwargsProps : Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.IKwargsProps + { + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"extra\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + public string? Extra + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"prop\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.child.SomeEnum\\\\\\"}\\", isOverride: true)] + public Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.SomeEnum Prop + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/KwargsPropsProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IKwargsProps), fullyQualifiedName: \\"jsii-calc.submodule.child.KwargsProps\\")] + internal sealed class KwargsPropsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.IKwargsProps + { + private KwargsPropsProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"extra\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public string? Extra + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"prop\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.child.SomeEnum\\\\\\"}\\")] + public Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.SomeEnum Prop + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/OuterClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child +{ + /// Checks that classes can self-reference during initialization. + /// + /// Stability: Experimental + /// + /// See: : https://github.com/aws/jsii/pull/1706 + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.OuterClass), fullyQualifiedName: \\"jsii-calc.submodule.child.OuterClass\\")] + public class OuterClass : DeputyBase + { + /// + /// Stability: Experimental + /// + public OuterClass(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected OuterClass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected OuterClass(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"innerClass\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.child.InnerClass\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.InnerClass InnerClass + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/SomeEnum.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child +{ + + /// + /// Stability: Experimental + /// + [JsiiEnum(nativeType: typeof(SomeEnum), fullyQualifiedName: \\"jsii-calc.submodule.child.SomeEnum\\")] + public enum SomeEnum + { + /// + /// Stability: Experimental + /// + [JsiiEnumMember(name: \\"SOME\\")] + SOME + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/SomeStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.submodule.child.SomeStruct\\")] + public class SomeStruct : Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.ISomeStruct + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"prop\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.child.SomeEnum\\\\\\"}\\", isOverride: true)] + public Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.SomeEnum Prop + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/SomeStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(ISomeStruct), fullyQualifiedName: \\"jsii-calc.submodule.child.SomeStruct\\")] + internal sealed class SomeStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.ISomeStruct + { + private SomeStructProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"prop\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.child.SomeEnum\\\\\\"}\\")] + public Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.SomeEnum Prop + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/Structure.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.submodule.child.Structure\\")] + public class Structure : Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.IStructure + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bool\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOverride: true)] + public bool Bool + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/StructureProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IStructure), fullyQualifiedName: \\"jsii-calc.submodule.child.Structure\\")] + internal sealed class StructureProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.IStructure + { + private StructureProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bool\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public bool Bool + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Isolated/Kwargs.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Isolated +{ + /// Ensures imports are correctly registered for kwargs lifted properties from super-structs. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Isolated.Kwargs), fullyQualifiedName: \\"jsii-calc.submodule.isolated.Kwargs\\")] + public class Kwargs : DeputyBase + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Kwargs(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Kwargs(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"method\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"props\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.child.KwargsProps\\\\\\"}}]\\")] + public static bool Method(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.IKwargsProps? props = null) + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Isolated.Kwargs), new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.IKwargsProps)}, new object?[]{props}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/MyClass.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.MyClass), fullyQualifiedName: \\"jsii-calc.submodule.MyClass\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"props\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.child.SomeStruct\\\\\\"}}]\\")] + public class MyClass : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.DeeplyNested.INamespaced + { + /// + /// Stability: Experimental + /// + public MyClass(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.ISomeStruct props): base(new DeputyProps(new object[]{props})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected MyClass(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected MyClass(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"awesomeness\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.child.Awesomeness\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.Awesomeness Awesomeness + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"definedAt\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string DefinedAt + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"goodness\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.child.Goodness\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.Goodness Goodness + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"props\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.child.SomeStruct\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.ISomeStruct Props + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"allTypes\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.AllTypes\\\\\\"}\\", isOptional: true)] + public virtual Amazon.JSII.Tests.CalculatorNamespace.AllTypes? AllTypes + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/DeeplyNested/INamespaced.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.DeeplyNested +{ + /// + /// Stability: Experimental + /// + [JsiiInterface(nativeType: typeof(INamespaced), fullyQualifiedName: \\"jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced\\")] + public interface INamespaced + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"definedAt\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + string DefinedAt + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/DeeplyNested/INamespacedProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.DeeplyNested +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(INamespaced), fullyQualifiedName: \\"jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced\\")] + internal sealed class INamespacedProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.DeeplyNested.INamespaced + { + private INamespacedProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"definedAt\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string DefinedAt + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/Namespaced.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.Namespaced), fullyQualifiedName: \\"jsii-calc.submodule.nested_submodule.Namespaced\\")] + public abstract class Namespaced : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.DeeplyNested.INamespaced + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Namespaced(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Namespaced(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"definedAt\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string DefinedAt + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"goodness\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.child.Goodness\\\\\\"}\\")] + public abstract Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.Goodness Goodness + { + get; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/NamespacedProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.Namespaced), fullyQualifiedName: \\"jsii-calc.submodule.nested_submodule.Namespaced\\")] + internal sealed class NamespacedProxy : Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.Namespaced + { + private NamespacedProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"goodness\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.submodule.child.Goodness\\\\\\"}\\")] + public override Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.Goodness Goodness + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Sum.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// An operation that sums multiple values. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Sum), fullyQualifiedName: \\"jsii-calc.Sum\\")] + public class Sum : Amazon.JSII.Tests.CalculatorNamespace.Composition.CompositeOperation + { + /// + /// Stability: Experimental + /// + public Sum(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Sum(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Sum(DeputyProps props): base(props) + { + } + + /// The expression that this operation consists of. + /// + /// Must be implemented by derived classes. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"expression\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}\\")] + public override Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Expression + { + get => GetInstanceProperty(); + } + + /// The parts to sum. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"parts\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_[] Parts + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilder.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.SupportsNiceJavaBuilder), fullyQualifiedName: \\"jsii-calc.SupportsNiceJavaBuilder\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"some identifier.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"id\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}},{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"the default value of \`bar\`.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"defaultBar\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}},{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"some props once can provide.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"props\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.SupportsNiceJavaBuilderProps\\\\\\"}},{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"a variadic continuation.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"rest\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"variadic\\\\\\":true}]\\")] + public class SupportsNiceJavaBuilder : Amazon.JSII.Tests.CalculatorNamespace.SupportsNiceJavaBuilderWithRequiredProps + { + /// some identifier. + /// the default value of \`bar\`. + /// some props once can provide. + /// a variadic continuation. + /// + /// Stability: Experimental + /// + public SupportsNiceJavaBuilder(double id, double? defaultBar = null, Amazon.JSII.Tests.CalculatorNamespace.ISupportsNiceJavaBuilderProps? props = null, params string[] rest): base(new DeputyProps(new object?[]{id, defaultBar, props, rest})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected SupportsNiceJavaBuilder(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected SupportsNiceJavaBuilder(DeputyProps props): base(props) + { + } + + /// some identifier. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"id\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public override double Id + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"rest\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + public virtual string[] Rest + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilderProps.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.SupportsNiceJavaBuilderProps\\")] + public class SupportsNiceJavaBuilderProps : Amazon.JSII.Tests.CalculatorNamespace.ISupportsNiceJavaBuilderProps + { + /// Some number, like 42. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\", isOverride: true)] + public double Bar + { + get; + set; + } + + /// 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. + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"id\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + public string? Id + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilderPropsProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(ISupportsNiceJavaBuilderProps), fullyQualifiedName: \\"jsii-calc.SupportsNiceJavaBuilderProps\\")] + internal sealed class SupportsNiceJavaBuilderPropsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.ISupportsNiceJavaBuilderProps + { + private SupportsNiceJavaBuilderPropsProxy(ByRefValue reference): base(reference) + { + } + + /// Some number, like 42. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public double Bar + { + get => GetInstanceProperty(); + } + + /// 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. + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"id\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public string? Id + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilderWithRequiredProps.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// We can generate fancy builders in Java for classes which take a mix of positional & struct parameters. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.SupportsNiceJavaBuilderWithRequiredProps), fullyQualifiedName: \\"jsii-calc.SupportsNiceJavaBuilderWithRequiredProps\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"some identifier of your choice.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"id\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}},{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"some properties.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"props\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.SupportsNiceJavaBuilderProps\\\\\\"}}]\\")] + public class SupportsNiceJavaBuilderWithRequiredProps : DeputyBase + { + /// some identifier of your choice. + /// some properties. + /// + /// Stability: Experimental + /// + public SupportsNiceJavaBuilderWithRequiredProps(double id, Amazon.JSII.Tests.CalculatorNamespace.ISupportsNiceJavaBuilderProps props): base(new DeputyProps(new object[]{id, props})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected SupportsNiceJavaBuilderWithRequiredProps(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected SupportsNiceJavaBuilderWithRequiredProps(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public virtual double Bar + { + get => GetInstanceProperty(); + } + + /// some identifier of your choice. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"id\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public virtual double Id + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"propId\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public virtual string? PropId + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SyncVirtualMethods.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.SyncVirtualMethods), fullyQualifiedName: \\"jsii-calc.SyncVirtualMethods\\")] + public class SyncVirtualMethods : DeputyBase + { + /// + /// Stability: Experimental + /// + public SyncVirtualMethods(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected SyncVirtualMethods(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected SyncVirtualMethods(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"callerIsAsync\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", isAsync: true)] + public virtual double CallerIsAsync() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"callerIsMethod\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\")] + public virtual double CallerIsMethod() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"modifyOtherProperty\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public virtual void ModifyOtherProperty(string @value) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(string)}, new object[]{@value}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"modifyValueOfTheProperty\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public virtual void ModifyValueOfTheProperty(string @value) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(string)}, new object[]{@value}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"readA\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\")] + public virtual double ReadA() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"retrieveOtherProperty\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public virtual string RetrieveOtherProperty() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"retrieveReadOnlyProperty\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public virtual string RetrieveReadOnlyProperty() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"retrieveValueOfTheProperty\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public virtual string RetrieveValueOfTheProperty() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"virtualMethod\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"n\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public virtual double VirtualMethod(double n) + { + return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{n}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"writeA\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public virtual void WriteA(double @value) + { + InvokeInstanceVoidMethod(new System.Type[]{typeof(double)}, new object[]{@value}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"readonlyProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string ReadonlyProperty + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"a\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public virtual double A + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"callerIsProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + public virtual double CallerIsProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"otherProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string OtherProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"theProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string TheProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"valueOfOtherProperty\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public virtual string ValueOfOtherProperty + { + get => GetInstanceProperty(); + set => SetInstanceProperty(value); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Thrower.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Thrower), fullyQualifiedName: \\"jsii-calc.Thrower\\")] + public class Thrower : DeputyBase + { + /// + /// Stability: Experimental + /// + public Thrower(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Thrower(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected Thrower(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"throwError\\")] + public virtual void ThrowError() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/TopLevelStruct.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.TopLevelStruct\\")] + public class TopLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.ITopLevelStruct + { + /// This is a required field. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"required\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOverride: true)] + public string Required + { + get; + set; + } + + /// A union to really stress test our serialization. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"secondLevel\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.SecondLevelStruct\\\\\\"}]}}\\", isOverride: true)] + public object SecondLevel + { + get; + set; + } + + /// You don't have to pass this. + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optional\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true, isOverride: true)] + public string? Optional + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/TopLevelStructProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(ITopLevelStruct), fullyQualifiedName: \\"jsii-calc.TopLevelStruct\\")] + internal sealed class TopLevelStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.ITopLevelStruct + { + private TopLevelStructProxy(ByRefValue reference): base(reference) + { + } + + /// This is a required field. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"required\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] + public string Required + { + get => GetInstanceProperty(); + } + + /// A union to really stress test our serialization. + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"secondLevel\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.SecondLevelStruct\\\\\\"}]}}\\")] + public object SecondLevel + { + get => GetInstanceProperty(); + } + + /// You don't have to pass this. + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"optional\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] + public string? Optional + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UmaskCheck.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Checks the current file permissions are cool (no funky UMASK down-scoping happened). + /// + /// Stability: Experimental + /// + /// See: https://github.com/aws/jsii/issues/1765 + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.UmaskCheck), fullyQualifiedName: \\"jsii-calc.UmaskCheck\\")] + public class UmaskCheck : DeputyBase + { + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected UmaskCheck(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected UmaskCheck(DeputyProps props): base(props) + { + } + + /// This should return 0o644 (-rw-r--r--). + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"mode\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\")] + public static double Mode() + { + return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.UmaskCheck), new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnaryOperation.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// An operation on a single operand. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.UnaryOperation), fullyQualifiedName: \\"jsii-calc.UnaryOperation\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"operand\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}}]\\")] + public abstract class UnaryOperation : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Operation + { + /// + /// Stability: Experimental + /// + protected UnaryOperation(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ operand): base(new DeputyProps(new object[]{operand})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected UnaryOperation(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected UnaryOperation(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"operand\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.Value\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Operand + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnaryOperationProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// An operation on a single operand. + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.UnaryOperation), fullyQualifiedName: \\"jsii-calc.UnaryOperation\\")] + internal sealed class UnaryOperationProxy : Amazon.JSII.Tests.CalculatorNamespace.UnaryOperation + { + private UnaryOperationProxy(ByRefValue reference): base(reference) + { + } + + /// The value. + /// + /// Stability: Deprecated + /// + [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}\\")] + [System.Obsolete()] + public override double Value + { + get => GetInstanceProperty(); + } + + /// String representation of the value. + /// + /// Stability: Deprecated + /// + [JsiiMethod(name: \\"toString\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", isOverride: true)] + [System.Obsolete()] + public override string ToString() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnionProperties.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + #pragma warning disable CS8618 + + /// + /// Stability: Experimental + /// + [JsiiByValue(fqn: \\"jsii-calc.UnionProperties\\")] + public class UnionProperties : Amazon.JSII.Tests.CalculatorNamespace.IUnionProperties + { + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.AllTypes\\\\\\"}]}}\\", isOverride: true)] + public object Bar + { + get; + set; + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}]}}\\", isOptional: true, isOverride: true)] + public object? Foo + { + get; + set; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnionPropertiesProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(IUnionProperties), fullyQualifiedName: \\"jsii-calc.UnionProperties\\")] + internal sealed class UnionPropertiesProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IUnionProperties + { + private UnionPropertiesProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"bar\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.AllTypes\\\\\\"}]}}\\")] + public object Bar + { + get => GetInstanceProperty(); + } + + /// + /// Stability: Experimental + /// + [JsiiOptional] + [JsiiProperty(name: \\"foo\\", typeJson: \\"{\\\\\\"union\\\\\\":{\\\\\\"types\\\\\\":[{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}]}}\\", isOptional: true)] + public object? Foo + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UpcasingReflectable.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Ensures submodule-imported types from dependencies can be used correctly. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.UpcasingReflectable), fullyQualifiedName: \\"jsii-calc.UpcasingReflectable\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"delegate\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"map\\\\\\"}}}]\\")] + public class UpcasingReflectable : DeputyBase, Amazon.JSII.Tests.CustomSubmoduleName.IReflectable + { + /// + /// Stability: Experimental + /// + public UpcasingReflectable(System.Collections.Generic.IDictionary @delegate): base(new DeputyProps(new object[]{@delegate})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected UpcasingReflectable(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected UpcasingReflectable(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"reflector\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.submodule.Reflector\\\\\\"}\\")] + public static Amazon.JSII.Tests.CustomSubmoduleName.Reflector Reflector + { + get; + } + = GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.UpcasingReflectable)); + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"entries\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-lib.submodule.ReflectableEntry\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] + public virtual Amazon.JSII.Tests.CustomSubmoduleName.IReflectableEntry[] Entries + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UseBundledDependency.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.UseBundledDependency), fullyQualifiedName: \\"jsii-calc.UseBundledDependency\\")] + public class UseBundledDependency : DeputyBase + { + /// + /// Stability: Experimental + /// + public UseBundledDependency(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected UseBundledDependency(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected UseBundledDependency(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"value\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}}\\")] + public virtual object Value() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UseCalcBase.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Depend on a type from jsii-calc-base as a test for awslabs/jsii#128. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.UseCalcBase), fullyQualifiedName: \\"jsii-calc.UseCalcBase\\")] + public class UseCalcBase : DeputyBase + { + /// + /// Stability: Experimental + /// + public UseCalcBase(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected UseCalcBase(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected UseCalcBase(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"hello\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"@scope/jsii-calc-base.Base\\\\\\"}}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Base Hello() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UsesInterfaceWithProperties.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.UsesInterfaceWithProperties), fullyQualifiedName: \\"jsii-calc.UsesInterfaceWithProperties\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"obj\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IInterfaceWithProperties\\\\\\"}}]\\")] + public class UsesInterfaceWithProperties : DeputyBase + { + /// + /// Stability: Experimental + /// + public UsesInterfaceWithProperties(Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithProperties obj): base(new DeputyProps(new object[]{obj})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected UsesInterfaceWithProperties(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected UsesInterfaceWithProperties(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"justRead\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\")] + public virtual string JustRead() + { + return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"readStringAndNumber\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"ext\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IInterfaceWithPropertiesExtension\\\\\\"}}]\\")] + public virtual string ReadStringAndNumber(Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithPropertiesExtension ext) + { + return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithPropertiesExtension)}, new object[]{ext}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"writeAndRead\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"value\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public virtual string WriteAndRead(string @value) + { + return InvokeInstanceMethod(new System.Type[]{typeof(string)}, new object[]{@value}); + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"obj\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.IInterfaceWithProperties\\\\\\"}\\")] + public virtual Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithProperties Obj + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VariadicInvoker.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.VariadicInvoker), fullyQualifiedName: \\"jsii-calc.VariadicInvoker\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"method\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"jsii-calc.VariadicMethod\\\\\\"}}]\\")] + public class VariadicInvoker : DeputyBase + { + /// + /// Stability: Experimental + /// + public VariadicInvoker(Amazon.JSII.Tests.CalculatorNamespace.VariadicMethod method): base(new DeputyProps(new object[]{method})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected VariadicInvoker(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected VariadicInvoker(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"asArray\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"values\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},\\\\\\"variadic\\\\\\":true}]\\")] + public virtual double[] AsArray(params double[] values) + { + return InvokeInstanceMethod(new System.Type[]{typeof(double[])}, new object[]{values}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VariadicMethod.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.VariadicMethod), fullyQualifiedName: \\"jsii-calc.VariadicMethod\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"a prefix that will be use for all values returned by \`#asArray\`.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"prefix\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},\\\\\\"variadic\\\\\\":true}]\\")] + public class VariadicMethod : DeputyBase + { + /// a prefix that will be use for all values returned by \`#asArray\`. + /// + /// Stability: Experimental + /// + public VariadicMethod(params double[] prefix): base(new DeputyProps(new object[]{prefix})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected VariadicMethod(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected VariadicMethod(DeputyProps props): base(props) + { + } + + /// the first element of the array to be returned (after the \`prefix\` provided at construction time). + /// other elements to be included in the array. + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"asArray\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}}\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"the first element of the array to be returned (after the \`prefix\` provided at construction time).\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"first\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}},{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"other elements to be included in the array.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"others\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"},\\\\\\"variadic\\\\\\":true}]\\")] + public virtual double[] AsArray(double first, params double[] others) + { + return InvokeInstanceMethod(new System.Type[]{typeof(double), typeof(double[])}, new object[]{first, others}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VirtualMethodPlayground.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.VirtualMethodPlayground), fullyQualifiedName: \\"jsii-calc.VirtualMethodPlayground\\")] + public class VirtualMethodPlayground : DeputyBase + { + /// + /// Stability: Experimental + /// + public VirtualMethodPlayground(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected VirtualMethodPlayground(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected VirtualMethodPlayground(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"overrideMeAsync\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"index\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\", isAsync: true)] + public virtual double OverrideMeAsync(double index) + { + return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{index}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"overrideMeSync\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"index\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public virtual double OverrideMeSync(double index) + { + return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{index}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"parallelSumAsync\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"count\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\", isAsync: true)] + public virtual double ParallelSumAsync(double count) + { + return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{count}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"serialSumAsync\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"count\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\", isAsync: true)] + public virtual double SerialSumAsync(double count) + { + return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{count}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"sumSync\\", returnsJson: \\"{\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"count\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"number\\\\\\"}}]\\")] + public virtual double SumSync(double count) + { + return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{count}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VoidCallback.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// This test is used to validate the runtimes can return correctly from a void callback. + /// + /// + /// Implement overrideMe (method does not have to do anything). + /// Invoke callMe + /// Verify that methodWasCalled is true. + /// + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.VoidCallback), fullyQualifiedName: \\"jsii-calc.VoidCallback\\")] + public abstract class VoidCallback : DeputyBase + { + /// + /// Stability: Experimental + /// + protected VoidCallback(): base(new DeputyProps(new object[]{})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected VoidCallback(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected VoidCallback(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"callMe\\")] + public virtual void CallMe() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"overrideMe\\")] + protected abstract void OverrideMe(); + + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"methodWasCalled\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public virtual bool MethodWasCalled + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VoidCallbackProxy.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// This test is used to validate the runtimes can return correctly from a void callback. + /// + /// + /// Implement overrideMe (method does not have to do anything). + /// Invoke callMe + /// Verify that methodWasCalled is true. + /// + /// + /// Stability: Experimental + /// + [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.VoidCallback), fullyQualifiedName: \\"jsii-calc.VoidCallback\\")] + internal sealed class VoidCallbackProxy : Amazon.JSII.Tests.CalculatorNamespace.VoidCallback + { + private VoidCallbackProxy(ByRefValue reference): base(reference) + { + } + + /// + /// Stability: Experimental + /// + [JsiiMethod(name: \\"overrideMe\\")] + protected override void OverrideMe() + { + InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/WithPrivatePropertyInConstructor.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +#pragma warning disable CS0672,CS0809,CS1591 + +namespace Amazon.JSII.Tests.CalculatorNamespace +{ + /// Verifies that private property declarations in constructor arguments are hidden. + /// + /// Stability: Experimental + /// + [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.WithPrivatePropertyInConstructor), fullyQualifiedName: \\"jsii-calc.WithPrivatePropertyInConstructor\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"privateField\\\\\\",\\\\\\"optional\\\\\\":true,\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}}]\\")] + public class WithPrivatePropertyInConstructor : DeputyBase + { + /// + /// Stability: Experimental + /// + public WithPrivatePropertyInConstructor(string? privateField = null): base(new DeputyProps(new object?[]{privateField})) + { + } + + /// Used by jsii to construct an instance of this class from a Javascript-owned object reference + /// The Javascript-owned object reference + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected WithPrivatePropertyInConstructor(ByRefValue reference): base(reference) + { + } + + /// Used by jsii to construct an instance of this class from DeputyProps + /// The deputy props + [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] + protected WithPrivatePropertyInConstructor(DeputyProps props): base(props) + { + } + + /// + /// Stability: Experimental + /// + [JsiiProperty(name: \\"success\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\")] + public virtual bool Success + { + get => GetInstanceProperty(); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/AssemblyInfo.cs 1`] = ` +Object { + Symbol(file): "using Amazon.JSII.Runtime.Deputy; + +[assembly: JsiiAssembly(\\"jsii-calc\\", \\"0.0.0\\", \\"jsii-calc-0.0.0.tgz\\")] +", +} +`; + +exports[`Generated code for "jsii-calc": /dotnet/Amazon.JSII.Tests.CalculatorPackageId/jsii-calc-0.0.0.tgz 1`] = `dotnet/Amazon.JSII.Tests.CalculatorPackageId/jsii-calc-0.0.0.tgz is a tarball`; + +exports[`Generated code for "jsii-calc": /java/pom.xml 1`] = ` +Object { + Symbol(file): " + + 4.0.0 + \${project.groupId}:\${project.artifactId} + A simple calcuator built on JSII. + https://github.com/aws/jsii + + + Apache License 2.0 + http://www.apache.org/licenses/LICENSE-2.0 + repo + An OSI-approved license + + + + + Amazon Web Services + + author + + https://aws.amazon.com + + + Elad Ben-Israel + + maintainer + + https://github.com/eladb + + + Rico Huijbers + + maintainer + + https://github.com/rix0rrr + + + Romain Marcadier-Muller + + maintainer + + https://github.com/RomainMuller + + + + scm:git:https://github.com/aws/jsii.git + https://github.com/aws/jsii.git + + software.amazon.jsii.tests + calculator + 0.0.0 + jar + + UTF-8 + + + + software.amazon.jsii.tests + calculator-base + [0.0.0,0.0.1) + + + software.amazon.jsii.tests + calculator-base-of-base + [0.0.0,0.0.1) + + + software.amazon.jsii.tests + calculator-lib + [0.0.0.DEVPREVIEW,0.0.1.DEVPREVIEW) + + + software.amazon.jsii + jsii-runtime + [0.0.0,0.0.1) + + + org.jetbrains + annotations + [16.0.3,20.0.0) + + + + javax.annotation + javax.annotation-api + [1.3.2,1.4.0) + compile + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + + + + org.apache.maven.plugins + maven-jar-plugin + 3.2.0 + + + true + + true + true + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.2.1 + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.1.1 + + + attach-javadocs + + jar + + + + + false + protected + + **/$Module.java + + -J-XX:+TieredCompilation + -J-XX:TieredStopAtLevel=1 + + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.0.0-M3 + + + enforce-maven + + enforce + + + + + 3.6 + + + + + + + + org.codehaus.mojo + versions-maven-plugin + 2.7 + + false + + + + + +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/$Module.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +import static java.util.Arrays.asList; + +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.IOException; +import java.io.Reader; +import java.io.UncheckedIOException; + +import java.nio.charset.StandardCharsets; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import software.amazon.jsii.JsiiModule; + +public final class $Module extends JsiiModule { + private static final Map MODULE_TYPES = load(); + + private static Map load() { + final Map result = new HashMap<>(); + final ClassLoader cl = $Module.class.getClassLoader(); + try (final InputStream is = cl.getResourceAsStream(\\"software/amazon/jsii/tests/calculator/$Module.txt\\"); + final Reader rd = new InputStreamReader(is, StandardCharsets.UTF_8); + final BufferedReader br = new BufferedReader(rd)) { + br.lines() + .filter(line -> !line.trim().isEmpty()) + .forEach(line -> { + final String[] parts = line.split(\\"=\\", 2); + final String fqn = parts[0]; + final String className = parts[1]; + result.put(fqn, className); + }); + } + catch (final IOException exception) { + throw new UncheckedIOException(exception); + } + return result; + } + + private final Map> cache = new HashMap<>(); + + public $Module() { + super(\\"jsii-calc\\", \\"0.0.0\\", $Module.class, \\"jsii-calc@0.0.0.jsii.tgz\\"); + } + + @Override + public List> getDependencies() { + return asList(software.amazon.jsii.tests.calculator.base.$Module.class, software.amazon.jsii.tests.calculator.baseofbase.$Module.class, software.amazon.jsii.tests.calculator.lib.$Module.class); + } + + @Override + protected Class resolveClass(final String fqn) throws ClassNotFoundException { + if (!MODULE_TYPES.containsKey(fqn)) { + throw new ClassNotFoundException(\\"Unknown JSII type: \\" + fqn); + } + String className = MODULE_TYPES.get(fqn); + if (!this.cache.containsKey(className)) { + this.cache.put(className, this.findClass(className)); + } + return this.cache.get(className); + } + + private Class findClass(final String binaryName) { + try { + return Class.forName(binaryName); + } + catch (final ClassNotFoundException exception) { + throw new RuntimeException(exception); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/AbstractClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.AbstractClass\\") +public abstract class AbstractClass extends software.amazon.jsii.tests.calculator.AbstractClassBase implements software.amazon.jsii.tests.calculator.IInterfaceImplementedByAbstractClass { + + protected AbstractClass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected AbstractClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected AbstractClass() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param name This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public abstract @org.jetbrains.annotations.NotNull java.lang.String abstractMethod(final @org.jetbrains.annotations.NotNull java.lang.String name); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number nonAbstractMethod() { + return this.jsiiCall(\\"nonAbstractMethod\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getPropFromInterface() { + return this.jsiiGet(\\"propFromInterface\\", java.lang.String.class); + } + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.AbstractClass { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getPropFromInterface() { + return this.jsiiGet(\\"propFromInterface\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getAbstractProperty() { + return this.jsiiGet(\\"abstractProperty\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + *

+ * @param name This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String abstractMethod(final @org.jetbrains.annotations.NotNull java.lang.String name) { + return this.jsiiCall(\\"abstractMethod\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(name, \\"name is required\\") }); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/AbstractClassBase.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.AbstractClassBase\\") +public abstract class AbstractClassBase extends software.amazon.jsii.JsiiObject { + + protected AbstractClassBase(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected AbstractClassBase(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected AbstractClassBase() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public abstract @org.jetbrains.annotations.NotNull java.lang.String getAbstractProperty(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.AbstractClassBase { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getAbstractProperty() { + return this.jsiiGet(\\"abstractProperty\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/AbstractClassReturner.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.AbstractClassReturner\\") +public class AbstractClassReturner extends software.amazon.jsii.JsiiObject { + + protected AbstractClassReturner(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected AbstractClassReturner(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public AbstractClassReturner() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.AbstractClass giveMeAbstract() { + return this.jsiiCall(\\"giveMeAbstract\\", software.amazon.jsii.tests.calculator.AbstractClass.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IInterfaceImplementedByAbstractClass giveMeInterface() { + return this.jsiiCall(\\"giveMeInterface\\", software.amazon.jsii.tests.calculator.IInterfaceImplementedByAbstractClass.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.AbstractClassBase getReturnAbstractFromProperty() { + return this.jsiiGet(\\"returnAbstractFromProperty\\", software.amazon.jsii.tests.calculator.AbstractClassBase.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/AbstractSuite.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Ensures abstract members implementations correctly register overrides in various languages. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.AbstractSuite\\") +public abstract class AbstractSuite extends software.amazon.jsii.JsiiObject { + + protected AbstractSuite(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected AbstractSuite(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected AbstractSuite() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param str This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected abstract @org.jetbrains.annotations.NotNull java.lang.String someMethod(final @org.jetbrains.annotations.NotNull java.lang.String str); + + /** + * Sets \`seed\` to \`this.property\`, then calls \`someMethod\` with \`this.property\` and returns the result. + *

+ * EXPERIMENTAL + *

+ * @param seed a \`string\`. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String workItAll(final @org.jetbrains.annotations.NotNull java.lang.String seed) { + return this.jsiiCall(\\"workItAll\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(seed, \\"seed is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected abstract @org.jetbrains.annotations.NotNull java.lang.String getProperty(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected abstract void setProperty(final @org.jetbrains.annotations.NotNull java.lang.String value); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.AbstractSuite { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected @org.jetbrains.annotations.NotNull java.lang.String getProperty() { + return this.jsiiGet(\\"property\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected void setProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"property\\", java.util.Objects.requireNonNull(value, \\"property is required\\")); + } + + /** + * EXPERIMENTAL + *

+ * @param str This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + protected @org.jetbrains.annotations.NotNull java.lang.String someMethod(final @org.jetbrains.annotations.NotNull java.lang.String str) { + return this.jsiiCall(\\"someMethod\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(str, \\"str is required\\") }); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Add.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * The \\"+\\" binary operation. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Add\\") +public class Add extends software.amazon.jsii.tests.calculator.BinaryOperation { + + protected Add(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Add(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * Creates a BinaryOperation. + *

+ * EXPERIMENTAL + *

+ * @param lhs Left-hand side operand. This parameter is required. + * @param rhs Right-hand side operand. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Add(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value lhs, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value rhs) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(lhs, \\"lhs is required\\"), java.util.Objects.requireNonNull(rhs, \\"rhs is required\\") }); + } + + /** + * String representation of the value. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String toString() { + return this.jsiiCall(\\"toString\\", java.lang.String.class); + } + + /** + * The value. + *

+ * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { + return this.jsiiGet(\\"value\\", java.lang.Number.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/AllTypes.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * This class includes property for all types supported by jsii. + *

+ * The setters will validate + * that the value set is of the expected type and throw otherwise. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.AllTypes\\") +public class AllTypes extends software.amazon.jsii.JsiiObject { + + protected AllTypes(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected AllTypes(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public AllTypes() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param inp This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void anyIn(final @org.jetbrains.annotations.NotNull java.lang.Object inp) { + this.jsiiCall(\\"anyIn\\", software.amazon.jsii.NativeType.VOID, new Object[] { inp }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Object anyOut() { + return this.jsiiCall(\\"anyOut\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + *

+ * @param value This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StringEnum enumMethod(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StringEnum value) { + return this.jsiiCall(\\"enumMethod\\", software.amazon.jsii.tests.calculator.StringEnum.class, new Object[] { java.util.Objects.requireNonNull(value, \\"value is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getEnumPropertyValue() { + return this.jsiiGet(\\"enumPropertyValue\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.List getAnyArrayProperty() { + return java.util.Collections.unmodifiableList(this.jsiiGet(\\"anyArrayProperty\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setAnyArrayProperty(final @org.jetbrains.annotations.NotNull java.util.List value) { + this.jsiiSet(\\"anyArrayProperty\\", java.util.Objects.requireNonNull(value, \\"anyArrayProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.Map getAnyMapProperty() { + return java.util.Collections.unmodifiableMap(this.jsiiGet(\\"anyMapProperty\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setAnyMapProperty(final @org.jetbrains.annotations.NotNull java.util.Map value) { + this.jsiiSet(\\"anyMapProperty\\", java.util.Objects.requireNonNull(value, \\"anyMapProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Object getAnyProperty() { + return this.jsiiGet(\\"anyProperty\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setAnyProperty(final @org.jetbrains.annotations.NotNull java.lang.Object value) { + this.jsiiSet(\\"anyProperty\\", java.util.Objects.requireNonNull(value, \\"anyProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.List getArrayProperty() { + return java.util.Collections.unmodifiableList(this.jsiiGet(\\"arrayProperty\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setArrayProperty(final @org.jetbrains.annotations.NotNull java.util.List value) { + this.jsiiSet(\\"arrayProperty\\", java.util.Objects.requireNonNull(value, \\"arrayProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean getBooleanProperty() { + return this.jsiiGet(\\"booleanProperty\\", java.lang.Boolean.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setBooleanProperty(final @org.jetbrains.annotations.NotNull java.lang.Boolean value) { + this.jsiiSet(\\"booleanProperty\\", java.util.Objects.requireNonNull(value, \\"booleanProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.time.Instant getDateProperty() { + return this.jsiiGet(\\"dateProperty\\", java.time.Instant.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setDateProperty(final @org.jetbrains.annotations.NotNull java.time.Instant value) { + this.jsiiSet(\\"dateProperty\\", java.util.Objects.requireNonNull(value, \\"dateProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.AllTypesEnum getEnumProperty() { + return this.jsiiGet(\\"enumProperty\\", software.amazon.jsii.tests.calculator.AllTypesEnum.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setEnumProperty(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.AllTypesEnum value) { + this.jsiiSet(\\"enumProperty\\", java.util.Objects.requireNonNull(value, \\"enumProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull com.fasterxml.jackson.databind.node.ObjectNode getJsonProperty() { + return this.jsiiGet(\\"jsonProperty\\", com.fasterxml.jackson.databind.node.ObjectNode.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setJsonProperty(final @org.jetbrains.annotations.NotNull com.fasterxml.jackson.databind.node.ObjectNode value) { + this.jsiiSet(\\"jsonProperty\\", java.util.Objects.requireNonNull(value, \\"jsonProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.Map getMapProperty() { + return java.util.Collections.unmodifiableMap(this.jsiiGet(\\"mapProperty\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.lib.Number.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setMapProperty(final @org.jetbrains.annotations.NotNull java.util.Map value) { + this.jsiiSet(\\"mapProperty\\", java.util.Objects.requireNonNull(value, \\"mapProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getNumberProperty() { + return this.jsiiGet(\\"numberProperty\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setNumberProperty(final @org.jetbrains.annotations.NotNull java.lang.Number value) { + this.jsiiSet(\\"numberProperty\\", java.util.Objects.requireNonNull(value, \\"numberProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getStringProperty() { + return this.jsiiGet(\\"stringProperty\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setStringProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"stringProperty\\", java.util.Objects.requireNonNull(value, \\"stringProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.List getUnionArrayProperty() { + return java.util.Collections.unmodifiableList(this.jsiiGet(\\"unionArrayProperty\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setUnionArrayProperty(final @org.jetbrains.annotations.NotNull java.util.List value) { + this.jsiiSet(\\"unionArrayProperty\\", java.util.Objects.requireNonNull(value, \\"unionArrayProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.Map getUnionMapProperty() { + return java.util.Collections.unmodifiableMap(this.jsiiGet(\\"unionMapProperty\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setUnionMapProperty(final @org.jetbrains.annotations.NotNull java.util.Map value) { + this.jsiiSet(\\"unionMapProperty\\", java.util.Objects.requireNonNull(value, \\"unionMapProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Object getUnionProperty() { + return this.jsiiGet(\\"unionProperty\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setUnionProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"unionProperty\\", java.util.Objects.requireNonNull(value, \\"unionProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setUnionProperty(final @org.jetbrains.annotations.NotNull java.lang.Number value) { + this.jsiiSet(\\"unionProperty\\", java.util.Objects.requireNonNull(value, \\"unionProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setUnionProperty(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Multiply value) { + this.jsiiSet(\\"unionProperty\\", java.util.Objects.requireNonNull(value, \\"unionProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setUnionProperty(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Number value) { + this.jsiiSet(\\"unionProperty\\", java.util.Objects.requireNonNull(value, \\"unionProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.List getUnknownArrayProperty() { + return java.util.Collections.unmodifiableList(this.jsiiGet(\\"unknownArrayProperty\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setUnknownArrayProperty(final @org.jetbrains.annotations.NotNull java.util.List value) { + this.jsiiSet(\\"unknownArrayProperty\\", java.util.Objects.requireNonNull(value, \\"unknownArrayProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.Map getUnknownMapProperty() { + return java.util.Collections.unmodifiableMap(this.jsiiGet(\\"unknownMapProperty\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setUnknownMapProperty(final @org.jetbrains.annotations.NotNull java.util.Map value) { + this.jsiiSet(\\"unknownMapProperty\\", java.util.Objects.requireNonNull(value, \\"unknownMapProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Object getUnknownProperty() { + return this.jsiiGet(\\"unknownProperty\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setUnknownProperty(final @org.jetbrains.annotations.NotNull java.lang.Object value) { + this.jsiiSet(\\"unknownProperty\\", java.util.Objects.requireNonNull(value, \\"unknownProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.StringEnum getOptionalEnumValue() { + return this.jsiiGet(\\"optionalEnumValue\\", software.amazon.jsii.tests.calculator.StringEnum.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setOptionalEnumValue(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.StringEnum value) { + this.jsiiSet(\\"optionalEnumValue\\", value); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/AllTypesEnum.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.AllTypesEnum\\") +public enum AllTypesEnum { + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + MY_ENUM_VALUE, + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + YOUR_ENUM_VALUE, + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + THIS_IS_GREAT, +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/AllowedMethodNames.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.AllowedMethodNames\\") +public class AllowedMethodNames extends software.amazon.jsii.JsiiObject { + + protected AllowedMethodNames(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected AllowedMethodNames(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public AllowedMethodNames() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param _p1 This parameter is required. + * @param _p2 This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void getBar(final @org.jetbrains.annotations.NotNull java.lang.String _p1, final @org.jetbrains.annotations.NotNull java.lang.Number _p2) { + this.jsiiCall(\\"getBar\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(_p1, \\"_p1 is required\\"), java.util.Objects.requireNonNull(_p2, \\"_p2 is required\\") }); + } + + /** + * getXxx() is not allowed (see negatives), but getXxx(a, ...) is okay. + *

+ * EXPERIMENTAL + *

+ * @param withParam This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getFoo(final @org.jetbrains.annotations.NotNull java.lang.String withParam) { + return this.jsiiCall(\\"getFoo\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(withParam, \\"withParam is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param _x This parameter is required. + * @param _y This parameter is required. + * @param _z This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setBar(final @org.jetbrains.annotations.NotNull java.lang.String _x, final @org.jetbrains.annotations.NotNull java.lang.Number _y, final @org.jetbrains.annotations.NotNull java.lang.Boolean _z) { + this.jsiiCall(\\"setBar\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(_x, \\"_x is required\\"), java.util.Objects.requireNonNull(_y, \\"_y is required\\"), java.util.Objects.requireNonNull(_z, \\"_z is required\\") }); + } + + /** + * setFoo(x) is not allowed (see negatives), but setXxx(a, b, ...) is okay. + *

+ * EXPERIMENTAL + *

+ * @param _x This parameter is required. + * @param _y This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setFoo(final @org.jetbrains.annotations.NotNull java.lang.String _x, final @org.jetbrains.annotations.NotNull java.lang.Number _y) { + this.jsiiCall(\\"setFoo\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(_x, \\"_x is required\\"), java.util.Objects.requireNonNull(_y, \\"_y is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/AmbiguousParameters.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.AmbiguousParameters\\") +public class AmbiguousParameters extends software.amazon.jsii.JsiiObject { + + protected AmbiguousParameters(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected AmbiguousParameters(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param scope This parameter is required. + * @param props This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public AmbiguousParameters(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Bell scope, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StructParameterType props) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, \\"scope is required\\"), java.util.Objects.requireNonNull(props, \\"props is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StructParameterType getProps() { + return this.jsiiGet(\\"props\\", software.amazon.jsii.tests.calculator.StructParameterType.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Bell getScope() { + return this.jsiiGet(\\"scope\\", software.amazon.jsii.tests.calculator.Bell.class); + } + + /** + * A fluent builder for {@link software.amazon.jsii.tests.calculator.AmbiguousParameters}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + /** + * EXPERIMENTAL + *

+ * @return a new instance of {@link Builder}. + * @param scope This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static Builder create(final software.amazon.jsii.tests.calculator.Bell scope) { + return new Builder(scope); + } + + private final software.amazon.jsii.tests.calculator.Bell scope; + private final software.amazon.jsii.tests.calculator.StructParameterType.Builder props; + + private Builder(final software.amazon.jsii.tests.calculator.Bell scope) { + this.scope = scope; + this.props = new software.amazon.jsii.tests.calculator.StructParameterType.Builder(); + } + + /** + * EXPERIMENTAL + *

+ * @return {@code this} + * @param scope This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder scope(final java.lang.String scope) { + this.props.scope(scope); + return this; + } + + /** + * EXPERIMENTAL + *

+ * @return {@code this} + * @param props This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder props(final java.lang.Boolean props) { + this.props.props(props); + return this; + } + + /** + * @returns a newly built instance of {@link software.amazon.jsii.tests.calculator.AmbiguousParameters}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public software.amazon.jsii.tests.calculator.AmbiguousParameters build() { + return new software.amazon.jsii.tests.calculator.AmbiguousParameters( + this.scope, + this.props.build() + ); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/AnonymousImplementationProvider.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.AnonymousImplementationProvider\\") +public class AnonymousImplementationProvider extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IAnonymousImplementationProvider { + + protected AnonymousImplementationProvider(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected AnonymousImplementationProvider(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public AnonymousImplementationProvider() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Implementation provideAsClass() { + return this.jsiiCall(\\"provideAsClass\\", software.amazon.jsii.tests.calculator.Implementation.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IAnonymouslyImplementMe provideAsInterface() { + return this.jsiiCall(\\"provideAsInterface\\", software.amazon.jsii.tests.calculator.IAnonymouslyImplementMe.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/AsyncVirtualMethods.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.AsyncVirtualMethods\\") +public class AsyncVirtualMethods extends software.amazon.jsii.JsiiObject { + + protected AsyncVirtualMethods(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected AsyncVirtualMethods(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public AsyncVirtualMethods() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number callMe() { + return this.jsiiAsyncCall(\\"callMe\\", java.lang.Number.class); + } + + /** + * Just calls \\"overrideMeToo\\". + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number callMe2() { + return this.jsiiAsyncCall(\\"callMe2\\", java.lang.Number.class); + } + + /** + * This method calls the \\"callMe\\" async method indirectly, which will then invoke a virtual method. + *

+ * This is a \\"double promise\\" situation, which + * means that callbacks are not going to be available immediate, but only + * after an \\"immediates\\" cycle. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number callMeDoublePromise() { + return this.jsiiAsyncCall(\\"callMeDoublePromise\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number dontOverrideMe() { + return this.jsiiCall(\\"dontOverrideMe\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + *

+ * @param mult This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number overrideMe(final @org.jetbrains.annotations.NotNull java.lang.Number mult) { + return this.jsiiAsyncCall(\\"overrideMe\\", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(mult, \\"mult is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number overrideMeToo() { + return this.jsiiAsyncCall(\\"overrideMeToo\\", java.lang.Number.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/AugmentableClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.AugmentableClass\\") +public class AugmentableClass extends software.amazon.jsii.JsiiObject { + + protected AugmentableClass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected AugmentableClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public AugmentableClass() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void methodOne() { + this.jsiiCall(\\"methodOne\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void methodTwo() { + this.jsiiCall(\\"methodTwo\\", software.amazon.jsii.NativeType.VOID); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/BaseJsii976.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.BaseJsii976\\") +public class BaseJsii976 extends software.amazon.jsii.JsiiObject { + + protected BaseJsii976(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected BaseJsii976(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public BaseJsii976() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Bell.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Bell\\") +public class Bell extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IBell { + + protected Bell(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Bell(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Bell() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void ring() { + this.jsiiCall(\\"ring\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean getRung() { + return this.jsiiGet(\\"rung\\", java.lang.Boolean.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setRung(final @org.jetbrains.annotations.NotNull java.lang.Boolean value) { + this.jsiiSet(\\"rung\\", java.util.Objects.requireNonNull(value, \\"rung is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/BinaryOperation.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Represents an operation with two operands. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.BinaryOperation\\") +public abstract class BinaryOperation extends software.amazon.jsii.tests.calculator.lib.Operation implements software.amazon.jsii.tests.calculator.lib.IFriendly { + + protected BinaryOperation(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected BinaryOperation(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * Creates a BinaryOperation. + *

+ * EXPERIMENTAL + *

+ * @param lhs Left-hand side operand. This parameter is required. + * @param rhs Right-hand side operand. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected BinaryOperation(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value lhs, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value rhs) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(lhs, \\"lhs is required\\"), java.util.Objects.requireNonNull(rhs, \\"rhs is required\\") }); + } + + /** + * Say hello! + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String hello() { + return this.jsiiCall(\\"hello\\", java.lang.String.class); + } + + /** + * Left-hand side operand. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getLhs() { + return this.jsiiGet(\\"lhs\\", software.amazon.jsii.tests.calculator.lib.Value.class); + } + + /** + * Right-hand side operand. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getRhs() { + return this.jsiiGet(\\"rhs\\", software.amazon.jsii.tests.calculator.lib.Value.class); + } + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.BinaryOperation { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * The value. + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { + return this.jsiiGet(\\"value\\", java.lang.Number.class); + } + + /** + * Say hello! + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public @org.jetbrains.annotations.NotNull java.lang.String hello() { + return this.jsiiCall(\\"hello\\", java.lang.String.class); + } + + /** + * String representation of the value. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public @org.jetbrains.annotations.NotNull java.lang.String toString() { + return this.jsiiCall(\\"toString\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Calculator.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * A calculator which maintains a current value and allows adding operations. + *

+ * Here's how you use it: + *

+ *

+ * // Example automatically generated. See https://github.com/aws/jsii/issues/826
+ * Calculator calculator = new Calculator();
+ * calculator.add(5);
+ * calculator.mul(3);
+ * System.out.println(calculator.expression.getValue());
+ * 
+ *

+ * I will repeat this example again, but in an @example tag. + *

+ * Example: + *

+ *

{@code
+ * // Example automatically generated. See https://github.com/aws/jsii/issues/826
+ * Calculator calculator = new Calculator();
+ * calculator.add(5);
+ * calculator.mul(3);
+ * System.out.println(calculator.expression.getValue());}
+ *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Calculator\\") +public class Calculator extends software.amazon.jsii.tests.calculator.composition.CompositeOperation { + + protected Calculator(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Calculator(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * Creates a Calculator object. + *

+ * EXPERIMENTAL + *

+ * @param props Initialization properties. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Calculator(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.CalculatorProps props) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { props }); + } + + /** + * Creates a Calculator object. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Calculator() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * Adds a number to the current value. + *

+ * EXPERIMENTAL + *

+ * @param value This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void add(final @org.jetbrains.annotations.NotNull java.lang.Number value) { + this.jsiiCall(\\"add\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(value, \\"value is required\\") }); + } + + /** + * Multiplies the current value by a number. + *

+ * EXPERIMENTAL + *

+ * @param value This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void mul(final @org.jetbrains.annotations.NotNull java.lang.Number value) { + this.jsiiCall(\\"mul\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(value, \\"value is required\\") }); + } + + /** + * Negates the current value. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void neg() { + this.jsiiCall(\\"neg\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * Raises the current value by a power. + *

+ * EXPERIMENTAL + *

+ * @param value This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void pow(final @org.jetbrains.annotations.NotNull java.lang.Number value) { + this.jsiiCall(\\"pow\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(value, \\"value is required\\") }); + } + + /** + * Returns teh value of the union property (if defined). + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number readUnionValue() { + return this.jsiiCall(\\"readUnionValue\\", java.lang.Number.class); + } + + /** + * Returns the expression. + *

+ * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getExpression() { + return this.jsiiGet(\\"expression\\", software.amazon.jsii.tests.calculator.lib.Value.class); + } + + /** + * A log of all operations. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.List getOperationsLog() { + return java.util.Collections.unmodifiableList(this.jsiiGet(\\"operationsLog\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.lib.Value.class)))); + } + + /** + * A map of per operation name of all operations performed. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.Map> getOperationsMap() { + return java.util.Collections.unmodifiableMap(this.jsiiGet(\\"operationsMap\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.lib.Value.class))))); + } + + /** + * The current value. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getCurr() { + return this.jsiiGet(\\"curr\\", software.amazon.jsii.tests.calculator.lib.Value.class); + } + + /** + * The current value. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setCurr(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value value) { + this.jsiiSet(\\"curr\\", java.util.Objects.requireNonNull(value, \\"curr is required\\")); + } + + /** + * The maximum value allows in this calculator. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable java.lang.Number getMaxValue() { + return this.jsiiGet(\\"maxValue\\", java.lang.Number.class); + } + + /** + * The maximum value allows in this calculator. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setMaxValue(final @org.jetbrains.annotations.Nullable java.lang.Number value) { + this.jsiiSet(\\"maxValue\\", value); + } + + /** + * Example of a property that accepts a union of types. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable java.lang.Object getUnionProperty() { + return this.jsiiGet(\\"unionProperty\\", java.lang.Object.class); + } + + /** + * Example of a property that accepts a union of types. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setUnionProperty(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.Add value) { + this.jsiiSet(\\"unionProperty\\", value); + } + + /** + * Example of a property that accepts a union of types. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setUnionProperty(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.Multiply value) { + this.jsiiSet(\\"unionProperty\\", value); + } + + /** + * Example of a property that accepts a union of types. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setUnionProperty(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.Power value) { + this.jsiiSet(\\"unionProperty\\", value); + } + + /** + * A fluent builder for {@link software.amazon.jsii.tests.calculator.Calculator}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + /** + * EXPERIMENTAL + *

+ * @return a new instance of {@link Builder}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static Builder create() { + return new Builder(); + } + + private software.amazon.jsii.tests.calculator.CalculatorProps.Builder props; + + private Builder() { + } + + /** + * The initial value of the calculator. + *

+ * NOTE: Any number works here, it's fine. + *

+ * Default: 0 + *

+ * EXPERIMENTAL + *

+ * @return {@code this} + * @param initialValue The initial value of the calculator. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder initialValue(final java.lang.Number initialValue) { + this.props().initialValue(initialValue); + return this; + } + + /** + * The maximum value the calculator can store. + *

+ * Default: none + *

+ * EXPERIMENTAL + *

+ * @return {@code this} + * @param maximumValue The maximum value the calculator can store. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder maximumValue(final java.lang.Number maximumValue) { + this.props().maximumValue(maximumValue); + return this; + } + + /** + * @returns a newly built instance of {@link software.amazon.jsii.tests.calculator.Calculator}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public software.amazon.jsii.tests.calculator.Calculator build() { + return new software.amazon.jsii.tests.calculator.Calculator( + this.props != null ? this.props.build() : null + ); + } + + private software.amazon.jsii.tests.calculator.CalculatorProps.Builder props() { + if (this.props == null) { + this.props = new software.amazon.jsii.tests.calculator.CalculatorProps.Builder(); + } + return this.props; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/CalculatorProps.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Properties for Calculator. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.CalculatorProps\\") +@software.amazon.jsii.Jsii.Proxy(CalculatorProps.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface CalculatorProps extends software.amazon.jsii.JsiiSerializable { + + /** + * The initial value of the calculator. + *

+ * NOTE: Any number works here, it's fine. + *

+ * Default: 0 + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.Number getInitialValue() { + return null; + } + + /** + * The maximum value the calculator can store. + *

+ * Default: none + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.Number getMaximumValue() { + return null; + } + + /** + * @return a {@link Builder} of {@link CalculatorProps} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link CalculatorProps} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.Number initialValue; + private java.lang.Number maximumValue; + + /** + * Sets the value of {@link CalculatorProps#getInitialValue} + * @param initialValue The initial value of the calculator. + * NOTE: Any number works here, it's fine. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder initialValue(java.lang.Number initialValue) { + this.initialValue = initialValue; + return this; + } + + /** + * Sets the value of {@link CalculatorProps#getMaximumValue} + * @param maximumValue The maximum value the calculator can store. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder maximumValue(java.lang.Number maximumValue) { + this.maximumValue = maximumValue; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link CalculatorProps} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public CalculatorProps build() { + return new Jsii$Proxy(initialValue, maximumValue); + } + } + + /** + * An implementation for {@link CalculatorProps} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CalculatorProps { + private final java.lang.Number initialValue; + private final java.lang.Number maximumValue; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.initialValue = this.jsiiGet(\\"initialValue\\", java.lang.Number.class); + this.maximumValue = this.jsiiGet(\\"maximumValue\\", java.lang.Number.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.Number initialValue, final java.lang.Number maximumValue) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.initialValue = initialValue; + this.maximumValue = maximumValue; + } + + @Override + public java.lang.Number getInitialValue() { + return this.initialValue; + } + + @Override + public java.lang.Number getMaximumValue() { + return this.maximumValue; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + if (this.getInitialValue() != null) { + data.set(\\"initialValue\\", om.valueToTree(this.getInitialValue())); + } + if (this.getMaximumValue() != null) { + data.set(\\"maximumValue\\", om.valueToTree(this.getMaximumValue())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.CalculatorProps\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + CalculatorProps.Jsii$Proxy that = (CalculatorProps.Jsii$Proxy) o; + + if (this.initialValue != null ? !this.initialValue.equals(that.initialValue) : that.initialValue != null) return false; + return this.maximumValue != null ? this.maximumValue.equals(that.maximumValue) : that.maximumValue == null; + } + + @Override + public int hashCode() { + int result = this.initialValue != null ? this.initialValue.hashCode() : 0; + result = 31 * result + (this.maximumValue != null ? this.maximumValue.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ChildStruct982.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ChildStruct982\\") +@software.amazon.jsii.Jsii.Proxy(ChildStruct982.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface ChildStruct982 extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.ParentStruct982 { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Number getBar(); + + /** + * @return a {@link Builder} of {@link ChildStruct982} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link ChildStruct982} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.Number bar; + private java.lang.String foo; + + /** + * Sets the value of {@link ChildStruct982#getBar} + * @param bar the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder bar(java.lang.Number bar) { + this.bar = bar; + return this; + } + + /** + * Sets the value of {@link ChildStruct982#getFoo} + * @param foo the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder foo(java.lang.String foo) { + this.foo = foo; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link ChildStruct982} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public ChildStruct982 build() { + return new Jsii$Proxy(bar, foo); + } + } + + /** + * An implementation for {@link ChildStruct982} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ChildStruct982 { + private final java.lang.Number bar; + private final java.lang.String foo; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.bar = this.jsiiGet(\\"bar\\", java.lang.Number.class); + this.foo = this.jsiiGet(\\"foo\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.Number bar, final java.lang.String foo) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.bar = java.util.Objects.requireNonNull(bar, \\"bar is required\\"); + this.foo = java.util.Objects.requireNonNull(foo, \\"foo is required\\"); + } + + @Override + public java.lang.Number getBar() { + return this.bar; + } + + @Override + public java.lang.String getFoo() { + return this.foo; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"bar\\", om.valueToTree(this.getBar())); + data.set(\\"foo\\", om.valueToTree(this.getFoo())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.ChildStruct982\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + ChildStruct982.Jsii$Proxy that = (ChildStruct982.Jsii$Proxy) o; + + if (!bar.equals(that.bar)) return false; + return this.foo.equals(that.foo); + } + + @Override + public int hashCode() { + int result = this.bar.hashCode(); + result = 31 * result + (this.foo.hashCode()); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ClassThatImplementsTheInternalInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ClassThatImplementsTheInternalInterface\\") +public class ClassThatImplementsTheInternalInterface extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.INonInternalInterface { + + protected ClassThatImplementsTheInternalInterface(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ClassThatImplementsTheInternalInterface(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ClassThatImplementsTheInternalInterface() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getA() { + return this.jsiiGet(\\"a\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setA(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"a\\", java.util.Objects.requireNonNull(value, \\"a is required\\")); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getB() { + return this.jsiiGet(\\"b\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setB(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"b\\", java.util.Objects.requireNonNull(value, \\"b is required\\")); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getC() { + return this.jsiiGet(\\"c\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setC(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"c\\", java.util.Objects.requireNonNull(value, \\"c is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getD() { + return this.jsiiGet(\\"d\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setD(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"d\\", java.util.Objects.requireNonNull(value, \\"d is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ClassThatImplementsThePrivateInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ClassThatImplementsThePrivateInterface\\") +public class ClassThatImplementsThePrivateInterface extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.INonInternalInterface { + + protected ClassThatImplementsThePrivateInterface(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ClassThatImplementsThePrivateInterface(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ClassThatImplementsThePrivateInterface() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getA() { + return this.jsiiGet(\\"a\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setA(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"a\\", java.util.Objects.requireNonNull(value, \\"a is required\\")); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getB() { + return this.jsiiGet(\\"b\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setB(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"b\\", java.util.Objects.requireNonNull(value, \\"b is required\\")); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getC() { + return this.jsiiGet(\\"c\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setC(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"c\\", java.util.Objects.requireNonNull(value, \\"c is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getE() { + return this.jsiiGet(\\"e\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setE(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"e\\", java.util.Objects.requireNonNull(value, \\"e is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithCollections.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ClassWithCollections\\") +public class ClassWithCollections extends software.amazon.jsii.JsiiObject { + + protected ClassWithCollections(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ClassWithCollections(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param map This parameter is required. + * @param array This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ClassWithCollections(final @org.jetbrains.annotations.NotNull java.util.Map map, final @org.jetbrains.annotations.NotNull java.util.List array) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(map, \\"map is required\\"), java.util.Objects.requireNonNull(array, \\"array is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.util.List createAList() { + return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ClassWithCollections.class, \\"createAList\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.util.Map createAMap() { + return java.util.Collections.unmodifiableMap(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ClassWithCollections.class, \\"createAMap\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.util.List getStaticArray() { + return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.ClassWithCollections.class, \\"staticArray\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static void setStaticArray(final @org.jetbrains.annotations.NotNull java.util.List value) { + software.amazon.jsii.JsiiObject.jsiiStaticSet(software.amazon.jsii.tests.calculator.ClassWithCollections.class, \\"staticArray\\", java.util.Objects.requireNonNull(value, \\"staticArray is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.util.Map getStaticMap() { + return java.util.Collections.unmodifiableMap(software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.ClassWithCollections.class, \\"staticMap\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static void setStaticMap(final @org.jetbrains.annotations.NotNull java.util.Map value) { + software.amazon.jsii.JsiiObject.jsiiStaticSet(software.amazon.jsii.tests.calculator.ClassWithCollections.class, \\"staticMap\\", java.util.Objects.requireNonNull(value, \\"staticMap is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.List getArray() { + return java.util.Collections.unmodifiableList(this.jsiiGet(\\"array\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setArray(final @org.jetbrains.annotations.NotNull java.util.List value) { + this.jsiiSet(\\"array\\", java.util.Objects.requireNonNull(value, \\"array is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.Map getMap() { + return java.util.Collections.unmodifiableMap(this.jsiiGet(\\"map\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setMap(final @org.jetbrains.annotations.NotNull java.util.Map value) { + this.jsiiSet(\\"map\\", java.util.Objects.requireNonNull(value, \\"map is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithDocs.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * This class has docs. + *

+ * The docs are great. They're a bunch of tags. + *

+ * Example: + *

+ *

{@code
+ * // Example automatically generated. See https://github.com/aws/jsii/issues/826
+ * public void anExample() {
+ * }}
+ *

+ * @see https://aws.amazon.com/ + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ClassWithDocs\\") +public class ClassWithDocs extends software.amazon.jsii.JsiiObject { + + protected ClassWithDocs(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ClassWithDocs(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ClassWithDocs() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithJavaReservedWords.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ClassWithJavaReservedWords\\") +public class ClassWithJavaReservedWords extends software.amazon.jsii.JsiiObject { + + protected ClassWithJavaReservedWords(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ClassWithJavaReservedWords(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param int This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ClassWithJavaReservedWords(final @org.jetbrains.annotations.NotNull java.lang.String intValue) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(intValue, \\"intValue is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param assert This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String doImport(final @org.jetbrains.annotations.NotNull java.lang.String assertValue) { + return this.jsiiCall(\\"import\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(assertValue, \\"assertValue is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getIntValue() { + return this.jsiiGet(\\"int\\", java.lang.String.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithMutableObjectLiteralProperty.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ClassWithMutableObjectLiteralProperty\\") +public class ClassWithMutableObjectLiteralProperty extends software.amazon.jsii.JsiiObject { + + protected ClassWithMutableObjectLiteralProperty(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ClassWithMutableObjectLiteralProperty(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ClassWithMutableObjectLiteralProperty() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IMutableObjectLiteral getMutableObject() { + return this.jsiiGet(\\"mutableObject\\", software.amazon.jsii.tests.calculator.IMutableObjectLiteral.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setMutableObject(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IMutableObjectLiteral value) { + this.jsiiSet(\\"mutableObject\\", java.util.Objects.requireNonNull(value, \\"mutableObject is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithPrivateConstructorAndAutomaticProperties.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Class that implements interface properties automatically, but using a private constructor. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties\\") +public class ClassWithPrivateConstructorAndAutomaticProperties extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceWithProperties { + + protected ClassWithPrivateConstructorAndAutomaticProperties(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ClassWithPrivateConstructorAndAutomaticProperties(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param readOnlyString This parameter is required. + * @param readWriteString This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.ClassWithPrivateConstructorAndAutomaticProperties create(final @org.jetbrains.annotations.NotNull java.lang.String readOnlyString, final @org.jetbrains.annotations.NotNull java.lang.String readWriteString) { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ClassWithPrivateConstructorAndAutomaticProperties.class, \\"create\\", software.amazon.jsii.tests.calculator.ClassWithPrivateConstructorAndAutomaticProperties.class, new Object[] { java.util.Objects.requireNonNull(readOnlyString, \\"readOnlyString is required\\"), java.util.Objects.requireNonNull(readWriteString, \\"readWriteString is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getReadOnlyString() { + return this.jsiiGet(\\"readOnlyString\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getReadWriteString() { + return this.jsiiGet(\\"readWriteString\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setReadWriteString(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"readWriteString\\", java.util.Objects.requireNonNull(value, \\"readWriteString is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ConfusingToJackson.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * This tries to confuse Jackson by having overloaded property setters. + *

+ * EXPERIMENTAL + *

+ * @see https://github.com/aws/aws-cdk/issues/4080 + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ConfusingToJackson\\") +public class ConfusingToJackson extends software.amazon.jsii.JsiiObject { + + protected ConfusingToJackson(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ConfusingToJackson(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.ConfusingToJackson makeInstance() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ConfusingToJackson.class, \\"makeInstance\\", software.amazon.jsii.tests.calculator.ConfusingToJackson.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.ConfusingToJacksonStruct makeStructInstance() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ConfusingToJackson.class, \\"makeStructInstance\\", software.amazon.jsii.tests.calculator.ConfusingToJacksonStruct.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable java.lang.Object getUnionProperty() { + return this.jsiiGet(\\"unionProperty\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setUnionProperty(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.lib.IFriendly value) { + this.jsiiSet(\\"unionProperty\\", value); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setUnionProperty(final @org.jetbrains.annotations.Nullable java.util.List value) { + this.jsiiSet(\\"unionProperty\\", value); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ConfusingToJacksonStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ConfusingToJacksonStruct\\") +@software.amazon.jsii.Jsii.Proxy(ConfusingToJacksonStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface ConfusingToJacksonStruct extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.Object getUnionProperty() { + return null; + } + + /** + * @return a {@link Builder} of {@link ConfusingToJacksonStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link ConfusingToJacksonStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.Object unionProperty; + + /** + * Sets the value of {@link ConfusingToJacksonStruct#getUnionProperty} + * @param unionProperty the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder unionProperty(software.amazon.jsii.tests.calculator.lib.IFriendly unionProperty) { + this.unionProperty = unionProperty; + return this; + } + + /** + * Sets the value of {@link ConfusingToJacksonStruct#getUnionProperty} + * @param unionProperty the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder unionProperty(java.util.List unionProperty) { + this.unionProperty = unionProperty; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link ConfusingToJacksonStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public ConfusingToJacksonStruct build() { + return new Jsii$Proxy(unionProperty); + } + } + + /** + * An implementation for {@link ConfusingToJacksonStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ConfusingToJacksonStruct { + private final java.lang.Object unionProperty; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.unionProperty = this.jsiiGet(\\"unionProperty\\", java.lang.Object.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.Object unionProperty) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.unionProperty = unionProperty; + } + + @Override + public java.lang.Object getUnionProperty() { + return this.unionProperty; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + if (this.getUnionProperty() != null) { + data.set(\\"unionProperty\\", om.valueToTree(this.getUnionProperty())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.ConfusingToJacksonStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + ConfusingToJacksonStruct.Jsii$Proxy that = (ConfusingToJacksonStruct.Jsii$Proxy) o; + + return this.unionProperty != null ? this.unionProperty.equals(that.unionProperty) : that.unionProperty == null; + } + + @Override + public int hashCode() { + int result = this.unionProperty != null ? this.unionProperty.hashCode() : 0; + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ConstructorPassesThisOut.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ConstructorPassesThisOut\\") +public class ConstructorPassesThisOut extends software.amazon.jsii.JsiiObject { + + protected ConstructorPassesThisOut(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ConstructorPassesThisOut(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param consumer This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ConstructorPassesThisOut(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.PartiallyInitializedThisConsumer consumer) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(consumer, \\"consumer is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Constructors.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Constructors\\") +public class Constructors extends software.amazon.jsii.JsiiObject { + + protected Constructors(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Constructors(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Constructors() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IPublicInterface hiddenInterface() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Constructors.class, \\"hiddenInterface\\", software.amazon.jsii.tests.calculator.IPublicInterface.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.util.List hiddenInterfaces() { + return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Constructors.class, \\"hiddenInterfaces\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.IPublicInterface.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.util.List hiddenSubInterfaces() { + return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Constructors.class, \\"hiddenSubInterfaces\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.IPublicInterface.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.PublicClass makeClass() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Constructors.class, \\"makeClass\\", software.amazon.jsii.tests.calculator.PublicClass.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IPublicInterface makeInterface() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Constructors.class, \\"makeInterface\\", software.amazon.jsii.tests.calculator.IPublicInterface.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IPublicInterface2 makeInterface2() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Constructors.class, \\"makeInterface2\\", software.amazon.jsii.tests.calculator.IPublicInterface2.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.util.List makeInterfaces() { + return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Constructors.class, \\"makeInterfaces\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.IPublicInterface.class)))); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ConsumePureInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ConsumePureInterface\\") +public class ConsumePureInterface extends software.amazon.jsii.JsiiObject { + + protected ConsumePureInterface(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ConsumePureInterface(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param delegate This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ConsumePureInterface(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IStructReturningDelegate delegate) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(delegate, \\"delegate is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StructB workItBaby() { + return this.jsiiCall(\\"workItBaby\\", software.amazon.jsii.tests.calculator.StructB.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ConsumerCanRingBell.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Test calling back to consumers that implement interfaces. + *

+ * Check that if a JSII consumer implements IConsumerWithInterfaceParam, they can call + * the method on the argument that they're passed... + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ConsumerCanRingBell\\") +public class ConsumerCanRingBell extends software.amazon.jsii.JsiiObject { + + protected ConsumerCanRingBell(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ConsumerCanRingBell(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ConsumerCanRingBell() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * ...if the interface is implemented using an object literal. + *

+ * Returns whether the bell was rung. + *

+ * EXPERIMENTAL + *

+ * @param ringer This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Boolean staticImplementedByObjectLiteral(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBellRinger ringer) { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ConsumerCanRingBell.class, \\"staticImplementedByObjectLiteral\\", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, \\"ringer is required\\") }); + } + + /** + * ...if the interface is implemented using a private class. + *

+ * Return whether the bell was rung. + *

+ * EXPERIMENTAL + *

+ * @param ringer This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Boolean staticImplementedByPrivateClass(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBellRinger ringer) { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ConsumerCanRingBell.class, \\"staticImplementedByPrivateClass\\", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, \\"ringer is required\\") }); + } + + /** + * ...if the interface is implemented using a public class. + *

+ * Return whether the bell was rung. + *

+ * EXPERIMENTAL + *

+ * @param ringer This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Boolean staticImplementedByPublicClass(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBellRinger ringer) { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ConsumerCanRingBell.class, \\"staticImplementedByPublicClass\\", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, \\"ringer is required\\") }); + } + + /** + * If the parameter is a concrete class instead of an interface. + *

+ * Return whether the bell was rung. + *

+ * EXPERIMENTAL + *

+ * @param ringer This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Boolean staticWhenTypedAsClass(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IConcreteBellRinger ringer) { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ConsumerCanRingBell.class, \\"staticWhenTypedAsClass\\", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, \\"ringer is required\\") }); + } + + /** + * ...if the interface is implemented using an object literal. + *

+ * Returns whether the bell was rung. + *

+ * EXPERIMENTAL + *

+ * @param ringer This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean implementedByObjectLiteral(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBellRinger ringer) { + return this.jsiiCall(\\"implementedByObjectLiteral\\", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, \\"ringer is required\\") }); + } + + /** + * ...if the interface is implemented using a private class. + *

+ * Return whether the bell was rung. + *

+ * EXPERIMENTAL + *

+ * @param ringer This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean implementedByPrivateClass(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBellRinger ringer) { + return this.jsiiCall(\\"implementedByPrivateClass\\", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, \\"ringer is required\\") }); + } + + /** + * ...if the interface is implemented using a public class. + *

+ * Return whether the bell was rung. + *

+ * EXPERIMENTAL + *

+ * @param ringer This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean implementedByPublicClass(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBellRinger ringer) { + return this.jsiiCall(\\"implementedByPublicClass\\", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, \\"ringer is required\\") }); + } + + /** + * If the parameter is a concrete class instead of an interface. + *

+ * Return whether the bell was rung. + *

+ * EXPERIMENTAL + *

+ * @param ringer This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean whenTypedAsClass(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IConcreteBellRinger ringer) { + return this.jsiiCall(\\"whenTypedAsClass\\", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, \\"ringer is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ConsumersOfThisCrazyTypeSystem.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ConsumersOfThisCrazyTypeSystem\\") +public class ConsumersOfThisCrazyTypeSystem extends software.amazon.jsii.JsiiObject { + + protected ConsumersOfThisCrazyTypeSystem(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ConsumersOfThisCrazyTypeSystem(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ConsumersOfThisCrazyTypeSystem() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param obj This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String consumeAnotherPublicInterface(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IAnotherPublicInterface obj) { + return this.jsiiCall(\\"consumeAnotherPublicInterface\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(obj, \\"obj is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param obj This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Object consumeNonInternalInterface(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.INonInternalInterface obj) { + return this.jsiiCall(\\"consumeNonInternalInterface\\", java.lang.Object.class, new Object[] { java.util.Objects.requireNonNull(obj, \\"obj is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DataRenderer.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Verifies proper type handling through dynamic overrides. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DataRenderer\\") +public class DataRenderer extends software.amazon.jsii.JsiiObject { + + protected DataRenderer(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected DataRenderer(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public DataRenderer() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param data + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String render(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.lib.MyFirstStruct data) { + return this.jsiiCall(\\"render\\", java.lang.String.class, new Object[] { data }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String render() { + return this.jsiiCall(\\"render\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + *

+ * @param data This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String renderArbitrary(final @org.jetbrains.annotations.NotNull java.util.Map data) { + return this.jsiiCall(\\"renderArbitrary\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(data, \\"data is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param map This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String renderMap(final @org.jetbrains.annotations.NotNull java.util.Map map) { + return this.jsiiCall(\\"renderMap\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(map, \\"map is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DefaultedConstructorArgument.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DefaultedConstructorArgument\\") +public class DefaultedConstructorArgument extends software.amazon.jsii.JsiiObject { + + protected DefaultedConstructorArgument(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected DefaultedConstructorArgument(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param arg1 + * @param arg2 + * @param arg3 + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public DefaultedConstructorArgument(final @org.jetbrains.annotations.Nullable java.lang.Number arg1, final @org.jetbrains.annotations.Nullable java.lang.String arg2, final @org.jetbrains.annotations.Nullable java.time.Instant arg3) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { arg1, arg2, arg3 }); + } + + /** + * EXPERIMENTAL + *

+ * @param arg1 + * @param arg2 + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public DefaultedConstructorArgument(final @org.jetbrains.annotations.Nullable java.lang.Number arg1, final @org.jetbrains.annotations.Nullable java.lang.String arg2) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { arg1, arg2 }); + } + + /** + * EXPERIMENTAL + *

+ * @param arg1 + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public DefaultedConstructorArgument(final @org.jetbrains.annotations.Nullable java.lang.Number arg1) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { arg1 }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public DefaultedConstructorArgument() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getArg1() { + return this.jsiiGet(\\"arg1\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.time.Instant getArg3() { + return this.jsiiGet(\\"arg3\\", java.time.Instant.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable java.lang.String getArg2() { + return this.jsiiGet(\\"arg2\\", java.lang.String.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Demonstrate982.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * 1. + *

+ * call #takeThis() -> An ObjectRef will be provisioned for the value (it'll be re-used!) + * 2. call #takeThisToo() -> The ObjectRef from before will need to be down-cased to the ParentStruct982 type + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Demonstrate982\\") +public class Demonstrate982 extends software.amazon.jsii.JsiiObject { + + protected Demonstrate982(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Demonstrate982(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Demonstrate982() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * It's dangerous to go alone! + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.ChildStruct982 takeThis() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Demonstrate982.class, \\"takeThis\\", software.amazon.jsii.tests.calculator.ChildStruct982.class); + } + + /** + * It's dangerous to go alone! + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.ParentStruct982 takeThisToo() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Demonstrate982.class, \\"takeThisToo\\", software.amazon.jsii.tests.calculator.ParentStruct982.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DeprecatedClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * @deprecated a pretty boring class + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DeprecatedClass\\") +public class DeprecatedClass extends software.amazon.jsii.JsiiObject { + + protected DeprecatedClass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected DeprecatedClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * @deprecated this constructor is \\"just\\" okay + * @param readonlyString This parameter is required. + * @param mutableNumber + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public DeprecatedClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString, final @org.jetbrains.annotations.Nullable java.lang.Number mutableNumber) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, \\"readonlyString is required\\"), mutableNumber }); + } + + /** + * @deprecated this constructor is \\"just\\" okay + * @param readonlyString This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public DeprecatedClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, \\"readonlyString is required\\") }); + } + + /** + * @deprecated it was a bad idea + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public void method() { + this.jsiiCall(\\"method\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * @deprecated this is not always \\"wazoo\\", be ready to be disappointed + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty() { + return this.jsiiGet(\\"readonlyProperty\\", java.lang.String.class); + } + + /** + * @deprecated shouldn't have been mutable + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { + return this.jsiiGet(\\"mutableProperty\\", java.lang.Number.class); + } + + /** + * @deprecated shouldn't have been mutable + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { + this.jsiiSet(\\"mutableProperty\\", value); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DeprecatedEnum.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * @deprecated your deprecated selection of bad options + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DeprecatedEnum\\") +public enum DeprecatedEnum { + /** + * @deprecated option A is not great + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + OPTION_A, + /** + * @deprecated option B is kinda bad, too + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + OPTION_B, +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DeprecatedStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * @deprecated it just wraps a string + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DeprecatedStruct\\") +@software.amazon.jsii.Jsii.Proxy(DeprecatedStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +public interface DeprecatedStruct extends software.amazon.jsii.JsiiSerializable { + + /** + * @deprecated well, yeah + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty(); + + /** + * @return a {@link Builder} of {@link DeprecatedStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link DeprecatedStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String readonlyProperty; + + /** + * Sets the value of {@link DeprecatedStruct#getReadonlyProperty} + * @param readonlyProperty the value to be set. This parameter is required. + * @return {@code this} + * @deprecated well, yeah + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public Builder readonlyProperty(java.lang.String readonlyProperty) { + this.readonlyProperty = readonlyProperty; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link DeprecatedStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public DeprecatedStruct build() { + return new Jsii$Proxy(readonlyProperty); + } + } + + /** + * An implementation for {@link DeprecatedStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DeprecatedStruct { + private final java.lang.String readonlyProperty; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.readonlyProperty = this.jsiiGet(\\"readonlyProperty\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String readonlyProperty) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.readonlyProperty = java.util.Objects.requireNonNull(readonlyProperty, \\"readonlyProperty is required\\"); + } + + @Override + public java.lang.String getReadonlyProperty() { + return this.readonlyProperty; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"readonlyProperty\\", om.valueToTree(this.getReadonlyProperty())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.DeprecatedStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + DeprecatedStruct.Jsii$Proxy that = (DeprecatedStruct.Jsii$Proxy) o; + + return this.readonlyProperty.equals(that.readonlyProperty); + } + + @Override + public int hashCode() { + int result = this.readonlyProperty.hashCode(); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DerivedStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * A struct which derives from another struct. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DerivedStruct\\") +@software.amazon.jsii.Jsii.Proxy(DerivedStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface DerivedStruct extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.lib.MyFirstStruct { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.time.Instant getAnotherRequired(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Boolean getBool(); + + /** + * An example of a non primitive property. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.DoubleTrouble getNonPrimitive(); + + /** + * This is optional. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.util.Map getAnotherOptional() { + return null; + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.Object getOptionalAny() { + return null; + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.util.List getOptionalArray() { + return null; + } + + /** + * @return a {@link Builder} of {@link DerivedStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link DerivedStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.time.Instant anotherRequired; + private java.lang.Boolean bool; + private software.amazon.jsii.tests.calculator.DoubleTrouble nonPrimitive; + private java.util.Map anotherOptional; + private java.lang.Object optionalAny; + private java.util.List optionalArray; + private java.lang.Number anumber; + private java.lang.String astring; + private java.util.List firstOptional; + + /** + * Sets the value of {@link DerivedStruct#getAnotherRequired} + * @param anotherRequired the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder anotherRequired(java.time.Instant anotherRequired) { + this.anotherRequired = anotherRequired; + return this; + } + + /** + * Sets the value of {@link DerivedStruct#getBool} + * @param bool the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder bool(java.lang.Boolean bool) { + this.bool = bool; + return this; + } + + /** + * Sets the value of {@link DerivedStruct#getNonPrimitive} + * @param nonPrimitive An example of a non primitive property. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder nonPrimitive(software.amazon.jsii.tests.calculator.DoubleTrouble nonPrimitive) { + this.nonPrimitive = nonPrimitive; + return this; + } + + /** + * Sets the value of {@link DerivedStruct#getAnotherOptional} + * @param anotherOptional This is optional. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder anotherOptional(java.util.Map anotherOptional) { + this.anotherOptional = anotherOptional; + return this; + } + + /** + * Sets the value of {@link DerivedStruct#getOptionalAny} + * @param optionalAny the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder optionalAny(java.lang.Object optionalAny) { + this.optionalAny = optionalAny; + return this; + } + + /** + * Sets the value of {@link DerivedStruct#getOptionalArray} + * @param optionalArray the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder optionalArray(java.util.List optionalArray) { + this.optionalArray = optionalArray; + return this; + } + + /** + * Sets the value of {@link DerivedStruct#getAnumber} + * @param anumber An awesome number value. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public Builder anumber(java.lang.Number anumber) { + this.anumber = anumber; + return this; + } + + /** + * Sets the value of {@link DerivedStruct#getAstring} + * @param astring A string value. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public Builder astring(java.lang.String astring) { + this.astring = astring; + return this; + } + + /** + * Sets the value of {@link DerivedStruct#getFirstOptional} + * @param firstOptional the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public Builder firstOptional(java.util.List firstOptional) { + this.firstOptional = firstOptional; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link DerivedStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public DerivedStruct build() { + return new Jsii$Proxy(anotherRequired, bool, nonPrimitive, anotherOptional, optionalAny, optionalArray, anumber, astring, firstOptional); + } + } + + /** + * An implementation for {@link DerivedStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DerivedStruct { + private final java.time.Instant anotherRequired; + private final java.lang.Boolean bool; + private final software.amazon.jsii.tests.calculator.DoubleTrouble nonPrimitive; + private final java.util.Map anotherOptional; + private final java.lang.Object optionalAny; + private final java.util.List optionalArray; + private final java.lang.Number anumber; + private final java.lang.String astring; + private final java.util.List firstOptional; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.anotherRequired = this.jsiiGet(\\"anotherRequired\\", java.time.Instant.class); + this.bool = this.jsiiGet(\\"bool\\", java.lang.Boolean.class); + this.nonPrimitive = this.jsiiGet(\\"nonPrimitive\\", software.amazon.jsii.tests.calculator.DoubleTrouble.class); + this.anotherOptional = this.jsiiGet(\\"anotherOptional\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.lib.Value.class))); + this.optionalAny = this.jsiiGet(\\"optionalAny\\", java.lang.Object.class); + this.optionalArray = this.jsiiGet(\\"optionalArray\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); + this.anumber = this.jsiiGet(\\"anumber\\", java.lang.Number.class); + this.astring = this.jsiiGet(\\"astring\\", java.lang.String.class); + this.firstOptional = this.jsiiGet(\\"firstOptional\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.time.Instant anotherRequired, final java.lang.Boolean bool, final software.amazon.jsii.tests.calculator.DoubleTrouble nonPrimitive, final java.util.Map anotherOptional, final java.lang.Object optionalAny, final java.util.List optionalArray, final java.lang.Number anumber, final java.lang.String astring, final java.util.List firstOptional) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.anotherRequired = java.util.Objects.requireNonNull(anotherRequired, \\"anotherRequired is required\\"); + this.bool = java.util.Objects.requireNonNull(bool, \\"bool is required\\"); + this.nonPrimitive = java.util.Objects.requireNonNull(nonPrimitive, \\"nonPrimitive is required\\"); + this.anotherOptional = anotherOptional; + this.optionalAny = optionalAny; + this.optionalArray = optionalArray; + this.anumber = java.util.Objects.requireNonNull(anumber, \\"anumber is required\\"); + this.astring = java.util.Objects.requireNonNull(astring, \\"astring is required\\"); + this.firstOptional = firstOptional; + } + + @Override + public java.time.Instant getAnotherRequired() { + return this.anotherRequired; + } + + @Override + public java.lang.Boolean getBool() { + return this.bool; + } + + @Override + public software.amazon.jsii.tests.calculator.DoubleTrouble getNonPrimitive() { + return this.nonPrimitive; + } + + @Override + public java.util.Map getAnotherOptional() { + return this.anotherOptional; + } + + @Override + public java.lang.Object getOptionalAny() { + return this.optionalAny; + } + + @Override + public java.util.List getOptionalArray() { + return this.optionalArray; + } + + @Override + public java.lang.Number getAnumber() { + return this.anumber; + } + + @Override + public java.lang.String getAstring() { + return this.astring; + } + + @Override + public java.util.List getFirstOptional() { + return this.firstOptional; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"anotherRequired\\", om.valueToTree(this.getAnotherRequired())); + data.set(\\"bool\\", om.valueToTree(this.getBool())); + data.set(\\"nonPrimitive\\", om.valueToTree(this.getNonPrimitive())); + if (this.getAnotherOptional() != null) { + data.set(\\"anotherOptional\\", om.valueToTree(this.getAnotherOptional())); + } + if (this.getOptionalAny() != null) { + data.set(\\"optionalAny\\", om.valueToTree(this.getOptionalAny())); + } + if (this.getOptionalArray() != null) { + data.set(\\"optionalArray\\", om.valueToTree(this.getOptionalArray())); + } + data.set(\\"anumber\\", om.valueToTree(this.getAnumber())); + data.set(\\"astring\\", om.valueToTree(this.getAstring())); + if (this.getFirstOptional() != null) { + data.set(\\"firstOptional\\", om.valueToTree(this.getFirstOptional())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.DerivedStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + DerivedStruct.Jsii$Proxy that = (DerivedStruct.Jsii$Proxy) o; + + if (!anotherRequired.equals(that.anotherRequired)) return false; + if (!bool.equals(that.bool)) return false; + if (!nonPrimitive.equals(that.nonPrimitive)) return false; + if (this.anotherOptional != null ? !this.anotherOptional.equals(that.anotherOptional) : that.anotherOptional != null) return false; + if (this.optionalAny != null ? !this.optionalAny.equals(that.optionalAny) : that.optionalAny != null) return false; + if (this.optionalArray != null ? !this.optionalArray.equals(that.optionalArray) : that.optionalArray != null) return false; + if (!anumber.equals(that.anumber)) return false; + if (!astring.equals(that.astring)) return false; + return this.firstOptional != null ? this.firstOptional.equals(that.firstOptional) : that.firstOptional == null; + } + + @Override + public int hashCode() { + int result = this.anotherRequired.hashCode(); + result = 31 * result + (this.bool.hashCode()); + result = 31 * result + (this.nonPrimitive.hashCode()); + result = 31 * result + (this.anotherOptional != null ? this.anotherOptional.hashCode() : 0); + result = 31 * result + (this.optionalAny != null ? this.optionalAny.hashCode() : 0); + result = 31 * result + (this.optionalArray != null ? this.optionalArray.hashCode() : 0); + result = 31 * result + (this.anumber.hashCode()); + result = 31 * result + (this.astring.hashCode()); + result = 31 * result + (this.firstOptional != null ? this.firstOptional.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceBaseLevelStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DiamondInheritanceBaseLevelStruct\\") +@software.amazon.jsii.Jsii.Proxy(DiamondInheritanceBaseLevelStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface DiamondInheritanceBaseLevelStruct extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getBaseLevelProperty(); + + /** + * @return a {@link Builder} of {@link DiamondInheritanceBaseLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link DiamondInheritanceBaseLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String baseLevelProperty; + + /** + * Sets the value of {@link DiamondInheritanceBaseLevelStruct#getBaseLevelProperty} + * @param baseLevelProperty the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder baseLevelProperty(java.lang.String baseLevelProperty) { + this.baseLevelProperty = baseLevelProperty; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link DiamondInheritanceBaseLevelStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public DiamondInheritanceBaseLevelStruct build() { + return new Jsii$Proxy(baseLevelProperty); + } + } + + /** + * An implementation for {@link DiamondInheritanceBaseLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DiamondInheritanceBaseLevelStruct { + private final java.lang.String baseLevelProperty; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.baseLevelProperty = this.jsiiGet(\\"baseLevelProperty\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String baseLevelProperty) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.baseLevelProperty = java.util.Objects.requireNonNull(baseLevelProperty, \\"baseLevelProperty is required\\"); + } + + @Override + public java.lang.String getBaseLevelProperty() { + return this.baseLevelProperty; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"baseLevelProperty\\", om.valueToTree(this.getBaseLevelProperty())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.DiamondInheritanceBaseLevelStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + DiamondInheritanceBaseLevelStruct.Jsii$Proxy that = (DiamondInheritanceBaseLevelStruct.Jsii$Proxy) o; + + return this.baseLevelProperty.equals(that.baseLevelProperty); + } + + @Override + public int hashCode() { + int result = this.baseLevelProperty.hashCode(); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceFirstMidLevelStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DiamondInheritanceFirstMidLevelStruct\\") +@software.amazon.jsii.Jsii.Proxy(DiamondInheritanceFirstMidLevelStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface DiamondInheritanceFirstMidLevelStruct extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.DiamondInheritanceBaseLevelStruct { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getFirstMidLevelProperty(); + + /** + * @return a {@link Builder} of {@link DiamondInheritanceFirstMidLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link DiamondInheritanceFirstMidLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String firstMidLevelProperty; + private java.lang.String baseLevelProperty; + + /** + * Sets the value of {@link DiamondInheritanceFirstMidLevelStruct#getFirstMidLevelProperty} + * @param firstMidLevelProperty the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder firstMidLevelProperty(java.lang.String firstMidLevelProperty) { + this.firstMidLevelProperty = firstMidLevelProperty; + return this; + } + + /** + * Sets the value of {@link DiamondInheritanceFirstMidLevelStruct#getBaseLevelProperty} + * @param baseLevelProperty the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder baseLevelProperty(java.lang.String baseLevelProperty) { + this.baseLevelProperty = baseLevelProperty; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link DiamondInheritanceFirstMidLevelStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public DiamondInheritanceFirstMidLevelStruct build() { + return new Jsii$Proxy(firstMidLevelProperty, baseLevelProperty); + } + } + + /** + * An implementation for {@link DiamondInheritanceFirstMidLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DiamondInheritanceFirstMidLevelStruct { + private final java.lang.String firstMidLevelProperty; + private final java.lang.String baseLevelProperty; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.firstMidLevelProperty = this.jsiiGet(\\"firstMidLevelProperty\\", java.lang.String.class); + this.baseLevelProperty = this.jsiiGet(\\"baseLevelProperty\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String firstMidLevelProperty, final java.lang.String baseLevelProperty) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.firstMidLevelProperty = java.util.Objects.requireNonNull(firstMidLevelProperty, \\"firstMidLevelProperty is required\\"); + this.baseLevelProperty = java.util.Objects.requireNonNull(baseLevelProperty, \\"baseLevelProperty is required\\"); + } + + @Override + public java.lang.String getFirstMidLevelProperty() { + return this.firstMidLevelProperty; + } + + @Override + public java.lang.String getBaseLevelProperty() { + return this.baseLevelProperty; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"firstMidLevelProperty\\", om.valueToTree(this.getFirstMidLevelProperty())); + data.set(\\"baseLevelProperty\\", om.valueToTree(this.getBaseLevelProperty())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.DiamondInheritanceFirstMidLevelStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + DiamondInheritanceFirstMidLevelStruct.Jsii$Proxy that = (DiamondInheritanceFirstMidLevelStruct.Jsii$Proxy) o; + + if (!firstMidLevelProperty.equals(that.firstMidLevelProperty)) return false; + return this.baseLevelProperty.equals(that.baseLevelProperty); + } + + @Override + public int hashCode() { + int result = this.firstMidLevelProperty.hashCode(); + result = 31 * result + (this.baseLevelProperty.hashCode()); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceSecondMidLevelStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DiamondInheritanceSecondMidLevelStruct\\") +@software.amazon.jsii.Jsii.Proxy(DiamondInheritanceSecondMidLevelStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface DiamondInheritanceSecondMidLevelStruct extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.DiamondInheritanceBaseLevelStruct { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getSecondMidLevelProperty(); + + /** + * @return a {@link Builder} of {@link DiamondInheritanceSecondMidLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link DiamondInheritanceSecondMidLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String secondMidLevelProperty; + private java.lang.String baseLevelProperty; + + /** + * Sets the value of {@link DiamondInheritanceSecondMidLevelStruct#getSecondMidLevelProperty} + * @param secondMidLevelProperty the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder secondMidLevelProperty(java.lang.String secondMidLevelProperty) { + this.secondMidLevelProperty = secondMidLevelProperty; + return this; + } + + /** + * Sets the value of {@link DiamondInheritanceSecondMidLevelStruct#getBaseLevelProperty} + * @param baseLevelProperty the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder baseLevelProperty(java.lang.String baseLevelProperty) { + this.baseLevelProperty = baseLevelProperty; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link DiamondInheritanceSecondMidLevelStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public DiamondInheritanceSecondMidLevelStruct build() { + return new Jsii$Proxy(secondMidLevelProperty, baseLevelProperty); + } + } + + /** + * An implementation for {@link DiamondInheritanceSecondMidLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DiamondInheritanceSecondMidLevelStruct { + private final java.lang.String secondMidLevelProperty; + private final java.lang.String baseLevelProperty; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.secondMidLevelProperty = this.jsiiGet(\\"secondMidLevelProperty\\", java.lang.String.class); + this.baseLevelProperty = this.jsiiGet(\\"baseLevelProperty\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String secondMidLevelProperty, final java.lang.String baseLevelProperty) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.secondMidLevelProperty = java.util.Objects.requireNonNull(secondMidLevelProperty, \\"secondMidLevelProperty is required\\"); + this.baseLevelProperty = java.util.Objects.requireNonNull(baseLevelProperty, \\"baseLevelProperty is required\\"); + } + + @Override + public java.lang.String getSecondMidLevelProperty() { + return this.secondMidLevelProperty; + } + + @Override + public java.lang.String getBaseLevelProperty() { + return this.baseLevelProperty; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"secondMidLevelProperty\\", om.valueToTree(this.getSecondMidLevelProperty())); + data.set(\\"baseLevelProperty\\", om.valueToTree(this.getBaseLevelProperty())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.DiamondInheritanceSecondMidLevelStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + DiamondInheritanceSecondMidLevelStruct.Jsii$Proxy that = (DiamondInheritanceSecondMidLevelStruct.Jsii$Proxy) o; + + if (!secondMidLevelProperty.equals(that.secondMidLevelProperty)) return false; + return this.baseLevelProperty.equals(that.baseLevelProperty); + } + + @Override + public int hashCode() { + int result = this.secondMidLevelProperty.hashCode(); + result = 31 * result + (this.baseLevelProperty.hashCode()); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceTopLevelStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DiamondInheritanceTopLevelStruct\\") +@software.amazon.jsii.Jsii.Proxy(DiamondInheritanceTopLevelStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface DiamondInheritanceTopLevelStruct extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.DiamondInheritanceFirstMidLevelStruct, software.amazon.jsii.tests.calculator.DiamondInheritanceSecondMidLevelStruct { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getTopLevelProperty(); + + /** + * @return a {@link Builder} of {@link DiamondInheritanceTopLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link DiamondInheritanceTopLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String topLevelProperty; + private java.lang.String firstMidLevelProperty; + private java.lang.String baseLevelProperty; + private java.lang.String secondMidLevelProperty; + + /** + * Sets the value of {@link DiamondInheritanceTopLevelStruct#getTopLevelProperty} + * @param topLevelProperty the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder topLevelProperty(java.lang.String topLevelProperty) { + this.topLevelProperty = topLevelProperty; + return this; + } + + /** + * Sets the value of {@link DiamondInheritanceTopLevelStruct#getFirstMidLevelProperty} + * @param firstMidLevelProperty the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder firstMidLevelProperty(java.lang.String firstMidLevelProperty) { + this.firstMidLevelProperty = firstMidLevelProperty; + return this; + } + + /** + * Sets the value of {@link DiamondInheritanceTopLevelStruct#getBaseLevelProperty} + * @param baseLevelProperty the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder baseLevelProperty(java.lang.String baseLevelProperty) { + this.baseLevelProperty = baseLevelProperty; + return this; + } + + /** + * Sets the value of {@link DiamondInheritanceTopLevelStruct#getSecondMidLevelProperty} + * @param secondMidLevelProperty the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder secondMidLevelProperty(java.lang.String secondMidLevelProperty) { + this.secondMidLevelProperty = secondMidLevelProperty; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link DiamondInheritanceTopLevelStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public DiamondInheritanceTopLevelStruct build() { + return new Jsii$Proxy(topLevelProperty, firstMidLevelProperty, baseLevelProperty, secondMidLevelProperty); + } + } + + /** + * An implementation for {@link DiamondInheritanceTopLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DiamondInheritanceTopLevelStruct { + private final java.lang.String topLevelProperty; + private final java.lang.String firstMidLevelProperty; + private final java.lang.String baseLevelProperty; + private final java.lang.String secondMidLevelProperty; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.topLevelProperty = this.jsiiGet(\\"topLevelProperty\\", java.lang.String.class); + this.firstMidLevelProperty = this.jsiiGet(\\"firstMidLevelProperty\\", java.lang.String.class); + this.baseLevelProperty = this.jsiiGet(\\"baseLevelProperty\\", java.lang.String.class); + this.secondMidLevelProperty = this.jsiiGet(\\"secondMidLevelProperty\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String topLevelProperty, final java.lang.String firstMidLevelProperty, final java.lang.String baseLevelProperty, final java.lang.String secondMidLevelProperty) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.topLevelProperty = java.util.Objects.requireNonNull(topLevelProperty, \\"topLevelProperty is required\\"); + this.firstMidLevelProperty = java.util.Objects.requireNonNull(firstMidLevelProperty, \\"firstMidLevelProperty is required\\"); + this.baseLevelProperty = java.util.Objects.requireNonNull(baseLevelProperty, \\"baseLevelProperty is required\\"); + this.secondMidLevelProperty = java.util.Objects.requireNonNull(secondMidLevelProperty, \\"secondMidLevelProperty is required\\"); + } + + @Override + public java.lang.String getTopLevelProperty() { + return this.topLevelProperty; + } + + @Override + public java.lang.String getFirstMidLevelProperty() { + return this.firstMidLevelProperty; + } + + @Override + public java.lang.String getBaseLevelProperty() { + return this.baseLevelProperty; + } + + @Override + public java.lang.String getSecondMidLevelProperty() { + return this.secondMidLevelProperty; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"topLevelProperty\\", om.valueToTree(this.getTopLevelProperty())); + data.set(\\"firstMidLevelProperty\\", om.valueToTree(this.getFirstMidLevelProperty())); + data.set(\\"baseLevelProperty\\", om.valueToTree(this.getBaseLevelProperty())); + data.set(\\"secondMidLevelProperty\\", om.valueToTree(this.getSecondMidLevelProperty())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.DiamondInheritanceTopLevelStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + DiamondInheritanceTopLevelStruct.Jsii$Proxy that = (DiamondInheritanceTopLevelStruct.Jsii$Proxy) o; + + if (!topLevelProperty.equals(that.topLevelProperty)) return false; + if (!firstMidLevelProperty.equals(that.firstMidLevelProperty)) return false; + if (!baseLevelProperty.equals(that.baseLevelProperty)) return false; + return this.secondMidLevelProperty.equals(that.secondMidLevelProperty); + } + + @Override + public int hashCode() { + int result = this.topLevelProperty.hashCode(); + result = 31 * result + (this.firstMidLevelProperty.hashCode()); + result = 31 * result + (this.baseLevelProperty.hashCode()); + result = 31 * result + (this.secondMidLevelProperty.hashCode()); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DisappointingCollectionSource.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Verifies that null/undefined can be returned for optional collections. + *

+ * This source of collections is disappointing - it'll always give you nothing :( + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DisappointingCollectionSource\\") +public class DisappointingCollectionSource extends software.amazon.jsii.JsiiObject { + + protected DisappointingCollectionSource(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected DisappointingCollectionSource(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + static { + MAYBE_LIST = java.util.Optional.ofNullable((java.util.List)(software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.DisappointingCollectionSource.class, \\"maybeList\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))))).map(java.util.Collections::unmodifiableList).orElse(null); + MAYBE_MAP = java.util.Optional.ofNullable((java.util.Map)(software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.DisappointingCollectionSource.class, \\"maybeMap\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Number.class))))).map(java.util.Collections::unmodifiableMap).orElse(null); + } + + /** + * Some List of strings, maybe? + *

+ * (Nah, just a billion dollars mistake!) + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public final static java.util.List MAYBE_LIST; + + /** + * Some Map of strings to numbers, maybe? + *

+ * (Nah, just a billion dollars mistake!) + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public final static java.util.Map MAYBE_MAP; +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DoNotOverridePrivates.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DoNotOverridePrivates\\") +public class DoNotOverridePrivates extends software.amazon.jsii.JsiiObject { + + protected DoNotOverridePrivates(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected DoNotOverridePrivates(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public DoNotOverridePrivates() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param newValue This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void changePrivatePropertyValue(final @org.jetbrains.annotations.NotNull java.lang.String newValue) { + this.jsiiCall(\\"changePrivatePropertyValue\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(newValue, \\"newValue is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String privateMethodValue() { + return this.jsiiCall(\\"privateMethodValue\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String privatePropertyValue() { + return this.jsiiCall(\\"privatePropertyValue\\", java.lang.String.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DoNotRecognizeAnyAsOptional.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * jsii#284: do not recognize \\"any\\" as an optional argument. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DoNotRecognizeAnyAsOptional\\") +public class DoNotRecognizeAnyAsOptional extends software.amazon.jsii.JsiiObject { + + protected DoNotRecognizeAnyAsOptional(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected DoNotRecognizeAnyAsOptional(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public DoNotRecognizeAnyAsOptional() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param _requiredAny This parameter is required. + * @param _optionalAny + * @param _optionalString + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void method(final @org.jetbrains.annotations.NotNull java.lang.Object _requiredAny, final @org.jetbrains.annotations.Nullable java.lang.Object _optionalAny, final @org.jetbrains.annotations.Nullable java.lang.String _optionalString) { + this.jsiiCall(\\"method\\", software.amazon.jsii.NativeType.VOID, new Object[] { _requiredAny, _optionalAny, _optionalString }); + } + + /** + * EXPERIMENTAL + *

+ * @param _requiredAny This parameter is required. + * @param _optionalAny + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void method(final @org.jetbrains.annotations.NotNull java.lang.Object _requiredAny, final @org.jetbrains.annotations.Nullable java.lang.Object _optionalAny) { + this.jsiiCall(\\"method\\", software.amazon.jsii.NativeType.VOID, new Object[] { _requiredAny, _optionalAny }); + } + + /** + * EXPERIMENTAL + *

+ * @param _requiredAny This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void method(final @org.jetbrains.annotations.NotNull java.lang.Object _requiredAny) { + this.jsiiCall(\\"method\\", software.amazon.jsii.NativeType.VOID, new Object[] { _requiredAny }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DocumentedClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Here's the first line of the TSDoc comment. + *

+ * This is the meat of the TSDoc comment. It may contain + * multiple lines and multiple paragraphs. + *

+ * Multiple paragraphs are separated by an empty line. + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DocumentedClass\\") +public class DocumentedClass extends software.amazon.jsii.JsiiObject { + + protected DocumentedClass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected DocumentedClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public DocumentedClass() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * Greet the indicated person. + *

+ * This will print out a friendly greeting intended for + * the indicated person. + *

+ * @return A number that everyone knows very well + * @param greetee The person to be greeted. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + public @org.jetbrains.annotations.NotNull java.lang.Number greet(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.Greetee greetee) { + return this.jsiiCall(\\"greet\\", java.lang.Number.class, new Object[] { greetee }); + } + + /** + * Greet the indicated person. + *

+ * This will print out a friendly greeting intended for + * the indicated person. + *

+ * @return A number that everyone knows very well + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + public @org.jetbrains.annotations.NotNull java.lang.Number greet() { + return this.jsiiCall(\\"greet\\", java.lang.Number.class); + } + + /** + * Say ¡Hola! + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void hola() { + this.jsiiCall(\\"hola\\", software.amazon.jsii.NativeType.VOID); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DontComplainAboutVariadicAfterOptional.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DontComplainAboutVariadicAfterOptional\\") +public class DontComplainAboutVariadicAfterOptional extends software.amazon.jsii.JsiiObject { + + protected DontComplainAboutVariadicAfterOptional(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected DontComplainAboutVariadicAfterOptional(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public DontComplainAboutVariadicAfterOptional() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param optional + * @param things This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String optionalAndVariadic(final @org.jetbrains.annotations.Nullable java.lang.String optional, final @org.jetbrains.annotations.NotNull java.lang.String... things) { + return this.jsiiCall(\\"optionalAndVariadic\\", java.lang.String.class, java.util.stream.Stream.concat(java.util.Arrays.stream(new Object[] { optional }), java.util.Arrays.stream(things)).toArray(Object[]::new)); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/DoubleTrouble.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DoubleTrouble\\") +public class DoubleTrouble extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IFriendlyRandomGenerator { + + protected DoubleTrouble(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected DoubleTrouble(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public DoubleTrouble() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * Say hello! + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String hello() { + return this.jsiiCall(\\"hello\\", java.lang.String.class); + } + + /** + * Returns another random number. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.Number next() { + return this.jsiiCall(\\"next\\", java.lang.Number.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/EnumDispenser.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.EnumDispenser\\") +public class EnumDispenser extends software.amazon.jsii.JsiiObject { + + protected EnumDispenser(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected EnumDispenser(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.AllTypesEnum randomIntegerLikeEnum() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.EnumDispenser.class, \\"randomIntegerLikeEnum\\", software.amazon.jsii.tests.calculator.AllTypesEnum.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StringEnum randomStringLikeEnum() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.EnumDispenser.class, \\"randomStringLikeEnum\\", software.amazon.jsii.tests.calculator.StringEnum.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/EraseUndefinedHashValues.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.EraseUndefinedHashValues\\") +public class EraseUndefinedHashValues extends software.amazon.jsii.JsiiObject { + + protected EraseUndefinedHashValues(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected EraseUndefinedHashValues(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public EraseUndefinedHashValues() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * Returns \`true\` if \`key\` is defined in \`opts\`. + *

+ * Used to check that undefined/null hash values + * are being erased when sending values from native code to JS. + *

+ * EXPERIMENTAL + *

+ * @param opts This parameter is required. + * @param key This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Boolean doesKeyExist(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.EraseUndefinedHashValuesOptions opts, final @org.jetbrains.annotations.NotNull java.lang.String key) { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.EraseUndefinedHashValues.class, \\"doesKeyExist\\", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(opts, \\"opts is required\\"), java.util.Objects.requireNonNull(key, \\"key is required\\") }); + } + + /** + * We expect \\"prop1\\" to be erased. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.util.Map prop1IsNull() { + return java.util.Collections.unmodifiableMap(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.EraseUndefinedHashValues.class, \\"prop1IsNull\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); + } + + /** + * We expect \\"prop2\\" to be erased. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.util.Map prop2IsUndefined() { + return java.util.Collections.unmodifiableMap(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.EraseUndefinedHashValues.class, \\"prop2IsUndefined\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/EraseUndefinedHashValuesOptions.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.EraseUndefinedHashValuesOptions\\") +@software.amazon.jsii.Jsii.Proxy(EraseUndefinedHashValuesOptions.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface EraseUndefinedHashValuesOptions extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.String getOption1() { + return null; + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.String getOption2() { + return null; + } + + /** + * @return a {@link Builder} of {@link EraseUndefinedHashValuesOptions} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link EraseUndefinedHashValuesOptions} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String option1; + private java.lang.String option2; + + /** + * Sets the value of {@link EraseUndefinedHashValuesOptions#getOption1} + * @param option1 the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder option1(java.lang.String option1) { + this.option1 = option1; + return this; + } + + /** + * Sets the value of {@link EraseUndefinedHashValuesOptions#getOption2} + * @param option2 the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder option2(java.lang.String option2) { + this.option2 = option2; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link EraseUndefinedHashValuesOptions} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public EraseUndefinedHashValuesOptions build() { + return new Jsii$Proxy(option1, option2); + } + } + + /** + * An implementation for {@link EraseUndefinedHashValuesOptions} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements EraseUndefinedHashValuesOptions { + private final java.lang.String option1; + private final java.lang.String option2; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.option1 = this.jsiiGet(\\"option1\\", java.lang.String.class); + this.option2 = this.jsiiGet(\\"option2\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String option1, final java.lang.String option2) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.option1 = option1; + this.option2 = option2; + } + + @Override + public java.lang.String getOption1() { + return this.option1; + } + + @Override + public java.lang.String getOption2() { + return this.option2; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + if (this.getOption1() != null) { + data.set(\\"option1\\", om.valueToTree(this.getOption1())); + } + if (this.getOption2() != null) { + data.set(\\"option2\\", om.valueToTree(this.getOption2())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.EraseUndefinedHashValuesOptions\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + EraseUndefinedHashValuesOptions.Jsii$Proxy that = (EraseUndefinedHashValuesOptions.Jsii$Proxy) o; + + if (this.option1 != null ? !this.option1.equals(that.option1) : that.option1 != null) return false; + return this.option2 != null ? this.option2.equals(that.option2) : that.option2 == null; + } + + @Override + public int hashCode() { + int result = this.option1 != null ? this.option1.hashCode() : 0; + result = 31 * result + (this.option2 != null ? this.option2.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ExperimentalClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ExperimentalClass\\") +public class ExperimentalClass extends software.amazon.jsii.JsiiObject { + + protected ExperimentalClass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ExperimentalClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param readonlyString This parameter is required. + * @param mutableNumber + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ExperimentalClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString, final @org.jetbrains.annotations.Nullable java.lang.Number mutableNumber) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, \\"readonlyString is required\\"), mutableNumber }); + } + + /** + * EXPERIMENTAL + *

+ * @param readonlyString This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ExperimentalClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, \\"readonlyString is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void method() { + this.jsiiCall(\\"method\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty() { + return this.jsiiGet(\\"readonlyProperty\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { + return this.jsiiGet(\\"mutableProperty\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { + this.jsiiSet(\\"mutableProperty\\", value); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ExperimentalEnum.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ExperimentalEnum\\") +public enum ExperimentalEnum { + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + OPTION_A, + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + OPTION_B, +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ExperimentalStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ExperimentalStruct\\") +@software.amazon.jsii.Jsii.Proxy(ExperimentalStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface ExperimentalStruct extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty(); + + /** + * @return a {@link Builder} of {@link ExperimentalStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link ExperimentalStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String readonlyProperty; + + /** + * Sets the value of {@link ExperimentalStruct#getReadonlyProperty} + * @param readonlyProperty the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder readonlyProperty(java.lang.String readonlyProperty) { + this.readonlyProperty = readonlyProperty; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link ExperimentalStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public ExperimentalStruct build() { + return new Jsii$Proxy(readonlyProperty); + } + } + + /** + * An implementation for {@link ExperimentalStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ExperimentalStruct { + private final java.lang.String readonlyProperty; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.readonlyProperty = this.jsiiGet(\\"readonlyProperty\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String readonlyProperty) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.readonlyProperty = java.util.Objects.requireNonNull(readonlyProperty, \\"readonlyProperty is required\\"); + } + + @Override + public java.lang.String getReadonlyProperty() { + return this.readonlyProperty; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"readonlyProperty\\", om.valueToTree(this.getReadonlyProperty())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.ExperimentalStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + ExperimentalStruct.Jsii$Proxy that = (ExperimentalStruct.Jsii$Proxy) o; + + return this.readonlyProperty.equals(that.readonlyProperty); + } + + @Override + public int hashCode() { + int result = this.readonlyProperty.hashCode(); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ExportedBaseClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ExportedBaseClass\\") +public class ExportedBaseClass extends software.amazon.jsii.JsiiObject { + + protected ExportedBaseClass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ExportedBaseClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param success This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ExportedBaseClass(final @org.jetbrains.annotations.NotNull java.lang.Boolean success) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(success, \\"success is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean getSuccess() { + return this.jsiiGet(\\"success\\", java.lang.Boolean.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ExtendsInternalInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ExtendsInternalInterface\\") +@software.amazon.jsii.Jsii.Proxy(ExtendsInternalInterface.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface ExtendsInternalInterface extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Boolean getBoom(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getProp(); + + /** + * @return a {@link Builder} of {@link ExtendsInternalInterface} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link ExtendsInternalInterface} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.Boolean boom; + private java.lang.String prop; + + /** + * Sets the value of {@link ExtendsInternalInterface#getBoom} + * @param boom the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder boom(java.lang.Boolean boom) { + this.boom = boom; + return this; + } + + /** + * Sets the value of {@link ExtendsInternalInterface#getProp} + * @param prop the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder prop(java.lang.String prop) { + this.prop = prop; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link ExtendsInternalInterface} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public ExtendsInternalInterface build() { + return new Jsii$Proxy(boom, prop); + } + } + + /** + * An implementation for {@link ExtendsInternalInterface} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ExtendsInternalInterface { + private final java.lang.Boolean boom; + private final java.lang.String prop; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.boom = this.jsiiGet(\\"boom\\", java.lang.Boolean.class); + this.prop = this.jsiiGet(\\"prop\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.Boolean boom, final java.lang.String prop) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.boom = java.util.Objects.requireNonNull(boom, \\"boom is required\\"); + this.prop = java.util.Objects.requireNonNull(prop, \\"prop is required\\"); + } + + @Override + public java.lang.Boolean getBoom() { + return this.boom; + } + + @Override + public java.lang.String getProp() { + return this.prop; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"boom\\", om.valueToTree(this.getBoom())); + data.set(\\"prop\\", om.valueToTree(this.getProp())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.ExtendsInternalInterface\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + ExtendsInternalInterface.Jsii$Proxy that = (ExtendsInternalInterface.Jsii$Proxy) o; + + if (!boom.equals(that.boom)) return false; + return this.prop.equals(that.prop); + } + + @Override + public int hashCode() { + int result = this.boom.hashCode(); + result = 31 * result + (this.prop.hashCode()); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ExternalClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ExternalClass\\") +public class ExternalClass extends software.amazon.jsii.JsiiObject { + + protected ExternalClass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ExternalClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param readonlyString This parameter is required. + * @param mutableNumber + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ExternalClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString, final @org.jetbrains.annotations.Nullable java.lang.Number mutableNumber) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, \\"readonlyString is required\\"), mutableNumber }); + } + + /** + * EXPERIMENTAL + *

+ * @param readonlyString This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ExternalClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, \\"readonlyString is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void method() { + this.jsiiCall(\\"method\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty() { + return this.jsiiGet(\\"readonlyProperty\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { + return this.jsiiGet(\\"mutableProperty\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { + this.jsiiSet(\\"mutableProperty\\", value); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ExternalEnum.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ExternalEnum\\") +public enum ExternalEnum { + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + OPTION_A, + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + OPTION_B, +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ExternalStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ExternalStruct\\") +@software.amazon.jsii.Jsii.Proxy(ExternalStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface ExternalStruct extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty(); + + /** + * @return a {@link Builder} of {@link ExternalStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link ExternalStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String readonlyProperty; + + /** + * Sets the value of {@link ExternalStruct#getReadonlyProperty} + * @param readonlyProperty the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder readonlyProperty(java.lang.String readonlyProperty) { + this.readonlyProperty = readonlyProperty; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link ExternalStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public ExternalStruct build() { + return new Jsii$Proxy(readonlyProperty); + } + } + + /** + * An implementation for {@link ExternalStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ExternalStruct { + private final java.lang.String readonlyProperty; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.readonlyProperty = this.jsiiGet(\\"readonlyProperty\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String readonlyProperty) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.readonlyProperty = java.util.Objects.requireNonNull(readonlyProperty, \\"readonlyProperty is required\\"); + } + + @Override + public java.lang.String getReadonlyProperty() { + return this.readonlyProperty; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"readonlyProperty\\", om.valueToTree(this.getReadonlyProperty())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.ExternalStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + ExternalStruct.Jsii$Proxy that = (ExternalStruct.Jsii$Proxy) o; + + return this.readonlyProperty.equals(that.readonlyProperty); + } + + @Override + public int hashCode() { + int result = this.readonlyProperty.hashCode(); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/GiveMeStructs.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.GiveMeStructs\\") +public class GiveMeStructs extends software.amazon.jsii.JsiiObject { + + protected GiveMeStructs(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected GiveMeStructs(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public GiveMeStructs() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * Accepts a struct of type DerivedStruct and returns a struct of type FirstStruct. + *

+ * EXPERIMENTAL + *

+ * @param derived This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.MyFirstStruct derivedToFirst(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.DerivedStruct derived) { + return this.jsiiCall(\\"derivedToFirst\\", software.amazon.jsii.tests.calculator.lib.MyFirstStruct.class, new Object[] { java.util.Objects.requireNonNull(derived, \\"derived is required\\") }); + } + + /** + * Returns the boolean from a DerivedStruct struct. + *

+ * EXPERIMENTAL + *

+ * @param derived This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.DoubleTrouble readDerivedNonPrimitive(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.DerivedStruct derived) { + return this.jsiiCall(\\"readDerivedNonPrimitive\\", software.amazon.jsii.tests.calculator.DoubleTrouble.class, new Object[] { java.util.Objects.requireNonNull(derived, \\"derived is required\\") }); + } + + /** + * Returns the \\"anumber\\" from a MyFirstStruct struct; + *

+ * EXPERIMENTAL + *

+ * @param first This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number readFirstNumber(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.MyFirstStruct first) { + return this.jsiiCall(\\"readFirstNumber\\", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(first, \\"first is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.StructWithOnlyOptionals getStructLiteral() { + return this.jsiiGet(\\"structLiteral\\", software.amazon.jsii.tests.calculator.lib.StructWithOnlyOptionals.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Greetee.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * These are some arguments you can pass to a method. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Greetee\\") +@software.amazon.jsii.Jsii.Proxy(Greetee.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface Greetee extends software.amazon.jsii.JsiiSerializable { + + /** + * The name of the greetee. + *

+ * Default: world + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.String getName() { + return null; + } + + /** + * @return a {@link Builder} of {@link Greetee} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link Greetee} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String name; + + /** + * Sets the value of {@link Greetee#getName} + * @param name The name of the greetee. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder name(java.lang.String name) { + this.name = name; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link Greetee} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public Greetee build() { + return new Jsii$Proxy(name); + } + } + + /** + * An implementation for {@link Greetee} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements Greetee { + private final java.lang.String name; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.name = this.jsiiGet(\\"name\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String name) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.name = name; + } + + @Override + public java.lang.String getName() { + return this.name; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + if (this.getName() != null) { + data.set(\\"name\\", om.valueToTree(this.getName())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.Greetee\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Greetee.Jsii$Proxy that = (Greetee.Jsii$Proxy) o; + + return this.name != null ? this.name.equals(that.name) : that.name == null; + } + + @Override + public int hashCode() { + int result = this.name != null ? this.name.hashCode() : 0; + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/GreetingAugmenter.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.GreetingAugmenter\\") +public class GreetingAugmenter extends software.amazon.jsii.JsiiObject { + + protected GreetingAugmenter(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected GreetingAugmenter(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public GreetingAugmenter() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param friendly This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String betterGreeting(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.IFriendly friendly) { + return this.jsiiCall(\\"betterGreeting\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(friendly, \\"friendly is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IAnonymousImplementationProvider.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * We can return an anonymous interface implementation from an override without losing the interface declarations. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IAnonymousImplementationProvider\\") +@software.amazon.jsii.Jsii.Proxy(IAnonymousImplementationProvider.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IAnonymousImplementationProvider extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Implementation provideAsClass(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IAnonymouslyImplementMe provideAsInterface(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IAnonymousImplementationProvider { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Implementation provideAsClass() { + return this.jsiiCall(\\"provideAsClass\\", software.amazon.jsii.tests.calculator.Implementation.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IAnonymouslyImplementMe provideAsInterface() { + return this.jsiiCall(\\"provideAsInterface\\", software.amazon.jsii.tests.calculator.IAnonymouslyImplementMe.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IAnonymouslyImplementMe.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IAnonymouslyImplementMe\\") +@software.amazon.jsii.Jsii.Proxy(IAnonymouslyImplementMe.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IAnonymouslyImplementMe extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Number getValue(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String verb(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IAnonymouslyImplementMe { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { + return this.jsiiGet(\\"value\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String verb() { + return this.jsiiCall(\\"verb\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IAnotherPublicInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IAnotherPublicInterface\\") +@software.amazon.jsii.Jsii.Proxy(IAnotherPublicInterface.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IAnotherPublicInterface extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getA(); + + /** + * EXPERIMENTAL + */ + void setA(final @org.jetbrains.annotations.NotNull java.lang.String value); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IAnotherPublicInterface { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getA() { + return this.jsiiGet(\\"a\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setA(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"a\\", java.util.Objects.requireNonNull(value, \\"a is required\\")); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IBell.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IBell\\") +@software.amazon.jsii.Jsii.Proxy(IBell.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IBell extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + void ring(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IBell { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void ring() { + this.jsiiCall(\\"ring\\", software.amazon.jsii.NativeType.VOID); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IBellRinger.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Takes the object parameter as an interface. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IBellRinger\\") +@software.amazon.jsii.Jsii.Proxy(IBellRinger.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IBellRinger extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + *

+ * @param bell This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + void yourTurn(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBell bell); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IBellRinger { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + *

+ * @param bell This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void yourTurn(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBell bell) { + this.jsiiCall(\\"yourTurn\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(bell, \\"bell is required\\") }); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IConcreteBellRinger.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Takes the object parameter as a calss. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IConcreteBellRinger\\") +@software.amazon.jsii.Jsii.Proxy(IConcreteBellRinger.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IConcreteBellRinger extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + *

+ * @param bell This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + void yourTurn(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Bell bell); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IConcreteBellRinger { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + *

+ * @param bell This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void yourTurn(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Bell bell) { + this.jsiiCall(\\"yourTurn\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(bell, \\"bell is required\\") }); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IDeprecatedInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * @deprecated useless interface + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IDeprecatedInterface\\") +@software.amazon.jsii.Jsii.Proxy(IDeprecatedInterface.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +public interface IDeprecatedInterface extends software.amazon.jsii.JsiiSerializable { + + /** + * @deprecated could be better + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + default @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { + return null; + } + + /** + * @deprecated could be better + */ + @software.amazon.jsii.Optional + default void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { + throw new UnsupportedOperationException(\\"'void \\" + getClass().getCanonicalName() + \\"#setMutableProperty(@org.jetbrains.annotations.Nullable java.lang.Number)' is not implemented!\\"); + } + + /** + * @deprecated services no purpose + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + void method(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IDeprecatedInterface { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * @deprecated could be better + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { + return this.jsiiGet(\\"mutableProperty\\", java.lang.Number.class); + } + + /** + * @deprecated could be better + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { + this.jsiiSet(\\"mutableProperty\\", value); + } + + /** + * @deprecated services no purpose + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public void method() { + this.jsiiCall(\\"method\\", software.amazon.jsii.NativeType.VOID); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IExperimentalInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IExperimentalInterface\\") +@software.amazon.jsii.Jsii.Proxy(IExperimentalInterface.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IExperimentalInterface extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { + return null; + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Optional + default void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { + throw new UnsupportedOperationException(\\"'void \\" + getClass().getCanonicalName() + \\"#setMutableProperty(@org.jetbrains.annotations.Nullable java.lang.Number)' is not implemented!\\"); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + void method(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IExperimentalInterface { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { + return this.jsiiGet(\\"mutableProperty\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { + this.jsiiSet(\\"mutableProperty\\", value); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void method() { + this.jsiiCall(\\"method\\", software.amazon.jsii.NativeType.VOID); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IExtendsPrivateInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IExtendsPrivateInterface\\") +@software.amazon.jsii.Jsii.Proxy(IExtendsPrivateInterface.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IExtendsPrivateInterface extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.util.List getMoreThings(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getPrivateValue(); + + /** + * EXPERIMENTAL + */ + void setPrivateValue(final @org.jetbrains.annotations.NotNull java.lang.String value); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IExtendsPrivateInterface { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.List getMoreThings() { + return java.util.Collections.unmodifiableList(this.jsiiGet(\\"moreThings\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getPrivateValue() { + return this.jsiiGet(\\"private\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setPrivateValue(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"private\\", java.util.Objects.requireNonNull(value, \\"private is required\\")); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IExternalInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IExternalInterface\\") +@software.amazon.jsii.Jsii.Proxy(IExternalInterface.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IExternalInterface extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { + return null; + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Optional + default void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { + throw new UnsupportedOperationException(\\"'void \\" + getClass().getCanonicalName() + \\"#setMutableProperty(@org.jetbrains.annotations.Nullable java.lang.Number)' is not implemented!\\"); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + void method(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IExternalInterface { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { + return this.jsiiGet(\\"mutableProperty\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { + this.jsiiSet(\\"mutableProperty\\", value); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void method() { + this.jsiiCall(\\"method\\", software.amazon.jsii.NativeType.VOID); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IFriendlier.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Even friendlier classes can implement this interface. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IFriendlier\\") +@software.amazon.jsii.Jsii.Proxy(IFriendlier.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IFriendlier extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.lib.IFriendly { + + /** + * Say farewell. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String farewell(); + + /** + * Say goodbye. + *

+ * EXPERIMENTAL + *

+ * @return A goodbye blessing. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String goodbye(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IFriendlier { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * Say farewell. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String farewell() { + return this.jsiiCall(\\"farewell\\", java.lang.String.class); + } + + /** + * Say goodbye. + *

+ * EXPERIMENTAL + *

+ * @return A goodbye blessing. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String goodbye() { + return this.jsiiCall(\\"goodbye\\", java.lang.String.class); + } + + /** + * Say hello! + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public @org.jetbrains.annotations.NotNull java.lang.String hello() { + return this.jsiiCall(\\"hello\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IFriendlyRandomGenerator.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IFriendlyRandomGenerator\\") +@software.amazon.jsii.Jsii.Proxy(IFriendlyRandomGenerator.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IFriendlyRandomGenerator extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.IRandomNumberGenerator, software.amazon.jsii.tests.calculator.lib.IFriendly { + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IFriendlyRandomGenerator { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * Returns another random number. + *

+ * EXPERIMENTAL + *

+ * @return A random number. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.Number next() { + return this.jsiiCall(\\"next\\", java.lang.Number.class); + } + + /** + * Say hello! + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public @org.jetbrains.annotations.NotNull java.lang.String hello() { + return this.jsiiCall(\\"hello\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceImplementedByAbstractClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * awslabs/jsii#220 Abstract return type. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IInterfaceImplementedByAbstractClass\\") +@software.amazon.jsii.Jsii.Proxy(IInterfaceImplementedByAbstractClass.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IInterfaceImplementedByAbstractClass extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getPropFromInterface(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceImplementedByAbstractClass { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getPropFromInterface() { + return this.jsiiGet(\\"propFromInterface\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceThatShouldNotBeADataType.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Even though this interface has only properties, it is disqualified from being a datatype because it inherits from an interface that is not a datatype. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IInterfaceThatShouldNotBeADataType\\") +@software.amazon.jsii.Jsii.Proxy(IInterfaceThatShouldNotBeADataType.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IInterfaceThatShouldNotBeADataType extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.IInterfaceWithMethods { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getOtherValue(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceThatShouldNotBeADataType { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getOtherValue() { + return this.jsiiGet(\\"otherValue\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getValue() { + return this.jsiiGet(\\"value\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void doThings() { + this.jsiiCall(\\"doThings\\", software.amazon.jsii.NativeType.VOID); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithInternal.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IInterfaceWithInternal\\") +@software.amazon.jsii.Jsii.Proxy(IInterfaceWithInternal.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IInterfaceWithInternal extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + void visible(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceWithInternal { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void visible() { + this.jsiiCall(\\"visible\\", software.amazon.jsii.NativeType.VOID); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithMethods.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IInterfaceWithMethods\\") +@software.amazon.jsii.Jsii.Proxy(IInterfaceWithMethods.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IInterfaceWithMethods extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getValue(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + void doThings(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceWithMethods { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getValue() { + return this.jsiiGet(\\"value\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void doThings() { + this.jsiiCall(\\"doThings\\", software.amazon.jsii.NativeType.VOID); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithOptionalMethodArguments.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * awslabs/jsii#175 Interface proxies (and builders) do not respect optional arguments in methods. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IInterfaceWithOptionalMethodArguments\\") +@software.amazon.jsii.Jsii.Proxy(IInterfaceWithOptionalMethodArguments.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IInterfaceWithOptionalMethodArguments extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + *

+ * @param arg1 This parameter is required. + * @param arg2 + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + void hello(final @org.jetbrains.annotations.NotNull java.lang.String arg1, final @org.jetbrains.annotations.Nullable java.lang.Number arg2); + + /** + * EXPERIMENTAL + *

+ * @param arg1 This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + void hello(final @org.jetbrains.annotations.NotNull java.lang.String arg1); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceWithOptionalMethodArguments { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + *

+ * @param arg1 This parameter is required. + * @param arg2 + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void hello(final @org.jetbrains.annotations.NotNull java.lang.String arg1, final @org.jetbrains.annotations.Nullable java.lang.Number arg2) { + this.jsiiCall(\\"hello\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(arg1, \\"arg1 is required\\"), arg2 }); + } + + /** + * EXPERIMENTAL + *

+ * @param arg1 This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void hello(final @org.jetbrains.annotations.NotNull java.lang.String arg1) { + this.jsiiCall(\\"hello\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(arg1, \\"arg1 is required\\") }); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithProperties.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IInterfaceWithProperties\\") +@software.amazon.jsii.Jsii.Proxy(IInterfaceWithProperties.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IInterfaceWithProperties extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getReadOnlyString(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getReadWriteString(); + + /** + * EXPERIMENTAL + */ + void setReadWriteString(final @org.jetbrains.annotations.NotNull java.lang.String value); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceWithProperties { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getReadOnlyString() { + return this.jsiiGet(\\"readOnlyString\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getReadWriteString() { + return this.jsiiGet(\\"readWriteString\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setReadWriteString(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"readWriteString\\", java.util.Objects.requireNonNull(value, \\"readWriteString is required\\")); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithPropertiesExtension.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IInterfaceWithPropertiesExtension\\") +@software.amazon.jsii.Jsii.Proxy(IInterfaceWithPropertiesExtension.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IInterfaceWithPropertiesExtension extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.IInterfaceWithProperties { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Number getFoo(); + + /** + * EXPERIMENTAL + */ + void setFoo(final @org.jetbrains.annotations.NotNull java.lang.Number value); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceWithPropertiesExtension { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getFoo() { + return this.jsiiGet(\\"foo\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setFoo(final @org.jetbrains.annotations.NotNull java.lang.Number value) { + this.jsiiSet(\\"foo\\", java.util.Objects.requireNonNull(value, \\"foo is required\\")); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getReadOnlyString() { + return this.jsiiGet(\\"readOnlyString\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getReadWriteString() { + return this.jsiiGet(\\"readWriteString\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setReadWriteString(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"readWriteString\\", java.util.Objects.requireNonNull(value, \\"readWriteString is required\\")); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IJSII417Derived.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IJSII417Derived\\") +@software.amazon.jsii.Jsii.Proxy(IJSII417Derived.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IJSII417Derived extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.IJSII417PublicBaseOfBase { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getProperty(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + void bar(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + void baz(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IJSII417Derived { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getProperty() { + return this.jsiiGet(\\"property\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean getHasRoot() { + return this.jsiiGet(\\"hasRoot\\", java.lang.Boolean.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void bar() { + this.jsiiCall(\\"bar\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void baz() { + this.jsiiCall(\\"baz\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void foo() { + this.jsiiCall(\\"foo\\", software.amazon.jsii.NativeType.VOID); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IJSII417PublicBaseOfBase.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IJSII417PublicBaseOfBase\\") +@software.amazon.jsii.Jsii.Proxy(IJSII417PublicBaseOfBase.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IJSII417PublicBaseOfBase extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Boolean getHasRoot(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + void foo(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IJSII417PublicBaseOfBase { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean getHasRoot() { + return this.jsiiGet(\\"hasRoot\\", java.lang.Boolean.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void foo() { + this.jsiiCall(\\"foo\\", software.amazon.jsii.NativeType.VOID); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IJsii487External.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IJsii487External\\") +@software.amazon.jsii.Jsii.Proxy(IJsii487External.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IJsii487External extends software.amazon.jsii.JsiiSerializable { + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IJsii487External { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IJsii487External2.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IJsii487External2\\") +@software.amazon.jsii.Jsii.Proxy(IJsii487External2.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IJsii487External2 extends software.amazon.jsii.JsiiSerializable { + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IJsii487External2 { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IJsii496.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IJsii496\\") +@software.amazon.jsii.Jsii.Proxy(IJsii496.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IJsii496 extends software.amazon.jsii.JsiiSerializable { + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IJsii496 { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IMutableObjectLiteral.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IMutableObjectLiteral\\") +@software.amazon.jsii.Jsii.Proxy(IMutableObjectLiteral.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IMutableObjectLiteral extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getValue(); + + /** + * EXPERIMENTAL + */ + void setValue(final @org.jetbrains.annotations.NotNull java.lang.String value); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IMutableObjectLiteral { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getValue() { + return this.jsiiGet(\\"value\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setValue(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"value\\", java.util.Objects.requireNonNull(value, \\"value is required\\")); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/INonInternalInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.INonInternalInterface\\") +@software.amazon.jsii.Jsii.Proxy(INonInternalInterface.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface INonInternalInterface extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.IAnotherPublicInterface { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getB(); + + /** + * EXPERIMENTAL + */ + void setB(final @org.jetbrains.annotations.NotNull java.lang.String value); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getC(); + + /** + * EXPERIMENTAL + */ + void setC(final @org.jetbrains.annotations.NotNull java.lang.String value); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.INonInternalInterface { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getB() { + return this.jsiiGet(\\"b\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setB(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"b\\", java.util.Objects.requireNonNull(value, \\"b is required\\")); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getC() { + return this.jsiiGet(\\"c\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setC(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"c\\", java.util.Objects.requireNonNull(value, \\"c is required\\")); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getA() { + return this.jsiiGet(\\"a\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setA(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"a\\", java.util.Objects.requireNonNull(value, \\"a is required\\")); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IObjectWithProperty.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Make sure that setters are properly called on objects with interfaces. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IObjectWithProperty\\") +@software.amazon.jsii.Jsii.Proxy(IObjectWithProperty.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IObjectWithProperty extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getProperty(); + + /** + * EXPERIMENTAL + */ + void setProperty(final @org.jetbrains.annotations.NotNull java.lang.String value); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Boolean wasSet(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IObjectWithProperty { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getProperty() { + return this.jsiiGet(\\"property\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"property\\", java.util.Objects.requireNonNull(value, \\"property is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.Boolean wasSet() { + return this.jsiiCall(\\"wasSet\\", java.lang.Boolean.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IOptionalMethod.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Checks that optional result from interface method code generates correctly. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IOptionalMethod\\") +@software.amazon.jsii.Jsii.Proxy(IOptionalMethod.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IOptionalMethod extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.Nullable java.lang.String optional(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IOptionalMethod { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.Nullable java.lang.String optional() { + return this.jsiiCall(\\"optional\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IPrivatelyImplemented.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IPrivatelyImplemented\\") +@software.amazon.jsii.Jsii.Proxy(IPrivatelyImplemented.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IPrivatelyImplemented extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Boolean getSuccess(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IPrivatelyImplemented { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean getSuccess() { + return this.jsiiGet(\\"success\\", java.lang.Boolean.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IPublicInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IPublicInterface\\") +@software.amazon.jsii.Jsii.Proxy(IPublicInterface.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IPublicInterface extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String bye(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IPublicInterface { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String bye() { + return this.jsiiCall(\\"bye\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IPublicInterface2.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IPublicInterface2\\") +@software.amazon.jsii.Jsii.Proxy(IPublicInterface2.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IPublicInterface2 extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String ciao(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IPublicInterface2 { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String ciao() { + return this.jsiiCall(\\"ciao\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IRandomNumberGenerator.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Generates random numbers. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IRandomNumberGenerator\\") +@software.amazon.jsii.Jsii.Proxy(IRandomNumberGenerator.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IRandomNumberGenerator extends software.amazon.jsii.JsiiSerializable { + + /** + * Returns another random number. + *

+ * EXPERIMENTAL + *

+ * @return A random number. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Number next(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IRandomNumberGenerator { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * Returns another random number. + *

+ * EXPERIMENTAL + *

+ * @return A random number. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.Number next() { + return this.jsiiCall(\\"next\\", java.lang.Number.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IReturnJsii976.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Returns a subclass of a known class which implements an interface. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IReturnJsii976\\") +@software.amazon.jsii.Jsii.Proxy(IReturnJsii976.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IReturnJsii976 extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Number getFoo(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IReturnJsii976 { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getFoo() { + return this.jsiiGet(\\"foo\\", java.lang.Number.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IReturnsNumber.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IReturnsNumber\\") +@software.amazon.jsii.Jsii.Proxy(IReturnsNumber.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IReturnsNumber extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Number getNumberProp(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.IDoublable obtainNumber(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IReturnsNumber { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Number getNumberProp() { + return this.jsiiGet(\\"numberProp\\", software.amazon.jsii.tests.calculator.lib.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.IDoublable obtainNumber() { + return this.jsiiCall(\\"obtainNumber\\", software.amazon.jsii.tests.calculator.lib.IDoublable.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IStableInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IStableInterface\\") +@software.amazon.jsii.Jsii.Proxy(IStableInterface.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) +public interface IStableInterface extends software.amazon.jsii.JsiiSerializable { + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + default @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { + return null; + } + + /** + */ + @software.amazon.jsii.Optional + default void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { + throw new UnsupportedOperationException(\\"'void \\" + getClass().getCanonicalName() + \\"#setMutableProperty(@org.jetbrains.annotations.Nullable java.lang.Number)' is not implemented!\\"); + } + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + void method(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IStableInterface { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { + return this.jsiiGet(\\"mutableProperty\\", java.lang.Number.class); + } + + /** + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { + this.jsiiSet(\\"mutableProperty\\", value); + } + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + @Override + public void method() { + this.jsiiCall(\\"method\\", software.amazon.jsii.NativeType.VOID); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/IStructReturningDelegate.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Verifies that a \\"pure\\" implementation of an interface works correctly. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.IStructReturningDelegate\\") +@software.amazon.jsii.Jsii.Proxy(IStructReturningDelegate.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IStructReturningDelegate extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StructB returnStruct(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IStructReturningDelegate { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StructB returnStruct() { + return this.jsiiCall(\\"returnStruct\\", software.amazon.jsii.tests.calculator.StructB.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ImplementInternalInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ImplementInternalInterface\\") +public class ImplementInternalInterface extends software.amazon.jsii.JsiiObject { + + protected ImplementInternalInterface(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ImplementInternalInterface(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ImplementInternalInterface() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getProp() { + return this.jsiiGet(\\"prop\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setProp(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"prop\\", java.util.Objects.requireNonNull(value, \\"prop is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Implementation.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Implementation\\") +public class Implementation extends software.amazon.jsii.JsiiObject { + + protected Implementation(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Implementation(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Implementation() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { + return this.jsiiGet(\\"value\\", java.lang.Number.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ImplementsInterfaceWithInternal.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ImplementsInterfaceWithInternal\\") +public class ImplementsInterfaceWithInternal extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceWithInternal { + + protected ImplementsInterfaceWithInternal(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ImplementsInterfaceWithInternal(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ImplementsInterfaceWithInternal() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public void visible() { + this.jsiiCall(\\"visible\\", software.amazon.jsii.NativeType.VOID); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ImplementsInterfaceWithInternalSubclass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ImplementsInterfaceWithInternalSubclass\\") +public class ImplementsInterfaceWithInternalSubclass extends software.amazon.jsii.tests.calculator.ImplementsInterfaceWithInternal { + + protected ImplementsInterfaceWithInternalSubclass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ImplementsInterfaceWithInternalSubclass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ImplementsInterfaceWithInternalSubclass() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ImplementsPrivateInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ImplementsPrivateInterface\\") +public class ImplementsPrivateInterface extends software.amazon.jsii.JsiiObject { + + protected ImplementsPrivateInterface(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ImplementsPrivateInterface(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ImplementsPrivateInterface() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getPrivateValue() { + return this.jsiiGet(\\"private\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setPrivateValue(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"private\\", java.util.Objects.requireNonNull(value, \\"private is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ImplictBaseOfBase.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ImplictBaseOfBase\\") +@software.amazon.jsii.Jsii.Proxy(ImplictBaseOfBase.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface ImplictBaseOfBase extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.base.BaseProps { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.time.Instant getGoo(); + + /** + * @return a {@link Builder} of {@link ImplictBaseOfBase} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link ImplictBaseOfBase} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.time.Instant goo; + private java.lang.String bar; + private software.amazon.jsii.tests.calculator.baseofbase.Very foo; + + /** + * Sets the value of {@link ImplictBaseOfBase#getGoo} + * @param goo the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder goo(java.time.Instant goo) { + this.goo = goo; + return this; + } + + /** + * Sets the value of {@link ImplictBaseOfBase#getBar} + * @param bar the value to be set. This parameter is required. + * @return {@code this} + */ + public Builder bar(java.lang.String bar) { + this.bar = bar; + return this; + } + + /** + * Sets the value of {@link ImplictBaseOfBase#getFoo} + * @param foo the value to be set. This parameter is required. + * @return {@code this} + */ + public Builder foo(software.amazon.jsii.tests.calculator.baseofbase.Very foo) { + this.foo = foo; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link ImplictBaseOfBase} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public ImplictBaseOfBase build() { + return new Jsii$Proxy(goo, bar, foo); + } + } + + /** + * An implementation for {@link ImplictBaseOfBase} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ImplictBaseOfBase { + private final java.time.Instant goo; + private final java.lang.String bar; + private final software.amazon.jsii.tests.calculator.baseofbase.Very foo; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.goo = this.jsiiGet(\\"goo\\", java.time.Instant.class); + this.bar = this.jsiiGet(\\"bar\\", java.lang.String.class); + this.foo = this.jsiiGet(\\"foo\\", software.amazon.jsii.tests.calculator.baseofbase.Very.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.time.Instant goo, final java.lang.String bar, final software.amazon.jsii.tests.calculator.baseofbase.Very foo) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.goo = java.util.Objects.requireNonNull(goo, \\"goo is required\\"); + this.bar = java.util.Objects.requireNonNull(bar, \\"bar is required\\"); + this.foo = java.util.Objects.requireNonNull(foo, \\"foo is required\\"); + } + + @Override + public java.time.Instant getGoo() { + return this.goo; + } + + @Override + public java.lang.String getBar() { + return this.bar; + } + + @Override + public software.amazon.jsii.tests.calculator.baseofbase.Very getFoo() { + return this.foo; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"goo\\", om.valueToTree(this.getGoo())); + data.set(\\"bar\\", om.valueToTree(this.getBar())); + data.set(\\"foo\\", om.valueToTree(this.getFoo())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.ImplictBaseOfBase\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + ImplictBaseOfBase.Jsii$Proxy that = (ImplictBaseOfBase.Jsii$Proxy) o; + + if (!goo.equals(that.goo)) return false; + if (!bar.equals(that.bar)) return false; + return this.foo.equals(that.foo); + } + + @Override + public int hashCode() { + int result = this.goo.hashCode(); + result = 31 * result + (this.bar.hashCode()); + result = 31 * result + (this.foo.hashCode()); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/InbetweenClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.InbetweenClass\\") +public class InbetweenClass extends software.amazon.jsii.tests.calculator.PublicClass implements software.amazon.jsii.tests.calculator.IPublicInterface2 { + + protected InbetweenClass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected InbetweenClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public InbetweenClass() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String ciao() { + return this.jsiiCall(\\"ciao\\", java.lang.String.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/InterfaceCollections.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Verifies that collections of interfaces or structs are correctly handled. + *

+ * See: https://github.com/aws/jsii/issues/1196 + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.InterfaceCollections\\") +public class InterfaceCollections extends software.amazon.jsii.JsiiObject { + + protected InterfaceCollections(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected InterfaceCollections(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.util.List listOfInterfaces() { + return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.InterfaceCollections.class, \\"listOfInterfaces\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.IBell.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.util.List listOfStructs() { + return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.InterfaceCollections.class, \\"listOfStructs\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.StructA.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.util.Map mapOfInterfaces() { + return java.util.Collections.unmodifiableMap(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.InterfaceCollections.class, \\"mapOfInterfaces\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.IBell.class)))); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.util.Map mapOfStructs() { + return java.util.Collections.unmodifiableMap(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.InterfaceCollections.class, \\"mapOfStructs\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.StructA.class)))); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/InterfacesMaker.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * We can return arrays of interfaces See aws/aws-cdk#2362. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.InterfacesMaker\\") +public class InterfacesMaker extends software.amazon.jsii.JsiiObject { + + protected InterfacesMaker(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected InterfacesMaker(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param count This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.util.List makeInterfaces(final @org.jetbrains.annotations.NotNull java.lang.Number count) { + return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.InterfacesMaker.class, \\"makeInterfaces\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.lib.IDoublable.class)), new Object[] { java.util.Objects.requireNonNull(count, \\"count is required\\") })); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Isomorphism.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Checks the \\"same instance\\" isomorphism is preserved within the constructor. + *

+ * Create a subclass of this, and assert that this.myself() actually returns + * this from within the constructor. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Isomorphism\\") +public abstract class Isomorphism extends software.amazon.jsii.JsiiObject { + + protected Isomorphism(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Isomorphism(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected Isomorphism() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Isomorphism myself() { + return this.jsiiCall(\\"myself\\", software.amazon.jsii.tests.calculator.Isomorphism.class); + } + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.Isomorphism { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/JSII417Derived.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.JSII417Derived\\") +public class JSII417Derived extends software.amazon.jsii.tests.calculator.JSII417PublicBaseOfBase { + + protected JSII417Derived(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected JSII417Derived(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param property This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public JSII417Derived(final @org.jetbrains.annotations.NotNull java.lang.String property) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(property, \\"property is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void bar() { + this.jsiiCall(\\"bar\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void baz() { + this.jsiiCall(\\"baz\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected @org.jetbrains.annotations.NotNull java.lang.String getProperty() { + return this.jsiiGet(\\"property\\", java.lang.String.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/JSII417PublicBaseOfBase.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.JSII417PublicBaseOfBase\\") +public class JSII417PublicBaseOfBase extends software.amazon.jsii.JsiiObject { + + protected JSII417PublicBaseOfBase(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected JSII417PublicBaseOfBase(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public JSII417PublicBaseOfBase() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.JSII417PublicBaseOfBase makeInstance() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JSII417PublicBaseOfBase.class, \\"makeInstance\\", software.amazon.jsii.tests.calculator.JSII417PublicBaseOfBase.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void foo() { + this.jsiiCall(\\"foo\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean getHasRoot() { + return this.jsiiGet(\\"hasRoot\\", java.lang.Boolean.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/JSObjectLiteralForInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.JSObjectLiteralForInterface\\") +public class JSObjectLiteralForInterface extends software.amazon.jsii.JsiiObject { + + protected JSObjectLiteralForInterface(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected JSObjectLiteralForInterface(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public JSObjectLiteralForInterface() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.IFriendly giveMeFriendly() { + return this.jsiiCall(\\"giveMeFriendly\\", software.amazon.jsii.tests.calculator.lib.IFriendly.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IFriendlyRandomGenerator giveMeFriendlyGenerator() { + return this.jsiiCall(\\"giveMeFriendlyGenerator\\", software.amazon.jsii.tests.calculator.IFriendlyRandomGenerator.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/JSObjectLiteralToNative.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.JSObjectLiteralToNative\\") +public class JSObjectLiteralToNative extends software.amazon.jsii.JsiiObject { + + protected JSObjectLiteralToNative(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected JSObjectLiteralToNative(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public JSObjectLiteralToNative() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.JSObjectLiteralToNativeClass returnLiteral() { + return this.jsiiCall(\\"returnLiteral\\", software.amazon.jsii.tests.calculator.JSObjectLiteralToNativeClass.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/JSObjectLiteralToNativeClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.JSObjectLiteralToNativeClass\\") +public class JSObjectLiteralToNativeClass extends software.amazon.jsii.JsiiObject { + + protected JSObjectLiteralToNativeClass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected JSObjectLiteralToNativeClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public JSObjectLiteralToNativeClass() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getPropA() { + return this.jsiiGet(\\"propA\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setPropA(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"propA\\", java.util.Objects.requireNonNull(value, \\"propA is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getPropB() { + return this.jsiiGet(\\"propB\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setPropB(final @org.jetbrains.annotations.NotNull java.lang.Number value) { + this.jsiiSet(\\"propB\\", java.util.Objects.requireNonNull(value, \\"propB is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/JavaReservedWords.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.JavaReservedWords\\") +public class JavaReservedWords extends software.amazon.jsii.JsiiObject { + + protected JavaReservedWords(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected JavaReservedWords(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public JavaReservedWords() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doAbstract() { + this.jsiiCall(\\"abstract\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doAssert() { + this.jsiiCall(\\"assert\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doBoolean() { + this.jsiiCall(\\"boolean\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doBreak() { + this.jsiiCall(\\"break\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doByte() { + this.jsiiCall(\\"byte\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doCase() { + this.jsiiCall(\\"case\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doCatch() { + this.jsiiCall(\\"catch\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doChar() { + this.jsiiCall(\\"char\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doClass() { + this.jsiiCall(\\"class\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doConst() { + this.jsiiCall(\\"const\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doContinue() { + this.jsiiCall(\\"continue\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doDefault() { + this.jsiiCall(\\"default\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doDo() { + this.jsiiCall(\\"do\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doDouble() { + this.jsiiCall(\\"double\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doElse() { + this.jsiiCall(\\"else\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doEnum() { + this.jsiiCall(\\"enum\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doExtends() { + this.jsiiCall(\\"extends\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doFalse() { + this.jsiiCall(\\"false\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doFinal() { + this.jsiiCall(\\"final\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doFinally() { + this.jsiiCall(\\"finally\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doFloat() { + this.jsiiCall(\\"float\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doFor() { + this.jsiiCall(\\"for\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doGoto() { + this.jsiiCall(\\"goto\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doIf() { + this.jsiiCall(\\"if\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doImplements() { + this.jsiiCall(\\"implements\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doImport() { + this.jsiiCall(\\"import\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doInstanceof() { + this.jsiiCall(\\"instanceof\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doInt() { + this.jsiiCall(\\"int\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doInterface() { + this.jsiiCall(\\"interface\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doLong() { + this.jsiiCall(\\"long\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doNative() { + this.jsiiCall(\\"native\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doNew() { + this.jsiiCall(\\"new\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doNull() { + this.jsiiCall(\\"null\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doPackage() { + this.jsiiCall(\\"package\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doPrivate() { + this.jsiiCall(\\"private\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doProtected() { + this.jsiiCall(\\"protected\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doPublic() { + this.jsiiCall(\\"public\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doReturn() { + this.jsiiCall(\\"return\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doShort() { + this.jsiiCall(\\"short\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doStatic() { + this.jsiiCall(\\"static\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doStrictfp() { + this.jsiiCall(\\"strictfp\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doSuper() { + this.jsiiCall(\\"super\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doSwitch() { + this.jsiiCall(\\"switch\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doSynchronized() { + this.jsiiCall(\\"synchronized\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doThis() { + this.jsiiCall(\\"this\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doThrow() { + this.jsiiCall(\\"throw\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doThrows() { + this.jsiiCall(\\"throws\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doTransient() { + this.jsiiCall(\\"transient\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doTrue() { + this.jsiiCall(\\"true\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doTry() { + this.jsiiCall(\\"try\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doVoid() { + this.jsiiCall(\\"void\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doVolatile() { + this.jsiiCall(\\"volatile\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getWhileValue() { + return this.jsiiGet(\\"while\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setWhileValue(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"while\\", java.util.Objects.requireNonNull(value, \\"while is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Jsii487Derived.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Jsii487Derived\\") +public class Jsii487Derived extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IJsii487External2, software.amazon.jsii.tests.calculator.IJsii487External { + + protected Jsii487Derived(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Jsii487Derived(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Jsii487Derived() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Jsii496Derived.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Jsii496Derived\\") +public class Jsii496Derived extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IJsii496 { + + protected Jsii496Derived(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Jsii496Derived(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Jsii496Derived() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/JsiiAgent.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Host runtime version should be set via JSII_AGENT. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.JsiiAgent\\") +public class JsiiAgent extends software.amazon.jsii.JsiiObject { + + protected JsiiAgent(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected JsiiAgent(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public JsiiAgent() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * Returns the value of the JSII_AGENT environment variable. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.Nullable java.lang.String getJsiiAgent() { + return software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.JsiiAgent.class, \\"jsiiAgent\\", java.lang.String.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/JsonFormatter.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Make sure structs are un-decorated on the way in. + *

+ * EXPERIMENTAL + *

+ * @see https://github.com/aws/aws-cdk/issues/5066 + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.JsonFormatter\\") +public class JsonFormatter extends software.amazon.jsii.JsiiObject { + + protected JsonFormatter(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected JsonFormatter(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Object anyArray() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"anyArray\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Object anyBooleanFalse() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"anyBooleanFalse\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Object anyBooleanTrue() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"anyBooleanTrue\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Object anyDate() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"anyDate\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Object anyEmptyString() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"anyEmptyString\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Object anyFunction() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"anyFunction\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Object anyHash() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"anyHash\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Object anyNull() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"anyNull\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Object anyNumber() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"anyNumber\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Object anyRef() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"anyRef\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Object anyString() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"anyString\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Object anyUndefined() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"anyUndefined\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Object anyZero() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"anyZero\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + *

+ * @param value + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.Nullable java.lang.String stringify(final @org.jetbrains.annotations.Nullable java.lang.Object value) { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"stringify\\", java.lang.String.class, new Object[] { value }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.Nullable java.lang.String stringify() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, \\"stringify\\", java.lang.String.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/LoadBalancedFargateServiceProps.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * jsii#298: show default values in sphinx documentation, and respect newlines. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.LoadBalancedFargateServiceProps\\") +@software.amazon.jsii.Jsii.Proxy(LoadBalancedFargateServiceProps.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface LoadBalancedFargateServiceProps extends software.amazon.jsii.JsiiSerializable { + + /** + * The container port of the application load balancer attached to your Fargate service. + *

+ * Corresponds to container port mapping. + *

+ * Default: 80 + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.Number getContainerPort() { + return null; + } + + /** + * 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 + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.String getCpu() { + return null; + } + + /** + * 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 + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.String getMemoryMiB() { + return null; + } + + /** + * Determines whether the Application Load Balancer will be internet-facing. + *

+ * Default: true + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.Boolean getPublicLoadBalancer() { + return null; + } + + /** + * Determines whether your Fargate Service will be assigned a public IP address. + *

+ * Default: false + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.Boolean getPublicTasks() { + return null; + } + + /** + * @return a {@link Builder} of {@link LoadBalancedFargateServiceProps} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link LoadBalancedFargateServiceProps} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.Number containerPort; + private java.lang.String cpu; + private java.lang.String memoryMiB; + private java.lang.Boolean publicLoadBalancer; + private java.lang.Boolean publicTasks; + + /** + * Sets the value of {@link LoadBalancedFargateServiceProps#getContainerPort} + * @param containerPort The container port of the application load balancer attached to your Fargate service. + * Corresponds to container port mapping. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder containerPort(java.lang.Number containerPort) { + this.containerPort = containerPort; + return this; + } + + /** + * Sets the value of {@link LoadBalancedFargateServiceProps#getCpu} + * @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. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder cpu(java.lang.String cpu) { + this.cpu = cpu; + return this; + } + + /** + * Sets the value of {@link LoadBalancedFargateServiceProps#getMemoryMiB} + * @param memoryMiB 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. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder memoryMiB(java.lang.String memoryMiB) { + this.memoryMiB = memoryMiB; + return this; + } + + /** + * Sets the value of {@link LoadBalancedFargateServiceProps#getPublicLoadBalancer} + * @param publicLoadBalancer Determines whether the Application Load Balancer will be internet-facing. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder publicLoadBalancer(java.lang.Boolean publicLoadBalancer) { + this.publicLoadBalancer = publicLoadBalancer; + return this; + } + + /** + * Sets the value of {@link LoadBalancedFargateServiceProps#getPublicTasks} + * @param publicTasks Determines whether your Fargate Service will be assigned a public IP address. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder publicTasks(java.lang.Boolean publicTasks) { + this.publicTasks = publicTasks; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link LoadBalancedFargateServiceProps} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public LoadBalancedFargateServiceProps build() { + return new Jsii$Proxy(containerPort, cpu, memoryMiB, publicLoadBalancer, publicTasks); + } + } + + /** + * An implementation for {@link LoadBalancedFargateServiceProps} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements LoadBalancedFargateServiceProps { + private final java.lang.Number containerPort; + private final java.lang.String cpu; + private final java.lang.String memoryMiB; + private final java.lang.Boolean publicLoadBalancer; + private final java.lang.Boolean publicTasks; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.containerPort = this.jsiiGet(\\"containerPort\\", java.lang.Number.class); + this.cpu = this.jsiiGet(\\"cpu\\", java.lang.String.class); + this.memoryMiB = this.jsiiGet(\\"memoryMiB\\", java.lang.String.class); + this.publicLoadBalancer = this.jsiiGet(\\"publicLoadBalancer\\", java.lang.Boolean.class); + this.publicTasks = this.jsiiGet(\\"publicTasks\\", java.lang.Boolean.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.Number containerPort, final java.lang.String cpu, final java.lang.String memoryMiB, final java.lang.Boolean publicLoadBalancer, final java.lang.Boolean publicTasks) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.containerPort = containerPort; + this.cpu = cpu; + this.memoryMiB = memoryMiB; + this.publicLoadBalancer = publicLoadBalancer; + this.publicTasks = publicTasks; + } + + @Override + public java.lang.Number getContainerPort() { + return this.containerPort; + } + + @Override + public java.lang.String getCpu() { + return this.cpu; + } + + @Override + public java.lang.String getMemoryMiB() { + return this.memoryMiB; + } + + @Override + public java.lang.Boolean getPublicLoadBalancer() { + return this.publicLoadBalancer; + } + + @Override + public java.lang.Boolean getPublicTasks() { + return this.publicTasks; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + if (this.getContainerPort() != null) { + data.set(\\"containerPort\\", om.valueToTree(this.getContainerPort())); + } + if (this.getCpu() != null) { + data.set(\\"cpu\\", om.valueToTree(this.getCpu())); + } + if (this.getMemoryMiB() != null) { + data.set(\\"memoryMiB\\", om.valueToTree(this.getMemoryMiB())); + } + if (this.getPublicLoadBalancer() != null) { + data.set(\\"publicLoadBalancer\\", om.valueToTree(this.getPublicLoadBalancer())); + } + if (this.getPublicTasks() != null) { + data.set(\\"publicTasks\\", om.valueToTree(this.getPublicTasks())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.LoadBalancedFargateServiceProps\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + LoadBalancedFargateServiceProps.Jsii$Proxy that = (LoadBalancedFargateServiceProps.Jsii$Proxy) o; + + if (this.containerPort != null ? !this.containerPort.equals(that.containerPort) : that.containerPort != null) return false; + if (this.cpu != null ? !this.cpu.equals(that.cpu) : that.cpu != null) return false; + if (this.memoryMiB != null ? !this.memoryMiB.equals(that.memoryMiB) : that.memoryMiB != null) return false; + if (this.publicLoadBalancer != null ? !this.publicLoadBalancer.equals(that.publicLoadBalancer) : that.publicLoadBalancer != null) return false; + return this.publicTasks != null ? this.publicTasks.equals(that.publicTasks) : that.publicTasks == null; + } + + @Override + public int hashCode() { + int result = this.containerPort != null ? this.containerPort.hashCode() : 0; + result = 31 * result + (this.cpu != null ? this.cpu.hashCode() : 0); + result = 31 * result + (this.memoryMiB != null ? this.memoryMiB.hashCode() : 0); + result = 31 * result + (this.publicLoadBalancer != null ? this.publicLoadBalancer.hashCode() : 0); + result = 31 * result + (this.publicTasks != null ? this.publicTasks.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/MethodNamedProperty.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.MethodNamedProperty\\") +public class MethodNamedProperty extends software.amazon.jsii.JsiiObject { + + protected MethodNamedProperty(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected MethodNamedProperty(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public MethodNamedProperty() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String property() { + return this.jsiiCall(\\"property\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getElite() { + return this.jsiiGet(\\"elite\\", java.lang.Number.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Multiply.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * The \\"*\\" binary operation. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Multiply\\") +public class Multiply extends software.amazon.jsii.tests.calculator.BinaryOperation implements software.amazon.jsii.tests.calculator.IFriendlier, software.amazon.jsii.tests.calculator.IRandomNumberGenerator { + + protected Multiply(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Multiply(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * Creates a BinaryOperation. + *

+ * EXPERIMENTAL + *

+ * @param lhs Left-hand side operand. This parameter is required. + * @param rhs Right-hand side operand. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Multiply(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value lhs, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value rhs) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(lhs, \\"lhs is required\\"), java.util.Objects.requireNonNull(rhs, \\"rhs is required\\") }); + } + + /** + * Say farewell. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String farewell() { + return this.jsiiCall(\\"farewell\\", java.lang.String.class); + } + + /** + * Say goodbye. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String goodbye() { + return this.jsiiCall(\\"goodbye\\", java.lang.String.class); + } + + /** + * Returns another random number. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.Number next() { + return this.jsiiCall(\\"next\\", java.lang.Number.class); + } + + /** + * String representation of the value. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String toString() { + return this.jsiiCall(\\"toString\\", java.lang.String.class); + } + + /** + * The value. + *

+ * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { + return this.jsiiGet(\\"value\\", java.lang.Number.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Negate.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * The negation operation (\\"-value\\"). + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Negate\\") +public class Negate extends software.amazon.jsii.tests.calculator.UnaryOperation implements software.amazon.jsii.tests.calculator.IFriendlier { + + protected Negate(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Negate(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param operand This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Negate(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value operand) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(operand, \\"operand is required\\") }); + } + + /** + * Say farewell. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String farewell() { + return this.jsiiCall(\\"farewell\\", java.lang.String.class); + } + + /** + * Say goodbye. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String goodbye() { + return this.jsiiCall(\\"goodbye\\", java.lang.String.class); + } + + /** + * Say hello! + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String hello() { + return this.jsiiCall(\\"hello\\", java.lang.String.class); + } + + /** + * String representation of the value. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String toString() { + return this.jsiiCall(\\"toString\\", java.lang.String.class); + } + + /** + * The value. + *

+ * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { + return this.jsiiGet(\\"value\\", java.lang.Number.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/NestedStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.NestedStruct\\") +@software.amazon.jsii.Jsii.Proxy(NestedStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface NestedStruct extends software.amazon.jsii.JsiiSerializable { + + /** + * When provided, must be > 0. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Number getNumberProp(); + + /** + * @return a {@link Builder} of {@link NestedStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link NestedStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.Number numberProp; + + /** + * Sets the value of {@link NestedStruct#getNumberProp} + * @param numberProp When provided, must be > 0. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder numberProp(java.lang.Number numberProp) { + this.numberProp = numberProp; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link NestedStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public NestedStruct build() { + return new Jsii$Proxy(numberProp); + } + } + + /** + * An implementation for {@link NestedStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements NestedStruct { + private final java.lang.Number numberProp; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.numberProp = this.jsiiGet(\\"numberProp\\", java.lang.Number.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.Number numberProp) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.numberProp = java.util.Objects.requireNonNull(numberProp, \\"numberProp is required\\"); + } + + @Override + public java.lang.Number getNumberProp() { + return this.numberProp; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"numberProp\\", om.valueToTree(this.getNumberProp())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.NestedStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + NestedStruct.Jsii$Proxy that = (NestedStruct.Jsii$Proxy) o; + + return this.numberProp.equals(that.numberProp); + } + + @Override + public int hashCode() { + int result = this.numberProp.hashCode(); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/NodeStandardLibrary.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Test fixture to verify that jsii modules can use the node standard library. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.NodeStandardLibrary\\") +public class NodeStandardLibrary extends software.amazon.jsii.JsiiObject { + + protected NodeStandardLibrary(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected NodeStandardLibrary(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public NodeStandardLibrary() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * Uses node.js \\"crypto\\" module to calculate sha256 of a string. + *

+ * EXPERIMENTAL + *

+ * @return \\"6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50\\" + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String cryptoSha256() { + return this.jsiiCall(\\"cryptoSha256\\", java.lang.String.class); + } + + /** + * Reads a local resource file (resource.txt) asynchronously. + *

+ * EXPERIMENTAL + *

+ * @return \\"Hello, resource!\\" + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String fsReadFile() { + return this.jsiiAsyncCall(\\"fsReadFile\\", java.lang.String.class); + } + + /** + * Sync version of fsReadFile. + *

+ * EXPERIMENTAL + *

+ * @return \\"Hello, resource! SYNC!\\" + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String fsReadFileSync() { + return this.jsiiCall(\\"fsReadFileSync\\", java.lang.String.class); + } + + /** + * Returns the current os.platform() from the \\"os\\" node module. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getOsPlatform() { + return this.jsiiGet(\\"osPlatform\\", java.lang.String.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/NullShouldBeTreatedAsUndefined.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * jsii#282, aws-cdk#157: null should be treated as \\"undefined\\". + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.NullShouldBeTreatedAsUndefined\\") +public class NullShouldBeTreatedAsUndefined extends software.amazon.jsii.JsiiObject { + + protected NullShouldBeTreatedAsUndefined(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected NullShouldBeTreatedAsUndefined(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param _param1 This parameter is required. + * @param optional + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public NullShouldBeTreatedAsUndefined(final @org.jetbrains.annotations.NotNull java.lang.String _param1, final @org.jetbrains.annotations.Nullable java.lang.Object optional) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(_param1, \\"_param1 is required\\"), optional }); + } + + /** + * EXPERIMENTAL + *

+ * @param _param1 This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public NullShouldBeTreatedAsUndefined(final @org.jetbrains.annotations.NotNull java.lang.String _param1) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(_param1, \\"_param1 is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param value + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void giveMeUndefined(final @org.jetbrains.annotations.Nullable java.lang.Object value) { + this.jsiiCall(\\"giveMeUndefined\\", software.amazon.jsii.NativeType.VOID, new Object[] { value }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void giveMeUndefined() { + this.jsiiCall(\\"giveMeUndefined\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + *

+ * @param input This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void giveMeUndefinedInsideAnObject(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.NullShouldBeTreatedAsUndefinedData input) { + this.jsiiCall(\\"giveMeUndefinedInsideAnObject\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(input, \\"input is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void verifyPropertyIsUndefined() { + this.jsiiCall(\\"verifyPropertyIsUndefined\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable java.lang.String getChangeMeToUndefined() { + return this.jsiiGet(\\"changeMeToUndefined\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setChangeMeToUndefined(final @org.jetbrains.annotations.Nullable java.lang.String value) { + this.jsiiSet(\\"changeMeToUndefined\\", value); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/NullShouldBeTreatedAsUndefinedData.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.NullShouldBeTreatedAsUndefinedData\\") +@software.amazon.jsii.Jsii.Proxy(NullShouldBeTreatedAsUndefinedData.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface NullShouldBeTreatedAsUndefinedData extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.util.List getArrayWithThreeElementsAndUndefinedAsSecondArgument(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.Object getThisShouldBeUndefined() { + return null; + } + + /** + * @return a {@link Builder} of {@link NullShouldBeTreatedAsUndefinedData} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link NullShouldBeTreatedAsUndefinedData} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.util.List arrayWithThreeElementsAndUndefinedAsSecondArgument; + private java.lang.Object thisShouldBeUndefined; + + /** + * Sets the value of {@link NullShouldBeTreatedAsUndefinedData#getArrayWithThreeElementsAndUndefinedAsSecondArgument} + * @param arrayWithThreeElementsAndUndefinedAsSecondArgument the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder arrayWithThreeElementsAndUndefinedAsSecondArgument(java.util.List arrayWithThreeElementsAndUndefinedAsSecondArgument) { + this.arrayWithThreeElementsAndUndefinedAsSecondArgument = arrayWithThreeElementsAndUndefinedAsSecondArgument; + return this; + } + + /** + * Sets the value of {@link NullShouldBeTreatedAsUndefinedData#getThisShouldBeUndefined} + * @param thisShouldBeUndefined the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder thisShouldBeUndefined(java.lang.Object thisShouldBeUndefined) { + this.thisShouldBeUndefined = thisShouldBeUndefined; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link NullShouldBeTreatedAsUndefinedData} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public NullShouldBeTreatedAsUndefinedData build() { + return new Jsii$Proxy(arrayWithThreeElementsAndUndefinedAsSecondArgument, thisShouldBeUndefined); + } + } + + /** + * An implementation for {@link NullShouldBeTreatedAsUndefinedData} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements NullShouldBeTreatedAsUndefinedData { + private final java.util.List arrayWithThreeElementsAndUndefinedAsSecondArgument; + private final java.lang.Object thisShouldBeUndefined; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.arrayWithThreeElementsAndUndefinedAsSecondArgument = this.jsiiGet(\\"arrayWithThreeElementsAndUndefinedAsSecondArgument\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class))); + this.thisShouldBeUndefined = this.jsiiGet(\\"thisShouldBeUndefined\\", java.lang.Object.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.util.List arrayWithThreeElementsAndUndefinedAsSecondArgument, final java.lang.Object thisShouldBeUndefined) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.arrayWithThreeElementsAndUndefinedAsSecondArgument = java.util.Objects.requireNonNull(arrayWithThreeElementsAndUndefinedAsSecondArgument, \\"arrayWithThreeElementsAndUndefinedAsSecondArgument is required\\"); + this.thisShouldBeUndefined = thisShouldBeUndefined; + } + + @Override + public java.util.List getArrayWithThreeElementsAndUndefinedAsSecondArgument() { + return this.arrayWithThreeElementsAndUndefinedAsSecondArgument; + } + + @Override + public java.lang.Object getThisShouldBeUndefined() { + return this.thisShouldBeUndefined; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"arrayWithThreeElementsAndUndefinedAsSecondArgument\\", om.valueToTree(this.getArrayWithThreeElementsAndUndefinedAsSecondArgument())); + if (this.getThisShouldBeUndefined() != null) { + data.set(\\"thisShouldBeUndefined\\", om.valueToTree(this.getThisShouldBeUndefined())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.NullShouldBeTreatedAsUndefinedData\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + NullShouldBeTreatedAsUndefinedData.Jsii$Proxy that = (NullShouldBeTreatedAsUndefinedData.Jsii$Proxy) o; + + if (!arrayWithThreeElementsAndUndefinedAsSecondArgument.equals(that.arrayWithThreeElementsAndUndefinedAsSecondArgument)) return false; + return this.thisShouldBeUndefined != null ? this.thisShouldBeUndefined.equals(that.thisShouldBeUndefined) : that.thisShouldBeUndefined == null; + } + + @Override + public int hashCode() { + int result = this.arrayWithThreeElementsAndUndefinedAsSecondArgument.hashCode(); + result = 31 * result + (this.thisShouldBeUndefined != null ? this.thisShouldBeUndefined.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/NumberGenerator.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * This allows us to test that a reference can be stored for objects that implement interfaces. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.NumberGenerator\\") +public class NumberGenerator extends software.amazon.jsii.JsiiObject { + + protected NumberGenerator(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected NumberGenerator(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param generator This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public NumberGenerator(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IRandomNumberGenerator generator) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(generator, \\"generator is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param gen This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean isSameGenerator(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IRandomNumberGenerator gen) { + return this.jsiiCall(\\"isSameGenerator\\", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(gen, \\"gen is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number nextTimes100() { + return this.jsiiCall(\\"nextTimes100\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IRandomNumberGenerator getGenerator() { + return this.jsiiGet(\\"generator\\", software.amazon.jsii.tests.calculator.IRandomNumberGenerator.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setGenerator(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IRandomNumberGenerator value) { + this.jsiiSet(\\"generator\\", java.util.Objects.requireNonNull(value, \\"generator is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ObjectRefsInCollections.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Verify that object references can be passed inside collections. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ObjectRefsInCollections\\") +public class ObjectRefsInCollections extends software.amazon.jsii.JsiiObject { + + protected ObjectRefsInCollections(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ObjectRefsInCollections(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ObjectRefsInCollections() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * Returns the sum of all values. + *

+ * EXPERIMENTAL + *

+ * @param values This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number sumFromArray(final @org.jetbrains.annotations.NotNull java.util.List values) { + return this.jsiiCall(\\"sumFromArray\\", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(values, \\"values is required\\") }); + } + + /** + * Returns the sum of all values in a map. + *

+ * EXPERIMENTAL + *

+ * @param values This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number sumFromMap(final @org.jetbrains.annotations.NotNull java.util.Map values) { + return this.jsiiCall(\\"sumFromMap\\", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(values, \\"values is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ObjectWithPropertyProvider.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ObjectWithPropertyProvider\\") +public class ObjectWithPropertyProvider extends software.amazon.jsii.JsiiObject { + + protected ObjectWithPropertyProvider(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ObjectWithPropertyProvider(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IObjectWithProperty provide() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ObjectWithPropertyProvider.class, \\"provide\\", software.amazon.jsii.tests.calculator.IObjectWithProperty.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Old.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Old class. + *

+ * @deprecated Use the new class + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) +@Deprecated +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Old\\") +public class Old extends software.amazon.jsii.JsiiObject { + + protected Old(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Old(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Old() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * Doo wop that thing. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public void doAThing() { + this.jsiiCall(\\"doAThing\\", software.amazon.jsii.NativeType.VOID); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/OptionalArgumentInvoker.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.OptionalArgumentInvoker\\") +public class OptionalArgumentInvoker extends software.amazon.jsii.JsiiObject { + + protected OptionalArgumentInvoker(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected OptionalArgumentInvoker(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param delegate This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public OptionalArgumentInvoker(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IInterfaceWithOptionalMethodArguments delegate) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(delegate, \\"delegate is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void invokeWithOptional() { + this.jsiiCall(\\"invokeWithOptional\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void invokeWithoutOptional() { + this.jsiiCall(\\"invokeWithoutOptional\\", software.amazon.jsii.NativeType.VOID); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/OptionalConstructorArgument.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.OptionalConstructorArgument\\") +public class OptionalConstructorArgument extends software.amazon.jsii.JsiiObject { + + protected OptionalConstructorArgument(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected OptionalConstructorArgument(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param arg1 This parameter is required. + * @param arg2 This parameter is required. + * @param arg3 + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public OptionalConstructorArgument(final @org.jetbrains.annotations.NotNull java.lang.Number arg1, final @org.jetbrains.annotations.NotNull java.lang.String arg2, final @org.jetbrains.annotations.Nullable java.time.Instant arg3) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(arg1, \\"arg1 is required\\"), java.util.Objects.requireNonNull(arg2, \\"arg2 is required\\"), arg3 }); + } + + /** + * EXPERIMENTAL + *

+ * @param arg1 This parameter is required. + * @param arg2 This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public OptionalConstructorArgument(final @org.jetbrains.annotations.NotNull java.lang.Number arg1, final @org.jetbrains.annotations.NotNull java.lang.String arg2) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(arg1, \\"arg1 is required\\"), java.util.Objects.requireNonNull(arg2, \\"arg2 is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getArg1() { + return this.jsiiGet(\\"arg1\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getArg2() { + return this.jsiiGet(\\"arg2\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable java.time.Instant getArg3() { + return this.jsiiGet(\\"arg3\\", java.time.Instant.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/OptionalStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.OptionalStruct\\") +@software.amazon.jsii.Jsii.Proxy(OptionalStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface OptionalStruct extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.String getField() { + return null; + } + + /** + * @return a {@link Builder} of {@link OptionalStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link OptionalStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String field; + + /** + * Sets the value of {@link OptionalStruct#getField} + * @param field the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder field(java.lang.String field) { + this.field = field; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link OptionalStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public OptionalStruct build() { + return new Jsii$Proxy(field); + } + } + + /** + * An implementation for {@link OptionalStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements OptionalStruct { + private final java.lang.String field; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.field = this.jsiiGet(\\"field\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String field) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.field = field; + } + + @Override + public java.lang.String getField() { + return this.field; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + if (this.getField() != null) { + data.set(\\"field\\", om.valueToTree(this.getField())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.OptionalStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + OptionalStruct.Jsii$Proxy that = (OptionalStruct.Jsii$Proxy) o; + + return this.field != null ? this.field.equals(that.field) : that.field == null; + } + + @Override + public int hashCode() { + int result = this.field != null ? this.field.hashCode() : 0; + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/OptionalStructConsumer.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.OptionalStructConsumer\\") +public class OptionalStructConsumer extends software.amazon.jsii.JsiiObject { + + protected OptionalStructConsumer(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected OptionalStructConsumer(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param optionalStruct + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public OptionalStructConsumer(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.OptionalStruct optionalStruct) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { optionalStruct }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public OptionalStructConsumer() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean getParameterWasUndefined() { + return this.jsiiGet(\\"parameterWasUndefined\\", java.lang.Boolean.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable java.lang.String getFieldValue() { + return this.jsiiGet(\\"fieldValue\\", java.lang.String.class); + } + + /** + * A fluent builder for {@link software.amazon.jsii.tests.calculator.OptionalStructConsumer}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + /** + * EXPERIMENTAL + *

+ * @return a new instance of {@link Builder}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static Builder create() { + return new Builder(); + } + + private software.amazon.jsii.tests.calculator.OptionalStruct.Builder optionalStruct; + + private Builder() { + } + + /** + * EXPERIMENTAL + *

+ * @return {@code this} + * @param field This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder field(final java.lang.String field) { + this.optionalStruct().field(field); + return this; + } + + /** + * @returns a newly built instance of {@link software.amazon.jsii.tests.calculator.OptionalStructConsumer}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public software.amazon.jsii.tests.calculator.OptionalStructConsumer build() { + return new software.amazon.jsii.tests.calculator.OptionalStructConsumer( + this.optionalStruct != null ? this.optionalStruct.build() : null + ); + } + + private software.amazon.jsii.tests.calculator.OptionalStruct.Builder optionalStruct() { + if (this.optionalStruct == null) { + this.optionalStruct = new software.amazon.jsii.tests.calculator.OptionalStruct.Builder(); + } + return this.optionalStruct; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/OverridableProtectedMember.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + *

+ * @see https://github.com/aws/jsii/issues/903 + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.OverridableProtectedMember\\") +public class OverridableProtectedMember extends software.amazon.jsii.JsiiObject { + + protected OverridableProtectedMember(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected OverridableProtectedMember(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public OverridableProtectedMember() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected @org.jetbrains.annotations.NotNull java.lang.String overrideMe() { + return this.jsiiCall(\\"overrideMe\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void switchModes() { + this.jsiiCall(\\"switchModes\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String valueFromProtected() { + return this.jsiiCall(\\"valueFromProtected\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected @org.jetbrains.annotations.NotNull java.lang.String getOverrideReadOnly() { + return this.jsiiGet(\\"overrideReadOnly\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected @org.jetbrains.annotations.NotNull java.lang.String getOverrideReadWrite() { + return this.jsiiGet(\\"overrideReadWrite\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected void setOverrideReadWrite(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"overrideReadWrite\\", java.util.Objects.requireNonNull(value, \\"overrideReadWrite is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/OverrideReturnsObject.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.OverrideReturnsObject\\") +public class OverrideReturnsObject extends software.amazon.jsii.JsiiObject { + + protected OverrideReturnsObject(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected OverrideReturnsObject(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public OverrideReturnsObject() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param obj This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number test(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IReturnsNumber obj) { + return this.jsiiCall(\\"test\\", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(obj, \\"obj is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ParentStruct982.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * https://github.com/aws/jsii/issues/982. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ParentStruct982\\") +@software.amazon.jsii.Jsii.Proxy(ParentStruct982.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface ParentStruct982 extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getFoo(); + + /** + * @return a {@link Builder} of {@link ParentStruct982} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link ParentStruct982} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String foo; + + /** + * Sets the value of {@link ParentStruct982#getFoo} + * @param foo the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder foo(java.lang.String foo) { + this.foo = foo; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link ParentStruct982} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public ParentStruct982 build() { + return new Jsii$Proxy(foo); + } + } + + /** + * An implementation for {@link ParentStruct982} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ParentStruct982 { + private final java.lang.String foo; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.foo = this.jsiiGet(\\"foo\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String foo) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.foo = java.util.Objects.requireNonNull(foo, \\"foo is required\\"); + } + + @Override + public java.lang.String getFoo() { + return this.foo; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"foo\\", om.valueToTree(this.getFoo())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.ParentStruct982\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + ParentStruct982.Jsii$Proxy that = (ParentStruct982.Jsii$Proxy) o; + + return this.foo.equals(that.foo); + } + + @Override + public int hashCode() { + int result = this.foo.hashCode(); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/PartiallyInitializedThisConsumer.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.PartiallyInitializedThisConsumer\\") +public abstract class PartiallyInitializedThisConsumer extends software.amazon.jsii.JsiiObject { + + protected PartiallyInitializedThisConsumer(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected PartiallyInitializedThisConsumer(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected PartiallyInitializedThisConsumer() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param obj This parameter is required. + * @param dt This parameter is required. + * @param ev This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public abstract @org.jetbrains.annotations.NotNull java.lang.String consumePartiallyInitializedThis(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.ConstructorPassesThisOut obj, final @org.jetbrains.annotations.NotNull java.time.Instant dt, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.AllTypesEnum ev); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.PartiallyInitializedThisConsumer { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + *

+ * @param obj This parameter is required. + * @param dt This parameter is required. + * @param ev This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String consumePartiallyInitializedThis(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.ConstructorPassesThisOut obj, final @org.jetbrains.annotations.NotNull java.time.Instant dt, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.AllTypesEnum ev) { + return this.jsiiCall(\\"consumePartiallyInitializedThis\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(obj, \\"obj is required\\"), java.util.Objects.requireNonNull(dt, \\"dt is required\\"), java.util.Objects.requireNonNull(ev, \\"ev is required\\") }); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Polymorphism.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Polymorphism\\") +public class Polymorphism extends software.amazon.jsii.JsiiObject { + + protected Polymorphism(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Polymorphism(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Polymorphism() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param friendly This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String sayHello(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.IFriendly friendly) { + return this.jsiiCall(\\"sayHello\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(friendly, \\"friendly is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Power.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * The power operation. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Power\\") +public class Power extends software.amazon.jsii.tests.calculator.composition.CompositeOperation { + + protected Power(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Power(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * Creates a Power operation. + *

+ * EXPERIMENTAL + *

+ * @param base The base of the power. This parameter is required. + * @param pow The number of times to multiply. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Power(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value base, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value pow) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(base, \\"base is required\\"), java.util.Objects.requireNonNull(pow, \\"pow is required\\") }); + } + + /** + * The base of the power. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getBase() { + return this.jsiiGet(\\"base\\", software.amazon.jsii.tests.calculator.lib.Value.class); + } + + /** + * The expression that this operation consists of. + *

+ * Must be implemented by derived classes. + *

+ * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getExpression() { + return this.jsiiGet(\\"expression\\", software.amazon.jsii.tests.calculator.lib.Value.class); + } + + /** + * The number of times to multiply. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getPow() { + return this.jsiiGet(\\"pow\\", software.amazon.jsii.tests.calculator.lib.Value.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/PropertyNamedProperty.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Reproduction for https://github.com/aws/jsii/issues/1113 Where a method or property named \\"property\\" would result in impossible to load Python code. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.PropertyNamedProperty\\") +public class PropertyNamedProperty extends software.amazon.jsii.JsiiObject { + + protected PropertyNamedProperty(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected PropertyNamedProperty(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public PropertyNamedProperty() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getProperty() { + return this.jsiiGet(\\"property\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean getYetAnoterOne() { + return this.jsiiGet(\\"yetAnoterOne\\", java.lang.Boolean.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/PublicClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.PublicClass\\") +public class PublicClass extends software.amazon.jsii.JsiiObject { + + protected PublicClass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected PublicClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public PublicClass() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void hello() { + this.jsiiCall(\\"hello\\", software.amazon.jsii.NativeType.VOID); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/PythonReservedWords.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.PythonReservedWords\\") +public class PythonReservedWords extends software.amazon.jsii.JsiiObject { + + protected PythonReservedWords(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected PythonReservedWords(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public PythonReservedWords() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void and() { + this.jsiiCall(\\"and\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void as() { + this.jsiiCall(\\"as\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doAssert() { + this.jsiiCall(\\"assert\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void async() { + this.jsiiCall(\\"async\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void await() { + this.jsiiCall(\\"await\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doBreak() { + this.jsiiCall(\\"break\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doClass() { + this.jsiiCall(\\"class\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doContinue() { + this.jsiiCall(\\"continue\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void def() { + this.jsiiCall(\\"def\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void del() { + this.jsiiCall(\\"del\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void elif() { + this.jsiiCall(\\"elif\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doElse() { + this.jsiiCall(\\"else\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void except() { + this.jsiiCall(\\"except\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doFinally() { + this.jsiiCall(\\"finally\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doFor() { + this.jsiiCall(\\"for\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void from() { + this.jsiiCall(\\"from\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void global() { + this.jsiiCall(\\"global\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doIf() { + this.jsiiCall(\\"if\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doImport() { + this.jsiiCall(\\"import\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void in() { + this.jsiiCall(\\"in\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void is() { + this.jsiiCall(\\"is\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void lambda() { + this.jsiiCall(\\"lambda\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void nonlocal() { + this.jsiiCall(\\"nonlocal\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void not() { + this.jsiiCall(\\"not\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void or() { + this.jsiiCall(\\"or\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void pass() { + this.jsiiCall(\\"pass\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void raise() { + this.jsiiCall(\\"raise\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doReturn() { + this.jsiiCall(\\"return\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doTry() { + this.jsiiCall(\\"try\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void doWhile() { + this.jsiiCall(\\"while\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void with() { + this.jsiiCall(\\"with\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void yield() { + this.jsiiCall(\\"yield\\", software.amazon.jsii.NativeType.VOID); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ReferenceEnumFromScopedPackage.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * See awslabs/jsii#138. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ReferenceEnumFromScopedPackage\\") +public class ReferenceEnumFromScopedPackage extends software.amazon.jsii.JsiiObject { + + protected ReferenceEnumFromScopedPackage(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ReferenceEnumFromScopedPackage(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ReferenceEnumFromScopedPackage() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.lib.EnumFromScopedModule loadFoo() { + return this.jsiiCall(\\"loadFoo\\", software.amazon.jsii.tests.calculator.lib.EnumFromScopedModule.class); + } + + /** + * EXPERIMENTAL + *

+ * @param value This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void saveFoo(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.EnumFromScopedModule value) { + this.jsiiCall(\\"saveFoo\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(value, \\"value is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.lib.EnumFromScopedModule getFoo() { + return this.jsiiGet(\\"foo\\", software.amazon.jsii.tests.calculator.lib.EnumFromScopedModule.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setFoo(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.lib.EnumFromScopedModule value) { + this.jsiiSet(\\"foo\\", value); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/ReturnsPrivateImplementationOfInterface.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Helps ensure the JSII kernel & runtime cooperate correctly when an un-exported instance of a class is returned with a declared type that is an exported interface, and the instance inherits from an exported class. + *

+ * EXPERIMENTAL + *

+ * @return an instance of an un-exported class that extends \`ExportedBaseClass\`, declared as \`IPrivatelyImplemented\`. + * @see https://github.com/aws/jsii/issues/320 + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.ReturnsPrivateImplementationOfInterface\\") +public class ReturnsPrivateImplementationOfInterface extends software.amazon.jsii.JsiiObject { + + protected ReturnsPrivateImplementationOfInterface(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ReturnsPrivateImplementationOfInterface(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ReturnsPrivateImplementationOfInterface() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IPrivatelyImplemented getPrivateImplementation() { + return this.jsiiGet(\\"privateImplementation\\", software.amazon.jsii.tests.calculator.IPrivatelyImplemented.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/RootStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * This is here to check that we can pass a nested struct into a kwargs by specifying it as an in-line dictionary. + *

+ * This is cheating with the (current) declared types, but this is the \\"more + * idiomatic\\" way for Pythonists. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.RootStruct\\") +@software.amazon.jsii.Jsii.Proxy(RootStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface RootStruct extends software.amazon.jsii.JsiiSerializable { + + /** + * May not be empty. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getStringProp(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.NestedStruct getNestedStruct() { + return null; + } + + /** + * @return a {@link Builder} of {@link RootStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link RootStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String stringProp; + private software.amazon.jsii.tests.calculator.NestedStruct nestedStruct; + + /** + * Sets the value of {@link RootStruct#getStringProp} + * @param stringProp May not be empty. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder stringProp(java.lang.String stringProp) { + this.stringProp = stringProp; + return this; + } + + /** + * Sets the value of {@link RootStruct#getNestedStruct} + * @param nestedStruct the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder nestedStruct(software.amazon.jsii.tests.calculator.NestedStruct nestedStruct) { + this.nestedStruct = nestedStruct; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link RootStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public RootStruct build() { + return new Jsii$Proxy(stringProp, nestedStruct); + } + } + + /** + * An implementation for {@link RootStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements RootStruct { + private final java.lang.String stringProp; + private final software.amazon.jsii.tests.calculator.NestedStruct nestedStruct; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.stringProp = this.jsiiGet(\\"stringProp\\", java.lang.String.class); + this.nestedStruct = this.jsiiGet(\\"nestedStruct\\", software.amazon.jsii.tests.calculator.NestedStruct.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String stringProp, final software.amazon.jsii.tests.calculator.NestedStruct nestedStruct) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.stringProp = java.util.Objects.requireNonNull(stringProp, \\"stringProp is required\\"); + this.nestedStruct = nestedStruct; + } + + @Override + public java.lang.String getStringProp() { + return this.stringProp; + } + + @Override + public software.amazon.jsii.tests.calculator.NestedStruct getNestedStruct() { + return this.nestedStruct; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"stringProp\\", om.valueToTree(this.getStringProp())); + if (this.getNestedStruct() != null) { + data.set(\\"nestedStruct\\", om.valueToTree(this.getNestedStruct())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.RootStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + RootStruct.Jsii$Proxy that = (RootStruct.Jsii$Proxy) o; + + if (!stringProp.equals(that.stringProp)) return false; + return this.nestedStruct != null ? this.nestedStruct.equals(that.nestedStruct) : that.nestedStruct == null; + } + + @Override + public int hashCode() { + int result = this.stringProp.hashCode(); + result = 31 * result + (this.nestedStruct != null ? this.nestedStruct.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/RootStructValidator.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.RootStructValidator\\") +public class RootStructValidator extends software.amazon.jsii.JsiiObject { + + protected RootStructValidator(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected RootStructValidator(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param struct This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static void validate(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.RootStruct struct) { + software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.RootStructValidator.class, \\"validate\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(struct, \\"struct is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/RuntimeTypeChecking.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.RuntimeTypeChecking\\") +public class RuntimeTypeChecking extends software.amazon.jsii.JsiiObject { + + protected RuntimeTypeChecking(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected RuntimeTypeChecking(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public RuntimeTypeChecking() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param arg1 + * @param arg2 + * @param arg3 + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void methodWithDefaultedArguments(final @org.jetbrains.annotations.Nullable java.lang.Number arg1, final @org.jetbrains.annotations.Nullable java.lang.String arg2, final @org.jetbrains.annotations.Nullable java.time.Instant arg3) { + this.jsiiCall(\\"methodWithDefaultedArguments\\", software.amazon.jsii.NativeType.VOID, new Object[] { arg1, arg2, arg3 }); + } + + /** + * EXPERIMENTAL + *

+ * @param arg1 + * @param arg2 + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void methodWithDefaultedArguments(final @org.jetbrains.annotations.Nullable java.lang.Number arg1, final @org.jetbrains.annotations.Nullable java.lang.String arg2) { + this.jsiiCall(\\"methodWithDefaultedArguments\\", software.amazon.jsii.NativeType.VOID, new Object[] { arg1, arg2 }); + } + + /** + * EXPERIMENTAL + *

+ * @param arg1 + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void methodWithDefaultedArguments(final @org.jetbrains.annotations.Nullable java.lang.Number arg1) { + this.jsiiCall(\\"methodWithDefaultedArguments\\", software.amazon.jsii.NativeType.VOID, new Object[] { arg1 }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void methodWithDefaultedArguments() { + this.jsiiCall(\\"methodWithDefaultedArguments\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + *

+ * @param arg + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void methodWithOptionalAnyArgument(final @org.jetbrains.annotations.Nullable java.lang.Object arg) { + this.jsiiCall(\\"methodWithOptionalAnyArgument\\", software.amazon.jsii.NativeType.VOID, new Object[] { arg }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void methodWithOptionalAnyArgument() { + this.jsiiCall(\\"methodWithOptionalAnyArgument\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * Used to verify verification of number of method arguments. + *

+ * EXPERIMENTAL + *

+ * @param arg1 This parameter is required. + * @param arg2 This parameter is required. + * @param arg3 + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void methodWithOptionalArguments(final @org.jetbrains.annotations.NotNull java.lang.Number arg1, final @org.jetbrains.annotations.NotNull java.lang.String arg2, final @org.jetbrains.annotations.Nullable java.time.Instant arg3) { + this.jsiiCall(\\"methodWithOptionalArguments\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(arg1, \\"arg1 is required\\"), java.util.Objects.requireNonNull(arg2, \\"arg2 is required\\"), arg3 }); + } + + /** + * Used to verify verification of number of method arguments. + *

+ * EXPERIMENTAL + *

+ * @param arg1 This parameter is required. + * @param arg2 This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void methodWithOptionalArguments(final @org.jetbrains.annotations.NotNull java.lang.Number arg1, final @org.jetbrains.annotations.NotNull java.lang.String arg2) { + this.jsiiCall(\\"methodWithOptionalArguments\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(arg1, \\"arg1 is required\\"), java.util.Objects.requireNonNull(arg2, \\"arg2 is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/SecondLevelStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.SecondLevelStruct\\") +@software.amazon.jsii.Jsii.Proxy(SecondLevelStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface SecondLevelStruct extends software.amazon.jsii.JsiiSerializable { + + /** + * It's long and required. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getDeeperRequiredProp(); + + /** + * It's long, but you'll almost never pass it. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.String getDeeperOptionalProp() { + return null; + } + + /** + * @return a {@link Builder} of {@link SecondLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link SecondLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String deeperRequiredProp; + private java.lang.String deeperOptionalProp; + + /** + * Sets the value of {@link SecondLevelStruct#getDeeperRequiredProp} + * @param deeperRequiredProp It's long and required. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder deeperRequiredProp(java.lang.String deeperRequiredProp) { + this.deeperRequiredProp = deeperRequiredProp; + return this; + } + + /** + * Sets the value of {@link SecondLevelStruct#getDeeperOptionalProp} + * @param deeperOptionalProp It's long, but you'll almost never pass it. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder deeperOptionalProp(java.lang.String deeperOptionalProp) { + this.deeperOptionalProp = deeperOptionalProp; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link SecondLevelStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public SecondLevelStruct build() { + return new Jsii$Proxy(deeperRequiredProp, deeperOptionalProp); + } + } + + /** + * An implementation for {@link SecondLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SecondLevelStruct { + private final java.lang.String deeperRequiredProp; + private final java.lang.String deeperOptionalProp; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.deeperRequiredProp = this.jsiiGet(\\"deeperRequiredProp\\", java.lang.String.class); + this.deeperOptionalProp = this.jsiiGet(\\"deeperOptionalProp\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String deeperRequiredProp, final java.lang.String deeperOptionalProp) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.deeperRequiredProp = java.util.Objects.requireNonNull(deeperRequiredProp, \\"deeperRequiredProp is required\\"); + this.deeperOptionalProp = deeperOptionalProp; + } + + @Override + public java.lang.String getDeeperRequiredProp() { + return this.deeperRequiredProp; + } + + @Override + public java.lang.String getDeeperOptionalProp() { + return this.deeperOptionalProp; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"deeperRequiredProp\\", om.valueToTree(this.getDeeperRequiredProp())); + if (this.getDeeperOptionalProp() != null) { + data.set(\\"deeperOptionalProp\\", om.valueToTree(this.getDeeperOptionalProp())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.SecondLevelStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + SecondLevelStruct.Jsii$Proxy that = (SecondLevelStruct.Jsii$Proxy) o; + + if (!deeperRequiredProp.equals(that.deeperRequiredProp)) return false; + return this.deeperOptionalProp != null ? this.deeperOptionalProp.equals(that.deeperOptionalProp) : that.deeperOptionalProp == null; + } + + @Override + public int hashCode() { + int result = this.deeperRequiredProp.hashCode(); + result = 31 * result + (this.deeperOptionalProp != null ? this.deeperOptionalProp.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/SingleInstanceTwoTypes.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Test that a single instance can be returned under two different FQNs. + *

+ * JSII clients can instantiate 2 different strongly-typed wrappers for the same + * object. Unfortunately, this will break object equality, but if we didn't do + * this it would break runtime type checks in the JVM or CLR. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.SingleInstanceTwoTypes\\") +public class SingleInstanceTwoTypes extends software.amazon.jsii.JsiiObject { + + protected SingleInstanceTwoTypes(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected SingleInstanceTwoTypes(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public SingleInstanceTwoTypes() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.InbetweenClass interface1() { + return this.jsiiCall(\\"interface1\\", software.amazon.jsii.tests.calculator.InbetweenClass.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IPublicInterface interface2() { + return this.jsiiCall(\\"interface2\\", software.amazon.jsii.tests.calculator.IPublicInterface.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/SingletonInt.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Verifies that singleton enums are handled correctly. + *

+ * https://github.com/aws/jsii/issues/231 + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.SingletonInt\\") +public class SingletonInt extends software.amazon.jsii.JsiiObject { + + protected SingletonInt(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected SingletonInt(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param value This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean isSingletonInt(final @org.jetbrains.annotations.NotNull java.lang.Number value) { + return this.jsiiCall(\\"isSingletonInt\\", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(value, \\"value is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/SingletonIntEnum.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * A singleton integer. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.SingletonIntEnum\\") +public enum SingletonIntEnum { + /** + * Elite! + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + SINGLETON_INT, +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/SingletonString.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Verifies that singleton enums are handled correctly. + *

+ * https://github.com/aws/jsii/issues/231 + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.SingletonString\\") +public class SingletonString extends software.amazon.jsii.JsiiObject { + + protected SingletonString(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected SingletonString(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param value This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean isSingletonString(final @org.jetbrains.annotations.NotNull java.lang.String value) { + return this.jsiiCall(\\"isSingletonString\\", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(value, \\"value is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/SingletonStringEnum.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * A singleton string. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.SingletonStringEnum\\") +public enum SingletonStringEnum { + /** + * 1337. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + SINGLETON_STRING, +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/SmellyStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.SmellyStruct\\") +@software.amazon.jsii.Jsii.Proxy(SmellyStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface SmellyStruct extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getProperty(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Boolean getYetAnoterOne(); + + /** + * @return a {@link Builder} of {@link SmellyStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link SmellyStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String property; + private java.lang.Boolean yetAnoterOne; + + /** + * Sets the value of {@link SmellyStruct#getProperty} + * @param property the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder property(java.lang.String property) { + this.property = property; + return this; + } + + /** + * Sets the value of {@link SmellyStruct#getYetAnoterOne} + * @param yetAnoterOne the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder yetAnoterOne(java.lang.Boolean yetAnoterOne) { + this.yetAnoterOne = yetAnoterOne; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link SmellyStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public SmellyStruct build() { + return new Jsii$Proxy(property, yetAnoterOne); + } + } + + /** + * An implementation for {@link SmellyStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SmellyStruct { + private final java.lang.String property; + private final java.lang.Boolean yetAnoterOne; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.property = this.jsiiGet(\\"property\\", java.lang.String.class); + this.yetAnoterOne = this.jsiiGet(\\"yetAnoterOne\\", java.lang.Boolean.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String property, final java.lang.Boolean yetAnoterOne) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.property = java.util.Objects.requireNonNull(property, \\"property is required\\"); + this.yetAnoterOne = java.util.Objects.requireNonNull(yetAnoterOne, \\"yetAnoterOne is required\\"); + } + + @Override + public java.lang.String getProperty() { + return this.property; + } + + @Override + public java.lang.Boolean getYetAnoterOne() { + return this.yetAnoterOne; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"property\\", om.valueToTree(this.getProperty())); + data.set(\\"yetAnoterOne\\", om.valueToTree(this.getYetAnoterOne())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.SmellyStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + SmellyStruct.Jsii$Proxy that = (SmellyStruct.Jsii$Proxy) o; + + if (!property.equals(that.property)) return false; + return this.yetAnoterOne.equals(that.yetAnoterOne); + } + + @Override + public int hashCode() { + int result = this.property.hashCode(); + result = 31 * result + (this.yetAnoterOne.hashCode()); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/SomeTypeJsii976.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.SomeTypeJsii976\\") +public class SomeTypeJsii976 extends software.amazon.jsii.JsiiObject { + + protected SomeTypeJsii976(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected SomeTypeJsii976(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public SomeTypeJsii976() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Object returnAnonymous() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.SomeTypeJsii976.class, \\"returnAnonymous\\", java.lang.Object.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IReturnJsii976 returnReturn() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.SomeTypeJsii976.class, \\"returnReturn\\", software.amazon.jsii.tests.calculator.IReturnJsii976.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/StableClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.StableClass\\") +public class StableClass extends software.amazon.jsii.JsiiObject { + + protected StableClass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected StableClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * @param readonlyString This parameter is required. + * @param mutableNumber + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + public StableClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString, final @org.jetbrains.annotations.Nullable java.lang.Number mutableNumber) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, \\"readonlyString is required\\"), mutableNumber }); + } + + /** + * @param readonlyString This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + public StableClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, \\"readonlyString is required\\") }); + } + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + public void method() { + this.jsiiCall(\\"method\\", software.amazon.jsii.NativeType.VOID); + } + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + public @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty() { + return this.jsiiGet(\\"readonlyProperty\\", java.lang.String.class); + } + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { + return this.jsiiGet(\\"mutableProperty\\", java.lang.Number.class); + } + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { + this.jsiiSet(\\"mutableProperty\\", value); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/StableEnum.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.StableEnum\\") +public enum StableEnum { + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + OPTION_A, + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + OPTION_B, +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/StableStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.StableStruct\\") +@software.amazon.jsii.Jsii.Proxy(StableStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) +public interface StableStruct extends software.amazon.jsii.JsiiSerializable { + + /** + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty(); + + /** + * @return a {@link Builder} of {@link StableStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link StableStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String readonlyProperty; + + /** + * Sets the value of {@link StableStruct#getReadonlyProperty} + * @param readonlyProperty the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + public Builder readonlyProperty(java.lang.String readonlyProperty) { + this.readonlyProperty = readonlyProperty; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link StableStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + @Override + public StableStruct build() { + return new Jsii$Proxy(readonlyProperty); + } + } + + /** + * An implementation for {@link StableStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StableStruct { + private final java.lang.String readonlyProperty; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.readonlyProperty = this.jsiiGet(\\"readonlyProperty\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String readonlyProperty) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.readonlyProperty = java.util.Objects.requireNonNull(readonlyProperty, \\"readonlyProperty is required\\"); + } + + @Override + public java.lang.String getReadonlyProperty() { + return this.readonlyProperty; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"readonlyProperty\\", om.valueToTree(this.getReadonlyProperty())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.StableStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + StableStruct.Jsii$Proxy that = (StableStruct.Jsii$Proxy) o; + + return this.readonlyProperty.equals(that.readonlyProperty); + } + + @Override + public int hashCode() { + int result = this.readonlyProperty.hashCode(); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/StaticContext.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * This is used to validate the ability to use \`this\` from within a static context. + *

+ * https://github.com/awslabs/aws-cdk/issues/2304 + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.StaticContext\\") +public class StaticContext extends software.amazon.jsii.JsiiObject { + + protected StaticContext(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected StaticContext(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Boolean canAccessStaticContext() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.StaticContext.class, \\"canAccessStaticContext\\", java.lang.Boolean.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Boolean getStaticVariable() { + return software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.StaticContext.class, \\"staticVariable\\", java.lang.Boolean.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static void setStaticVariable(final @org.jetbrains.annotations.NotNull java.lang.Boolean value) { + software.amazon.jsii.JsiiObject.jsiiStaticSet(software.amazon.jsii.tests.calculator.StaticContext.class, \\"staticVariable\\", java.util.Objects.requireNonNull(value, \\"staticVariable is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Statics.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Statics\\") +public class Statics extends software.amazon.jsii.JsiiObject { + + protected Statics(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Statics(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + static { + BAR = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.Statics.class, \\"BAR\\", java.lang.Number.class); + CONST_OBJ = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.Statics.class, \\"ConstObj\\", software.amazon.jsii.tests.calculator.DoubleTrouble.class); + FOO = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.Statics.class, \\"Foo\\", java.lang.String.class); + ZOO_BAR = java.util.Collections.unmodifiableMap(software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.Statics.class, \\"zooBar\\", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); + } + + /** + * EXPERIMENTAL + *

+ * @param value This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Statics(final @org.jetbrains.annotations.NotNull java.lang.String value) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(value, \\"value is required\\") }); + } + + /** + * Jsdocs for static method. + *

+ * EXPERIMENTAL + *

+ * @param name The name of the person to say hello to. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.String staticMethod(final @org.jetbrains.annotations.NotNull java.lang.String name) { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Statics.class, \\"staticMethod\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(name, \\"name is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String justMethod() { + return this.jsiiCall(\\"justMethod\\", java.lang.String.class); + } + + /** + * Constants may also use all-caps. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public final static java.lang.Number BAR; + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public final static software.amazon.jsii.tests.calculator.DoubleTrouble CONST_OBJ; + + /** + * Jsdocs for static property. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public final static java.lang.String FOO; + + /** + * Constants can also use camelCase. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public final static java.util.Map ZOO_BAR; + + /** + * Jsdocs for static getter. + *

+ * Jsdocs for static setter. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Statics getInstance() { + return software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.Statics.class, \\"instance\\", software.amazon.jsii.tests.calculator.Statics.class); + } + + /** + * Jsdocs for static getter. + *

+ * Jsdocs for static setter. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static void setInstance(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Statics value) { + software.amazon.jsii.JsiiObject.jsiiStaticSet(software.amazon.jsii.tests.calculator.Statics.class, \\"instance\\", java.util.Objects.requireNonNull(value, \\"instance is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Number getNonConstStatic() { + return software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.Statics.class, \\"nonConstStatic\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static void setNonConstStatic(final @org.jetbrains.annotations.NotNull java.lang.Number value) { + software.amazon.jsii.JsiiObject.jsiiStaticSet(software.amazon.jsii.tests.calculator.Statics.class, \\"nonConstStatic\\", java.util.Objects.requireNonNull(value, \\"nonConstStatic is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getValue() { + return this.jsiiGet(\\"value\\", java.lang.String.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/StringEnum.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.StringEnum\\") +public enum StringEnum { + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + A, + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + B, + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + C, +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/StripInternal.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.StripInternal\\") +public class StripInternal extends software.amazon.jsii.JsiiObject { + + protected StripInternal(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected StripInternal(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public StripInternal() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getYouSeeMe() { + return this.jsiiGet(\\"youSeeMe\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setYouSeeMe(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"youSeeMe\\", java.util.Objects.requireNonNull(value, \\"youSeeMe is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/StructA.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * We can serialize and deserialize structs without silently ignoring optional fields. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.StructA\\") +@software.amazon.jsii.Jsii.Proxy(StructA.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface StructA extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getRequiredString(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.Number getOptionalNumber() { + return null; + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.String getOptionalString() { + return null; + } + + /** + * @return a {@link Builder} of {@link StructA} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link StructA} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String requiredString; + private java.lang.Number optionalNumber; + private java.lang.String optionalString; + + /** + * Sets the value of {@link StructA#getRequiredString} + * @param requiredString the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder requiredString(java.lang.String requiredString) { + this.requiredString = requiredString; + return this; + } + + /** + * Sets the value of {@link StructA#getOptionalNumber} + * @param optionalNumber the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder optionalNumber(java.lang.Number optionalNumber) { + this.optionalNumber = optionalNumber; + return this; + } + + /** + * Sets the value of {@link StructA#getOptionalString} + * @param optionalString the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder optionalString(java.lang.String optionalString) { + this.optionalString = optionalString; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link StructA} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public StructA build() { + return new Jsii$Proxy(requiredString, optionalNumber, optionalString); + } + } + + /** + * An implementation for {@link StructA} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StructA { + private final java.lang.String requiredString; + private final java.lang.Number optionalNumber; + private final java.lang.String optionalString; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.requiredString = this.jsiiGet(\\"requiredString\\", java.lang.String.class); + this.optionalNumber = this.jsiiGet(\\"optionalNumber\\", java.lang.Number.class); + this.optionalString = this.jsiiGet(\\"optionalString\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String requiredString, final java.lang.Number optionalNumber, final java.lang.String optionalString) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.requiredString = java.util.Objects.requireNonNull(requiredString, \\"requiredString is required\\"); + this.optionalNumber = optionalNumber; + this.optionalString = optionalString; + } + + @Override + public java.lang.String getRequiredString() { + return this.requiredString; + } + + @Override + public java.lang.Number getOptionalNumber() { + return this.optionalNumber; + } + + @Override + public java.lang.String getOptionalString() { + return this.optionalString; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"requiredString\\", om.valueToTree(this.getRequiredString())); + if (this.getOptionalNumber() != null) { + data.set(\\"optionalNumber\\", om.valueToTree(this.getOptionalNumber())); + } + if (this.getOptionalString() != null) { + data.set(\\"optionalString\\", om.valueToTree(this.getOptionalString())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.StructA\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + StructA.Jsii$Proxy that = (StructA.Jsii$Proxy) o; + + if (!requiredString.equals(that.requiredString)) return false; + if (this.optionalNumber != null ? !this.optionalNumber.equals(that.optionalNumber) : that.optionalNumber != null) return false; + return this.optionalString != null ? this.optionalString.equals(that.optionalString) : that.optionalString == null; + } + + @Override + public int hashCode() { + int result = this.requiredString.hashCode(); + result = 31 * result + (this.optionalNumber != null ? this.optionalNumber.hashCode() : 0); + result = 31 * result + (this.optionalString != null ? this.optionalString.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/StructB.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * This intentionally overlaps with StructA (where only requiredString is provided) to test htat the kernel properly disambiguates those. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.StructB\\") +@software.amazon.jsii.Jsii.Proxy(StructB.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface StructB extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getRequiredString(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.Boolean getOptionalBoolean() { + return null; + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.StructA getOptionalStructA() { + return null; + } + + /** + * @return a {@link Builder} of {@link StructB} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link StructB} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String requiredString; + private java.lang.Boolean optionalBoolean; + private software.amazon.jsii.tests.calculator.StructA optionalStructA; + + /** + * Sets the value of {@link StructB#getRequiredString} + * @param requiredString the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder requiredString(java.lang.String requiredString) { + this.requiredString = requiredString; + return this; + } + + /** + * Sets the value of {@link StructB#getOptionalBoolean} + * @param optionalBoolean the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder optionalBoolean(java.lang.Boolean optionalBoolean) { + this.optionalBoolean = optionalBoolean; + return this; + } + + /** + * Sets the value of {@link StructB#getOptionalStructA} + * @param optionalStructA the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder optionalStructA(software.amazon.jsii.tests.calculator.StructA optionalStructA) { + this.optionalStructA = optionalStructA; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link StructB} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public StructB build() { + return new Jsii$Proxy(requiredString, optionalBoolean, optionalStructA); + } + } + + /** + * An implementation for {@link StructB} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StructB { + private final java.lang.String requiredString; + private final java.lang.Boolean optionalBoolean; + private final software.amazon.jsii.tests.calculator.StructA optionalStructA; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.requiredString = this.jsiiGet(\\"requiredString\\", java.lang.String.class); + this.optionalBoolean = this.jsiiGet(\\"optionalBoolean\\", java.lang.Boolean.class); + this.optionalStructA = this.jsiiGet(\\"optionalStructA\\", software.amazon.jsii.tests.calculator.StructA.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String requiredString, final java.lang.Boolean optionalBoolean, final software.amazon.jsii.tests.calculator.StructA optionalStructA) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.requiredString = java.util.Objects.requireNonNull(requiredString, \\"requiredString is required\\"); + this.optionalBoolean = optionalBoolean; + this.optionalStructA = optionalStructA; + } + + @Override + public java.lang.String getRequiredString() { + return this.requiredString; + } + + @Override + public java.lang.Boolean getOptionalBoolean() { + return this.optionalBoolean; + } + + @Override + public software.amazon.jsii.tests.calculator.StructA getOptionalStructA() { + return this.optionalStructA; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"requiredString\\", om.valueToTree(this.getRequiredString())); + if (this.getOptionalBoolean() != null) { + data.set(\\"optionalBoolean\\", om.valueToTree(this.getOptionalBoolean())); + } + if (this.getOptionalStructA() != null) { + data.set(\\"optionalStructA\\", om.valueToTree(this.getOptionalStructA())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.StructB\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + StructB.Jsii$Proxy that = (StructB.Jsii$Proxy) o; + + if (!requiredString.equals(that.requiredString)) return false; + if (this.optionalBoolean != null ? !this.optionalBoolean.equals(that.optionalBoolean) : that.optionalBoolean != null) return false; + return this.optionalStructA != null ? this.optionalStructA.equals(that.optionalStructA) : that.optionalStructA == null; + } + + @Override + public int hashCode() { + int result = this.requiredString.hashCode(); + result = 31 * result + (this.optionalBoolean != null ? this.optionalBoolean.hashCode() : 0); + result = 31 * result + (this.optionalStructA != null ? this.optionalStructA.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/StructParameterType.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Verifies that, in languages that do keyword lifting (e.g: Python), having a struct member with the same name as a positional parameter results in the correct code being emitted. + *

+ * See: https://github.com/aws/aws-cdk/issues/4302 + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.StructParameterType\\") +@software.amazon.jsii.Jsii.Proxy(StructParameterType.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface StructParameterType extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getScope(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.Boolean getProps() { + return null; + } + + /** + * @return a {@link Builder} of {@link StructParameterType} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link StructParameterType} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String scope; + private java.lang.Boolean props; + + /** + * Sets the value of {@link StructParameterType#getScope} + * @param scope the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder scope(java.lang.String scope) { + this.scope = scope; + return this; + } + + /** + * Sets the value of {@link StructParameterType#getProps} + * @param props the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder props(java.lang.Boolean props) { + this.props = props; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link StructParameterType} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public StructParameterType build() { + return new Jsii$Proxy(scope, props); + } + } + + /** + * An implementation for {@link StructParameterType} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StructParameterType { + private final java.lang.String scope; + private final java.lang.Boolean props; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.scope = this.jsiiGet(\\"scope\\", java.lang.String.class); + this.props = this.jsiiGet(\\"props\\", java.lang.Boolean.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String scope, final java.lang.Boolean props) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.scope = java.util.Objects.requireNonNull(scope, \\"scope is required\\"); + this.props = props; + } + + @Override + public java.lang.String getScope() { + return this.scope; + } + + @Override + public java.lang.Boolean getProps() { + return this.props; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"scope\\", om.valueToTree(this.getScope())); + if (this.getProps() != null) { + data.set(\\"props\\", om.valueToTree(this.getProps())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.StructParameterType\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + StructParameterType.Jsii$Proxy that = (StructParameterType.Jsii$Proxy) o; + + if (!scope.equals(that.scope)) return false; + return this.props != null ? this.props.equals(that.props) : that.props == null; + } + + @Override + public int hashCode() { + int result = this.scope.hashCode(); + result = 31 * result + (this.props != null ? this.props.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/StructPassing.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Just because we can. + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.StructPassing\\") +public class StructPassing extends software.amazon.jsii.JsiiObject { + + protected StructPassing(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected StructPassing(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public StructPassing() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * @param _positional This parameter is required. + * @param inputs This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + public static @org.jetbrains.annotations.NotNull java.lang.Number howManyVarArgsDidIPass(final @org.jetbrains.annotations.NotNull java.lang.Number _positional, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.TopLevelStruct... inputs) { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.StructPassing.class, \\"howManyVarArgsDidIPass\\", java.lang.Number.class, java.util.stream.Stream.concat(java.util.Arrays.stream(new Object[] { java.util.Objects.requireNonNull(_positional, \\"_positional is required\\") }), java.util.Arrays.stream(inputs)).toArray(Object[]::new)); + } + + /** + * @param _positional This parameter is required. + * @param input This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) + public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.TopLevelStruct roundTrip(final @org.jetbrains.annotations.NotNull java.lang.Number _positional, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.TopLevelStruct input) { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.StructPassing.class, \\"roundTrip\\", software.amazon.jsii.tests.calculator.TopLevelStruct.class, new Object[] { java.util.Objects.requireNonNull(_positional, \\"_positional is required\\"), java.util.Objects.requireNonNull(input, \\"input is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/StructUnionConsumer.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.StructUnionConsumer\\") +public class StructUnionConsumer extends software.amazon.jsii.JsiiObject { + + protected StructUnionConsumer(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected StructUnionConsumer(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param struct This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Boolean isStructA(final @org.jetbrains.annotations.NotNull java.lang.Object struct) { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.StructUnionConsumer.class, \\"isStructA\\", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(struct, \\"struct is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param struct This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Boolean isStructB(final @org.jetbrains.annotations.NotNull java.lang.Object struct) { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.StructUnionConsumer.class, \\"isStructB\\", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(struct, \\"struct is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/StructWithJavaReservedWords.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.StructWithJavaReservedWords\\") +@software.amazon.jsii.Jsii.Proxy(StructWithJavaReservedWords.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface StructWithJavaReservedWords extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getDefaultValue(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.String getAssertValue() { + return null; + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.String getResult() { + return null; + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.String getThat() { + return null; + } + + /** + * @return a {@link Builder} of {@link StructWithJavaReservedWords} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link StructWithJavaReservedWords} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String defaultValue; + private java.lang.String assertValue; + private java.lang.String result; + private java.lang.String that; + + /** + * Sets the value of {@link StructWithJavaReservedWords#getDefaultValue} + * @param defaultValue the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder defaultValue(java.lang.String defaultValue) { + this.defaultValue = defaultValue; + return this; + } + + /** + * Sets the value of {@link StructWithJavaReservedWords#getAssertValue} + * @param assertValue the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder assertValue(java.lang.String assertValue) { + this.assertValue = assertValue; + return this; + } + + /** + * Sets the value of {@link StructWithJavaReservedWords#getResult} + * @param result the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder result(java.lang.String result) { + this.result = result; + return this; + } + + /** + * Sets the value of {@link StructWithJavaReservedWords#getThat} + * @param that the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder that(java.lang.String that) { + this.that = that; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link StructWithJavaReservedWords} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public StructWithJavaReservedWords build() { + return new Jsii$Proxy(defaultValue, assertValue, result, that); + } + } + + /** + * An implementation for {@link StructWithJavaReservedWords} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StructWithJavaReservedWords { + private final java.lang.String defaultValue; + private final java.lang.String assertValue; + private final java.lang.String result; + private final java.lang.String that; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.defaultValue = this.jsiiGet(\\"default\\", java.lang.String.class); + this.assertValue = this.jsiiGet(\\"assert\\", java.lang.String.class); + this.result = this.jsiiGet(\\"result\\", java.lang.String.class); + this.that = this.jsiiGet(\\"that\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String defaultValue, final java.lang.String assertValue, final java.lang.String result, final java.lang.String that) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.defaultValue = java.util.Objects.requireNonNull(defaultValue, \\"defaultValue is required\\"); + this.assertValue = assertValue; + this.result = result; + this.that = that; + } + + @Override + public java.lang.String getDefaultValue() { + return this.defaultValue; + } + + @Override + public java.lang.String getAssertValue() { + return this.assertValue; + } + + @Override + public java.lang.String getResult() { + return this.result; + } + + @Override + public java.lang.String getThat() { + return this.that; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"default\\", om.valueToTree(this.getDefaultValue())); + if (this.getAssertValue() != null) { + data.set(\\"assert\\", om.valueToTree(this.getAssertValue())); + } + if (this.getResult() != null) { + data.set(\\"result\\", om.valueToTree(this.getResult())); + } + if (this.getThat() != null) { + data.set(\\"that\\", om.valueToTree(this.getThat())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.StructWithJavaReservedWords\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + StructWithJavaReservedWords.Jsii$Proxy that = (StructWithJavaReservedWords.Jsii$Proxy) o; + + if (!defaultValue.equals(that.defaultValue)) return false; + if (this.assertValue != null ? !this.assertValue.equals(that.assertValue) : that.assertValue != null) return false; + if (this.result != null ? !this.result.equals(that.result) : that.result != null) return false; + return this.that != null ? this.that.equals(that.that) : that.that == null; + } + + @Override + public int hashCode() { + int result = this.defaultValue.hashCode(); + result = 31 * result + (this.assertValue != null ? this.assertValue.hashCode() : 0); + result = 31 * result + (this.result != null ? this.result.hashCode() : 0); + result = 31 * result + (this.that != null ? this.that.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Sum.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * An operation that sums multiple values. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Sum\\") +public class Sum extends software.amazon.jsii.tests.calculator.composition.CompositeOperation { + + protected Sum(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Sum(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Sum() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * The expression that this operation consists of. + *

+ * Must be implemented by derived classes. + *

+ * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getExpression() { + return this.jsiiGet(\\"expression\\", software.amazon.jsii.tests.calculator.lib.Value.class); + } + + /** + * The parts to sum. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.List getParts() { + return java.util.Collections.unmodifiableList(this.jsiiGet(\\"parts\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.lib.Value.class)))); + } + + /** + * The parts to sum. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setParts(final @org.jetbrains.annotations.NotNull java.util.List value) { + this.jsiiSet(\\"parts\\", java.util.Objects.requireNonNull(value, \\"parts is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/SupportsNiceJavaBuilder.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.SupportsNiceJavaBuilder\\") +public class SupportsNiceJavaBuilder extends software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderWithRequiredProps { + + protected SupportsNiceJavaBuilder(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected SupportsNiceJavaBuilder(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param id some identifier. This parameter is required. + * @param defaultBar the default value of \`bar\`. + * @param props some props once can provide. + * @param rest a variadic continuation. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public SupportsNiceJavaBuilder(final @org.jetbrains.annotations.NotNull java.lang.Number id, final @org.jetbrains.annotations.Nullable java.lang.Number defaultBar, final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps props, final @org.jetbrains.annotations.NotNull java.lang.String... rest) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, java.util.stream.Stream.concat(java.util.Arrays.stream(new Object[] { java.util.Objects.requireNonNull(id, \\"id is required\\"), defaultBar, props }), java.util.Arrays.stream(rest)).toArray(Object[]::new)); + } + + /** + * some identifier. + *

+ * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getId() { + return this.jsiiGet(\\"id\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.List getRest() { + return java.util.Collections.unmodifiableList(this.jsiiGet(\\"rest\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); + } + + /** + * A fluent builder for {@link software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilder}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + /** + * EXPERIMENTAL + *

+ * @return a new instance of {@link Builder}. + * @param id some identifier. This parameter is required. + * @param defaultBar the default value of \`bar\`. + * @param rest a variadic continuation. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static Builder create(final java.lang.Number id, final java.lang.Number defaultBar, final java.lang.String... rest) { + return new Builder(id, defaultBar, rest); + } + /** + * EXPERIMENTAL + *

+ * @return a new instance of {@link Builder}. + * @param id some identifier. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static Builder create(final java.lang.Number id) { + return new Builder(id, null, null); + } + + private final java.lang.Number id; + private final java.lang.Number defaultBar; + private final java.lang.String[] rest; + private software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps.Builder props; + + private Builder(final java.lang.Number id, final java.lang.Number defaultBar, final java.lang.String... rest) { + this.id = id; + this.defaultBar = defaultBar; + this.rest = rest; + } + + /** + * Some number, like 42. + *

+ * EXPERIMENTAL + *

+ * @return {@code this} + * @param bar Some number, like 42. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder bar(final java.lang.Number bar) { + this.props().bar(bar); + return this; + } + + /** + * 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. + *

+ * EXPERIMENTAL + *

+ * @return {@code this} + * @param id An \`id\` field here is terrible API design, because the constructor of \`SupportsNiceJavaBuilder\` already has a parameter named \`id\`. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder id(final java.lang.String id) { + this.props().id(id); + return this; + } + + /** + * @returns a newly built instance of {@link software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilder}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilder build() { + return new software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilder( + this.id, + this.defaultBar, + this.props != null ? this.props.build() : null, + this.rest + ); + } + + private software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps.Builder props() { + if (this.props == null) { + this.props = new software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps.Builder(); + } + return this.props; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/SupportsNiceJavaBuilderProps.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.SupportsNiceJavaBuilderProps\\") +@software.amazon.jsii.Jsii.Proxy(SupportsNiceJavaBuilderProps.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface SupportsNiceJavaBuilderProps extends software.amazon.jsii.JsiiSerializable { + + /** + * Some number, like 42. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Number getBar(); + + /** + * 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. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.String getId() { + return null; + } + + /** + * @return a {@link Builder} of {@link SupportsNiceJavaBuilderProps} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link SupportsNiceJavaBuilderProps} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.Number bar; + private java.lang.String id; + + /** + * Sets the value of {@link SupportsNiceJavaBuilderProps#getBar} + * @param bar Some number, like 42. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder bar(java.lang.Number bar) { + this.bar = bar; + return this; + } + + /** + * Sets the value of {@link SupportsNiceJavaBuilderProps#getId} + * @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. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder id(java.lang.String id) { + this.id = id; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link SupportsNiceJavaBuilderProps} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public SupportsNiceJavaBuilderProps build() { + return new Jsii$Proxy(bar, id); + } + } + + /** + * An implementation for {@link SupportsNiceJavaBuilderProps} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SupportsNiceJavaBuilderProps { + private final java.lang.Number bar; + private final java.lang.String id; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.bar = this.jsiiGet(\\"bar\\", java.lang.Number.class); + this.id = this.jsiiGet(\\"id\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.Number bar, final java.lang.String id) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.bar = java.util.Objects.requireNonNull(bar, \\"bar is required\\"); + this.id = id; + } + + @Override + public java.lang.Number getBar() { + return this.bar; + } + + @Override + public java.lang.String getId() { + return this.id; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"bar\\", om.valueToTree(this.getBar())); + if (this.getId() != null) { + data.set(\\"id\\", om.valueToTree(this.getId())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.SupportsNiceJavaBuilderProps\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + SupportsNiceJavaBuilderProps.Jsii$Proxy that = (SupportsNiceJavaBuilderProps.Jsii$Proxy) o; + + if (!bar.equals(that.bar)) return false; + return this.id != null ? this.id.equals(that.id) : that.id == null; + } + + @Override + public int hashCode() { + int result = this.bar.hashCode(); + result = 31 * result + (this.id != null ? this.id.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/SupportsNiceJavaBuilderWithRequiredProps.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * We can generate fancy builders in Java for classes which take a mix of positional & struct parameters. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.SupportsNiceJavaBuilderWithRequiredProps\\") +public class SupportsNiceJavaBuilderWithRequiredProps extends software.amazon.jsii.JsiiObject { + + protected SupportsNiceJavaBuilderWithRequiredProps(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected SupportsNiceJavaBuilderWithRequiredProps(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param id some identifier of your choice. This parameter is required. + * @param props some properties. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public SupportsNiceJavaBuilderWithRequiredProps(final @org.jetbrains.annotations.NotNull java.lang.Number id, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps props) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(id, \\"id is required\\"), java.util.Objects.requireNonNull(props, \\"props is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getBar() { + return this.jsiiGet(\\"bar\\", java.lang.Number.class); + } + + /** + * some identifier of your choice. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getId() { + return this.jsiiGet(\\"id\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable java.lang.String getPropId() { + return this.jsiiGet(\\"propId\\", java.lang.String.class); + } + + /** + * A fluent builder for {@link software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderWithRequiredProps}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + /** + * EXPERIMENTAL + *

+ * @return a new instance of {@link Builder}. + * @param id some identifier of your choice. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static Builder create(final java.lang.Number id) { + return new Builder(id); + } + + private final java.lang.Number id; + private final software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps.Builder props; + + private Builder(final java.lang.Number id) { + this.id = id; + this.props = new software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps.Builder(); + } + + /** + * Some number, like 42. + *

+ * EXPERIMENTAL + *

+ * @return {@code this} + * @param bar Some number, like 42. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder bar(final java.lang.Number bar) { + this.props.bar(bar); + return this; + } + + /** + * 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. + *

+ * EXPERIMENTAL + *

+ * @return {@code this} + * @param id An \`id\` field here is terrible API design, because the constructor of \`SupportsNiceJavaBuilder\` already has a parameter named \`id\`. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder id(final java.lang.String id) { + this.props.id(id); + return this; + } + + /** + * @returns a newly built instance of {@link software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderWithRequiredProps}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderWithRequiredProps build() { + return new software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderWithRequiredProps( + this.id, + this.props.build() + ); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/SyncVirtualMethods.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.SyncVirtualMethods\\") +public class SyncVirtualMethods extends software.amazon.jsii.JsiiObject { + + protected SyncVirtualMethods(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected SyncVirtualMethods(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public SyncVirtualMethods() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number callerIsAsync() { + return this.jsiiAsyncCall(\\"callerIsAsync\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number callerIsMethod() { + return this.jsiiCall(\\"callerIsMethod\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + *

+ * @param value This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void modifyOtherProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiCall(\\"modifyOtherProperty\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(value, \\"value is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param value This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void modifyValueOfTheProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiCall(\\"modifyValueOfTheProperty\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(value, \\"value is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number readA() { + return this.jsiiCall(\\"readA\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String retrieveOtherProperty() { + return this.jsiiCall(\\"retrieveOtherProperty\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String retrieveReadOnlyProperty() { + return this.jsiiCall(\\"retrieveReadOnlyProperty\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String retrieveValueOfTheProperty() { + return this.jsiiCall(\\"retrieveValueOfTheProperty\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + *

+ * @param n This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number virtualMethod(final @org.jetbrains.annotations.NotNull java.lang.Number n) { + return this.jsiiCall(\\"virtualMethod\\", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(n, \\"n is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param value This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void writeA(final @org.jetbrains.annotations.NotNull java.lang.Number value) { + this.jsiiCall(\\"writeA\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(value, \\"value is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty() { + return this.jsiiGet(\\"readonlyProperty\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getA() { + return this.jsiiGet(\\"a\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setA(final @org.jetbrains.annotations.NotNull java.lang.Number value) { + this.jsiiSet(\\"a\\", java.util.Objects.requireNonNull(value, \\"a is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getCallerIsProperty() { + return this.jsiiGet(\\"callerIsProperty\\", java.lang.Number.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setCallerIsProperty(final @org.jetbrains.annotations.NotNull java.lang.Number value) { + this.jsiiSet(\\"callerIsProperty\\", java.util.Objects.requireNonNull(value, \\"callerIsProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getOtherProperty() { + return this.jsiiGet(\\"otherProperty\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setOtherProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"otherProperty\\", java.util.Objects.requireNonNull(value, \\"otherProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getTheProperty() { + return this.jsiiGet(\\"theProperty\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setTheProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"theProperty\\", java.util.Objects.requireNonNull(value, \\"theProperty is required\\")); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getValueOfOtherProperty() { + return this.jsiiGet(\\"valueOfOtherProperty\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setValueOfOtherProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"valueOfOtherProperty\\", java.util.Objects.requireNonNull(value, \\"valueOfOtherProperty is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/Thrower.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.Thrower\\") +public class Thrower extends software.amazon.jsii.JsiiObject { + + protected Thrower(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Thrower(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Thrower() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void throwError() { + this.jsiiCall(\\"throwError\\", software.amazon.jsii.NativeType.VOID); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/TopLevelStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.TopLevelStruct\\") +@software.amazon.jsii.Jsii.Proxy(TopLevelStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface TopLevelStruct extends software.amazon.jsii.JsiiSerializable { + + /** + * This is a required field. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getRequired(); + + /** + * A union to really stress test our serialization. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Object getSecondLevel(); + + /** + * You don't have to pass this. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.String getOptional() { + return null; + } + + /** + * @return a {@link Builder} of {@link TopLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link TopLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String required; + private java.lang.Object secondLevel; + private java.lang.String optional; + + /** + * Sets the value of {@link TopLevelStruct#getRequired} + * @param required This is a required field. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder required(java.lang.String required) { + this.required = required; + return this; + } + + /** + * Sets the value of {@link TopLevelStruct#getSecondLevel} + * @param secondLevel A union to really stress test our serialization. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder secondLevel(java.lang.Number secondLevel) { + this.secondLevel = secondLevel; + return this; + } + + /** + * Sets the value of {@link TopLevelStruct#getSecondLevel} + * @param secondLevel A union to really stress test our serialization. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder secondLevel(software.amazon.jsii.tests.calculator.SecondLevelStruct secondLevel) { + this.secondLevel = secondLevel; + return this; + } + + /** + * Sets the value of {@link TopLevelStruct#getOptional} + * @param optional You don't have to pass this. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder optional(java.lang.String optional) { + this.optional = optional; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link TopLevelStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public TopLevelStruct build() { + return new Jsii$Proxy(required, secondLevel, optional); + } + } + + /** + * An implementation for {@link TopLevelStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements TopLevelStruct { + private final java.lang.String required; + private final java.lang.Object secondLevel; + private final java.lang.String optional; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.required = this.jsiiGet(\\"required\\", java.lang.String.class); + this.secondLevel = this.jsiiGet(\\"secondLevel\\", java.lang.Object.class); + this.optional = this.jsiiGet(\\"optional\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String required, final java.lang.Object secondLevel, final java.lang.String optional) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.required = java.util.Objects.requireNonNull(required, \\"required is required\\"); + this.secondLevel = java.util.Objects.requireNonNull(secondLevel, \\"secondLevel is required\\"); + this.optional = optional; + } + + @Override + public java.lang.String getRequired() { + return this.required; + } + + @Override + public java.lang.Object getSecondLevel() { + return this.secondLevel; + } + + @Override + public java.lang.String getOptional() { + return this.optional; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"required\\", om.valueToTree(this.getRequired())); + data.set(\\"secondLevel\\", om.valueToTree(this.getSecondLevel())); + if (this.getOptional() != null) { + data.set(\\"optional\\", om.valueToTree(this.getOptional())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.TopLevelStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + TopLevelStruct.Jsii$Proxy that = (TopLevelStruct.Jsii$Proxy) o; + + if (!required.equals(that.required)) return false; + if (!secondLevel.equals(that.secondLevel)) return false; + return this.optional != null ? this.optional.equals(that.optional) : that.optional == null; + } + + @Override + public int hashCode() { + int result = this.required.hashCode(); + result = 31 * result + (this.secondLevel.hashCode()); + result = 31 * result + (this.optional != null ? this.optional.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/UmaskCheck.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Checks the current file permissions are cool (no funky UMASK down-scoping happened). + *

+ * EXPERIMENTAL + *

+ * @see https://github.com/aws/jsii/issues/1765 + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.UmaskCheck\\") +public class UmaskCheck extends software.amazon.jsii.JsiiObject { + + protected UmaskCheck(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected UmaskCheck(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * This should return 0o644 (-rw-r--r--). + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Number mode() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.UmaskCheck.class, \\"mode\\", java.lang.Number.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/UnaryOperation.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * An operation on a single operand. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.UnaryOperation\\") +public abstract class UnaryOperation extends software.amazon.jsii.tests.calculator.lib.Operation { + + protected UnaryOperation(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected UnaryOperation(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param operand This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected UnaryOperation(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value operand) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(operand, \\"operand is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getOperand() { + return this.jsiiGet(\\"operand\\", software.amazon.jsii.tests.calculator.lib.Value.class); + } + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.UnaryOperation { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * The value. + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { + return this.jsiiGet(\\"value\\", java.lang.Number.class); + } + + /** + * String representation of the value. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public @org.jetbrains.annotations.NotNull java.lang.String toString() { + return this.jsiiCall(\\"toString\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/UnionProperties.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.UnionProperties\\") +@software.amazon.jsii.Jsii.Proxy(UnionProperties.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface UnionProperties extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Object getBar(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.Object getFoo() { + return null; + } + + /** + * @return a {@link Builder} of {@link UnionProperties} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link UnionProperties} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.Object bar; + private java.lang.Object foo; + + /** + * Sets the value of {@link UnionProperties#getBar} + * @param bar the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder bar(java.lang.String bar) { + this.bar = bar; + return this; + } + + /** + * Sets the value of {@link UnionProperties#getBar} + * @param bar the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder bar(java.lang.Number bar) { + this.bar = bar; + return this; + } + + /** + * Sets the value of {@link UnionProperties#getBar} + * @param bar the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder bar(software.amazon.jsii.tests.calculator.AllTypes bar) { + this.bar = bar; + return this; + } + + /** + * Sets the value of {@link UnionProperties#getFoo} + * @param foo the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder foo(java.lang.String foo) { + this.foo = foo; + return this; + } + + /** + * Sets the value of {@link UnionProperties#getFoo} + * @param foo the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder foo(java.lang.Number foo) { + this.foo = foo; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link UnionProperties} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public UnionProperties build() { + return new Jsii$Proxy(bar, foo); + } + } + + /** + * An implementation for {@link UnionProperties} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements UnionProperties { + private final java.lang.Object bar; + private final java.lang.Object foo; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.bar = this.jsiiGet(\\"bar\\", java.lang.Object.class); + this.foo = this.jsiiGet(\\"foo\\", java.lang.Object.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.Object bar, final java.lang.Object foo) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.bar = java.util.Objects.requireNonNull(bar, \\"bar is required\\"); + this.foo = foo; + } + + @Override + public java.lang.Object getBar() { + return this.bar; + } + + @Override + public java.lang.Object getFoo() { + return this.foo; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"bar\\", om.valueToTree(this.getBar())); + if (this.getFoo() != null) { + data.set(\\"foo\\", om.valueToTree(this.getFoo())); + } + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.UnionProperties\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + UnionProperties.Jsii$Proxy that = (UnionProperties.Jsii$Proxy) o; + + if (!bar.equals(that.bar)) return false; + return this.foo != null ? this.foo.equals(that.foo) : that.foo == null; + } + + @Override + public int hashCode() { + int result = this.bar.hashCode(); + result = 31 * result + (this.foo != null ? this.foo.hashCode() : 0); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/UpcasingReflectable.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Ensures submodule-imported types from dependencies can be used correctly. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.UpcasingReflectable\\") +public class UpcasingReflectable extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.custom_submodule_name.IReflectable { + + protected UpcasingReflectable(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected UpcasingReflectable(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + static { + REFLECTOR = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.UpcasingReflectable.class, \\"reflector\\", software.amazon.jsii.tests.calculator.custom_submodule_name.Reflector.class); + } + + /** + * EXPERIMENTAL + *

+ * @param delegate This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public UpcasingReflectable(final @org.jetbrains.annotations.NotNull java.util.Map delegate) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(delegate, \\"delegate is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public final static software.amazon.jsii.tests.calculator.custom_submodule_name.Reflector REFLECTOR; + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.List getEntries() { + return java.util.Collections.unmodifiableList(this.jsiiGet(\\"entries\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.custom_submodule_name.ReflectableEntry.class)))); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/UseBundledDependency.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.UseBundledDependency\\") +public class UseBundledDependency extends software.amazon.jsii.JsiiObject { + + protected UseBundledDependency(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected UseBundledDependency(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public UseBundledDependency() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Object value() { + return this.jsiiCall(\\"value\\", java.lang.Object.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/UseCalcBase.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Depend on a type from jsii-calc-base as a test for awslabs/jsii#128. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.UseCalcBase\\") +public class UseCalcBase extends software.amazon.jsii.JsiiObject { + + protected UseCalcBase(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected UseCalcBase(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public UseCalcBase() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.base.Base hello() { + return this.jsiiCall(\\"hello\\", software.amazon.jsii.tests.calculator.base.Base.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/UsesInterfaceWithProperties.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.UsesInterfaceWithProperties\\") +public class UsesInterfaceWithProperties extends software.amazon.jsii.JsiiObject { + + protected UsesInterfaceWithProperties(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected UsesInterfaceWithProperties(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param obj This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public UsesInterfaceWithProperties(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IInterfaceWithProperties obj) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(obj, \\"obj is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String justRead() { + return this.jsiiCall(\\"justRead\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + *

+ * @param ext This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String readStringAndNumber(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IInterfaceWithPropertiesExtension ext) { + return this.jsiiCall(\\"readStringAndNumber\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(ext, \\"ext is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param value This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String writeAndRead(final @org.jetbrains.annotations.NotNull java.lang.String value) { + return this.jsiiCall(\\"writeAndRead\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(value, \\"value is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IInterfaceWithProperties getObj() { + return this.jsiiGet(\\"obj\\", software.amazon.jsii.tests.calculator.IInterfaceWithProperties.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/VariadicInvoker.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.VariadicInvoker\\") +public class VariadicInvoker extends software.amazon.jsii.JsiiObject { + + protected VariadicInvoker(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected VariadicInvoker(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param method This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public VariadicInvoker(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.VariadicMethod method) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(method, \\"method is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param values This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.List asArray(final @org.jetbrains.annotations.NotNull java.lang.Number... values) { + return java.util.Collections.unmodifiableList(this.jsiiCall(\\"asArray\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.Number.class)), java.util.Arrays.stream(values).toArray(Object[]::new))); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/VariadicMethod.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.VariadicMethod\\") +public class VariadicMethod extends software.amazon.jsii.JsiiObject { + + protected VariadicMethod(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected VariadicMethod(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param prefix a prefix that will be use for all values returned by \`#asArray\`. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public VariadicMethod(final @org.jetbrains.annotations.NotNull java.lang.Number... prefix) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, java.util.Arrays.stream(prefix).toArray(Object[]::new)); + } + + /** + * EXPERIMENTAL + *

+ * @param first the first element of the array to be returned (after the \`prefix\` provided at construction time). This parameter is required. + * @param others other elements to be included in the array. This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.List asArray(final @org.jetbrains.annotations.NotNull java.lang.Number first, final @org.jetbrains.annotations.NotNull java.lang.Number... others) { + return java.util.Collections.unmodifiableList(this.jsiiCall(\\"asArray\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.Number.class)), java.util.stream.Stream.concat(java.util.Arrays.stream(new Object[] { java.util.Objects.requireNonNull(first, \\"first is required\\") }), java.util.Arrays.stream(others)).toArray(Object[]::new))); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/VirtualMethodPlayground.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.VirtualMethodPlayground\\") +public class VirtualMethodPlayground extends software.amazon.jsii.JsiiObject { + + protected VirtualMethodPlayground(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected VirtualMethodPlayground(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public VirtualMethodPlayground() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + *

+ * @param index This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number overrideMeAsync(final @org.jetbrains.annotations.NotNull java.lang.Number index) { + return this.jsiiAsyncCall(\\"overrideMeAsync\\", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(index, \\"index is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param index This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number overrideMeSync(final @org.jetbrains.annotations.NotNull java.lang.Number index) { + return this.jsiiCall(\\"overrideMeSync\\", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(index, \\"index is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param count This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number parallelSumAsync(final @org.jetbrains.annotations.NotNull java.lang.Number count) { + return this.jsiiAsyncCall(\\"parallelSumAsync\\", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(count, \\"count is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param count This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number serialSumAsync(final @org.jetbrains.annotations.NotNull java.lang.Number count) { + return this.jsiiAsyncCall(\\"serialSumAsync\\", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(count, \\"count is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param count This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number sumSync(final @org.jetbrains.annotations.NotNull java.lang.Number count) { + return this.jsiiCall(\\"sumSync\\", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(count, \\"count is required\\") }); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/VoidCallback.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * This test is used to validate the runtimes can return correctly from a void callback. + *

+ *

    + *
  • Implement overrideMe (method does not have to do anything).
  • + *
  • Invoke callMe
  • + *
  • Verify that methodWasCalled is true.
  • + *
+ *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.VoidCallback\\") +public abstract class VoidCallback extends software.amazon.jsii.JsiiObject { + + protected VoidCallback(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected VoidCallback(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected VoidCallback() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void callMe() { + this.jsiiCall(\\"callMe\\", software.amazon.jsii.NativeType.VOID); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + protected abstract void overrideMe(); + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean getMethodWasCalled() { + return this.jsiiGet(\\"methodWasCalled\\", java.lang.Boolean.class); + } + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.VoidCallback { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + protected void overrideMe() { + this.jsiiCall(\\"overrideMe\\", software.amazon.jsii.NativeType.VOID); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/WithPrivatePropertyInConstructor.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator; + +/** + * Verifies that private property declarations in constructor arguments are hidden. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.WithPrivatePropertyInConstructor\\") +public class WithPrivatePropertyInConstructor extends software.amazon.jsii.JsiiObject { + + protected WithPrivatePropertyInConstructor(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected WithPrivatePropertyInConstructor(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param privateField + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public WithPrivatePropertyInConstructor(final @org.jetbrains.annotations.Nullable java.lang.String privateField) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { privateField }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public WithPrivatePropertyInConstructor() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Boolean getSuccess() { + return this.jsiiGet(\\"success\\", java.lang.Boolean.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/composition/CompositeOperation.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.composition; + +/** + * Abstract operation composed from an expression of other operations. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.composition.CompositeOperation\\") +public abstract class CompositeOperation extends software.amazon.jsii.tests.calculator.lib.Operation { + + protected CompositeOperation(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected CompositeOperation(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + protected CompositeOperation() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * String representation of the value. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String toString() { + return this.jsiiCall(\\"toString\\", java.lang.String.class); + } + + /** + * The expression that this operation consists of. + *

+ * Must be implemented by derived classes. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public abstract @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getExpression(); + + /** + * The value. + *

+ * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { + return this.jsiiGet(\\"value\\", java.lang.Number.class); + } + + /** + * A set of postfixes to include in a decorated .toString(). + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.List getDecorationPostfixes() { + return java.util.Collections.unmodifiableList(this.jsiiGet(\\"decorationPostfixes\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); + } + + /** + * A set of postfixes to include in a decorated .toString(). + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setDecorationPostfixes(final @org.jetbrains.annotations.NotNull java.util.List value) { + this.jsiiSet(\\"decorationPostfixes\\", java.util.Objects.requireNonNull(value, \\"decorationPostfixes is required\\")); + } + + /** + * A set of prefixes to include in a decorated .toString(). + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.util.List getDecorationPrefixes() { + return java.util.Collections.unmodifiableList(this.jsiiGet(\\"decorationPrefixes\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); + } + + /** + * A set of prefixes to include in a decorated .toString(). + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setDecorationPrefixes(final @org.jetbrains.annotations.NotNull java.util.List value) { + this.jsiiSet(\\"decorationPrefixes\\", java.util.Objects.requireNonNull(value, \\"decorationPrefixes is required\\")); + } + + /** + * The .toString() style. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.composition.CompositeOperation.CompositionStringStyle getStringStyle() { + return this.jsiiGet(\\"stringStyle\\", software.amazon.jsii.tests.calculator.composition.CompositeOperation.CompositionStringStyle.class); + } + + /** + * The .toString() style. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setStringStyle(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.composition.CompositeOperation.CompositionStringStyle value) { + this.jsiiSet(\\"stringStyle\\", java.util.Objects.requireNonNull(value, \\"stringStyle is required\\")); + } + /** + * Style of .toString() output for CompositeOperation. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.composition.CompositeOperation.CompositionStringStyle\\") + public enum CompositionStringStyle { + /** + * Normal string expression. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + NORMAL, + /** + * Decorated string expression. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + DECORATED, + } + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.composition.CompositeOperation { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * The expression that this operation consists of. + *

+ * Must be implemented by derived classes. + *

+ * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getExpression() { + return this.jsiiGet(\\"expression\\", software.amazon.jsii.tests.calculator.lib.Value.class); + } + + /** + * The value. + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { + return this.jsiiGet(\\"value\\", java.lang.Number.class); + } + + /** + * String representation of the value. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) + @Deprecated + @Override + public @org.jetbrains.annotations.NotNull java.lang.String toString() { + return this.jsiiCall(\\"toString\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/derived_class_has_no_properties/Base.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.derived_class_has_no_properties; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DerivedClassHasNoProperties.Base\\") +public class Base extends software.amazon.jsii.JsiiObject { + + protected Base(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Base(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Base() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getProp() { + return this.jsiiGet(\\"prop\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setProp(final @org.jetbrains.annotations.NotNull java.lang.String value) { + this.jsiiSet(\\"prop\\", java.util.Objects.requireNonNull(value, \\"prop is required\\")); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/derived_class_has_no_properties/Derived.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.derived_class_has_no_properties; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.DerivedClassHasNoProperties.Derived\\") +public class Derived extends software.amazon.jsii.tests.calculator.derived_class_has_no_properties.Base { + + protected Derived(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Derived(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Derived() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/interface_in_namespace_includes_classes/Foo.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.interface_in_namespace_includes_classes; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.InterfaceInNamespaceIncludesClasses.Foo\\") +public class Foo extends software.amazon.jsii.JsiiObject { + + protected Foo(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Foo(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Foo() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable java.lang.String getBar() { + return this.jsiiGet(\\"bar\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setBar(final @org.jetbrains.annotations.Nullable java.lang.String value) { + this.jsiiSet(\\"bar\\", value); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/interface_in_namespace_includes_classes/Hello.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.interface_in_namespace_includes_classes; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.InterfaceInNamespaceIncludesClasses.Hello\\") +@software.amazon.jsii.Jsii.Proxy(Hello.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface Hello extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Number getFoo(); + + /** + * @return a {@link Builder} of {@link Hello} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link Hello} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.Number foo; + + /** + * Sets the value of {@link Hello#getFoo} + * @param foo the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder foo(java.lang.Number foo) { + this.foo = foo; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link Hello} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public Hello build() { + return new Jsii$Proxy(foo); + } + } + + /** + * An implementation for {@link Hello} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements Hello { + private final java.lang.Number foo; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.foo = this.jsiiGet(\\"foo\\", java.lang.Number.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.Number foo) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.foo = java.util.Objects.requireNonNull(foo, \\"foo is required\\"); + } + + @Override + public java.lang.Number getFoo() { + return this.foo; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"foo\\", om.valueToTree(this.getFoo())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.InterfaceInNamespaceIncludesClasses.Hello\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Hello.Jsii$Proxy that = (Hello.Jsii$Proxy) o; + + return this.foo.equals(that.foo); + } + + @Override + public int hashCode() { + int result = this.foo.hashCode(); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/interface_in_namespace_only_interface/Hello.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.interface_in_namespace_only_interface; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.InterfaceInNamespaceOnlyInterface.Hello\\") +@software.amazon.jsii.Jsii.Proxy(Hello.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface Hello extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Number getFoo(); + + /** + * @return a {@link Builder} of {@link Hello} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link Hello} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.Number foo; + + /** + * Sets the value of {@link Hello#getFoo} + * @param foo the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder foo(java.lang.Number foo) { + this.foo = foo; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link Hello} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public Hello build() { + return new Jsii$Proxy(foo); + } + } + + /** + * An implementation for {@link Hello} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements Hello { + private final java.lang.Number foo; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.foo = this.jsiiGet(\\"foo\\", java.lang.Number.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.Number foo) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.foo = java.util.Objects.requireNonNull(foo, \\"foo is required\\"); + } + + @Override + public java.lang.Number getFoo() { + return this.foo; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"foo\\", om.valueToTree(this.getFoo())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.InterfaceInNamespaceOnlyInterface.Hello\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Hello.Jsii$Proxy that = (Hello.Jsii$Proxy) o; + + return this.foo.equals(that.foo); + } + + @Override + public int hashCode() { + int result = this.foo.hashCode(); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/package-info.java 1`] = ` +Object { + Symbol(file): "/** + *

jsii Calculator

+ *

+ * This library is used to demonstrate and test the features of JSII + *

+ *

How to use running sum API:

+ *

+ * First, create a calculator: + *

+ *

+ * // Example automatically generated. See https://github.com/aws/jsii/issues/826
+ * Calculator calculator = new Calculator();
+ * 
+ *

+ * Then call some operations: + *

+ *

+ * // Example automatically generated. See https://github.com/aws/jsii/issues/826
+ * calculator.add(10);
+ * 
+ *

+ *

Code Samples

+ *

+ *

+ * // Example automatically generated. See https://github.com/aws/jsii/issues/826
+ * /* This is totes a magic comment in here, just you wait! *{@literal /}
+ * String foo = \\"bar\\";
+ * 
+ */ +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +package software.amazon.jsii.tests.calculator; +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/python_self/ClassWithSelf.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.python_self; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.PythonSelf.ClassWithSelf\\") +public class ClassWithSelf extends software.amazon.jsii.JsiiObject { + + protected ClassWithSelf(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ClassWithSelf(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param self This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ClassWithSelf(final @org.jetbrains.annotations.NotNull java.lang.String self) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(self, \\"self is required\\") }); + } + + /** + * EXPERIMENTAL + *

+ * @param self This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String method(final @org.jetbrains.annotations.NotNull java.lang.Number self) { + return this.jsiiCall(\\"method\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(self, \\"self is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getSelf() { + return this.jsiiGet(\\"self\\", java.lang.String.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/python_self/ClassWithSelfKwarg.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.python_self; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.PythonSelf.ClassWithSelfKwarg\\") +public class ClassWithSelfKwarg extends software.amazon.jsii.JsiiObject { + + protected ClassWithSelfKwarg(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected ClassWithSelfKwarg(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param props This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public ClassWithSelfKwarg(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.python_self.StructWithSelf props) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(props, \\"props is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.python_self.StructWithSelf getProps() { + return this.jsiiGet(\\"props\\", software.amazon.jsii.tests.calculator.python_self.StructWithSelf.class); + } + + /** + * A fluent builder for {@link software.amazon.jsii.tests.calculator.python_self.ClassWithSelfKwarg}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + /** + * EXPERIMENTAL + *

+ * @return a new instance of {@link Builder}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static Builder create() { + return new Builder(); + } + + private final software.amazon.jsii.tests.calculator.python_self.StructWithSelf.Builder props; + + private Builder() { + this.props = new software.amazon.jsii.tests.calculator.python_self.StructWithSelf.Builder(); + } + + /** + * EXPERIMENTAL + *

+ * @return {@code this} + * @param self This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder self(final java.lang.String self) { + this.props.self(self); + return this; + } + + /** + * @returns a newly built instance of {@link software.amazon.jsii.tests.calculator.python_self.ClassWithSelfKwarg}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public software.amazon.jsii.tests.calculator.python_self.ClassWithSelfKwarg build() { + return new software.amazon.jsii.tests.calculator.python_self.ClassWithSelfKwarg( + this.props.build() + ); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/python_self/IInterfaceWithSelf.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.python_self; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.PythonSelf.IInterfaceWithSelf\\") +@software.amazon.jsii.Jsii.Proxy(IInterfaceWithSelf.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface IInterfaceWithSelf extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + *

+ * @param self This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String method(final @org.jetbrains.annotations.NotNull java.lang.Number self); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.python_self.IInterfaceWithSelf { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + *

+ * @param self This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public @org.jetbrains.annotations.NotNull java.lang.String method(final @org.jetbrains.annotations.NotNull java.lang.Number self) { + return this.jsiiCall(\\"method\\", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(self, \\"self is required\\") }); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/python_self/StructWithSelf.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.python_self; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.PythonSelf.StructWithSelf\\") +@software.amazon.jsii.Jsii.Proxy(StructWithSelf.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface StructWithSelf extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getSelf(); + + /** + * @return a {@link Builder} of {@link StructWithSelf} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link StructWithSelf} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String self; + + /** + * Sets the value of {@link StructWithSelf#getSelf} + * @param self the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder self(java.lang.String self) { + this.self = self; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link StructWithSelf} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public StructWithSelf build() { + return new Jsii$Proxy(self); + } + } + + /** + * An implementation for {@link StructWithSelf} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StructWithSelf { + private final java.lang.String self; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.self = this.jsiiGet(\\"self\\", java.lang.String.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String self) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.self = java.util.Objects.requireNonNull(self, \\"self is required\\"); + } + + @Override + public java.lang.String getSelf() { + return this.self; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"self\\", om.valueToTree(this.getSelf())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.PythonSelf.StructWithSelf\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + StructWithSelf.Jsii$Proxy that = (StructWithSelf.Jsii$Proxy) o; + + return this.self.equals(that.self); + } + + @Override + public int hashCode() { + int result = this.self.hashCode(); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/submodule/MyClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.submodule; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.submodule.MyClass\\") +public class MyClass extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.submodule.nested_submodule.deeply_nested.INamespaced { + + protected MyClass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected MyClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param props This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public MyClass(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.SomeStruct props) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(props, \\"props is required\\") }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.Awesomeness getAwesomeness() { + return this.jsiiGet(\\"awesomeness\\", software.amazon.jsii.tests.calculator.submodule.child.Awesomeness.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getDefinedAt() { + return this.jsiiGet(\\"definedAt\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.Goodness getGoodness() { + return this.jsiiGet(\\"goodness\\", software.amazon.jsii.tests.calculator.submodule.child.Goodness.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.SomeStruct getProps() { + return this.jsiiGet(\\"props\\", software.amazon.jsii.tests.calculator.submodule.child.SomeStruct.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.AllTypes getAllTypes() { + return this.jsiiGet(\\"allTypes\\", software.amazon.jsii.tests.calculator.AllTypes.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public void setAllTypes(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.AllTypes value) { + this.jsiiSet(\\"allTypes\\", value); + } + + /** + * A fluent builder for {@link software.amazon.jsii.tests.calculator.submodule.MyClass}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + /** + * EXPERIMENTAL + *

+ * @return a new instance of {@link Builder}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static Builder create() { + return new Builder(); + } + + private final software.amazon.jsii.tests.calculator.submodule.child.SomeStruct.Builder props; + + private Builder() { + this.props = new software.amazon.jsii.tests.calculator.submodule.child.SomeStruct.Builder(); + } + + /** + * EXPERIMENTAL + *

+ * @return {@code this} + * @param prop This parameter is required. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder prop(final software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop) { + this.props.prop(prop); + return this; + } + + /** + * @returns a newly built instance of {@link software.amazon.jsii.tests.calculator.submodule.MyClass}. + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public software.amazon.jsii.tests.calculator.submodule.MyClass build() { + return new software.amazon.jsii.tests.calculator.submodule.MyClass( + this.props.build() + ); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/submodule/back_references/MyClassReference.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.submodule.back_references; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.submodule.back_references.MyClassReference\\") +@software.amazon.jsii.Jsii.Proxy(MyClassReference.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface MyClassReference extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.MyClass getReference(); + + /** + * @return a {@link Builder} of {@link MyClassReference} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link MyClassReference} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private software.amazon.jsii.tests.calculator.submodule.MyClass reference; + + /** + * Sets the value of {@link MyClassReference#getReference} + * @param reference the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder reference(software.amazon.jsii.tests.calculator.submodule.MyClass reference) { + this.reference = reference; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link MyClassReference} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public MyClassReference build() { + return new Jsii$Proxy(reference); + } + } + + /** + * An implementation for {@link MyClassReference} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements MyClassReference { + private final software.amazon.jsii.tests.calculator.submodule.MyClass reference; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.reference = this.jsiiGet(\\"reference\\", software.amazon.jsii.tests.calculator.submodule.MyClass.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final software.amazon.jsii.tests.calculator.submodule.MyClass reference) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.reference = java.util.Objects.requireNonNull(reference, \\"reference is required\\"); + } + + @Override + public software.amazon.jsii.tests.calculator.submodule.MyClass getReference() { + return this.reference; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"reference\\", om.valueToTree(this.getReference())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.submodule.back_references.MyClassReference\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + MyClassReference.Jsii$Proxy that = (MyClassReference.Jsii$Proxy) o; + + return this.reference.equals(that.reference); + } + + @Override + public int hashCode() { + int result = this.reference.hashCode(); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/Awesomeness.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.submodule.child; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.submodule.child.Awesomeness\\") +public enum Awesomeness { + /** + * It was awesome! + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + AWESOME, +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/Goodness.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.submodule.child; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.submodule.child.Goodness\\") +public enum Goodness { + /** + * It's pretty good. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + PRETTY_GOOD, + /** + * It's really good. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + REALLY_GOOD, + /** + * It's amazingly good. + *

+ * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + AMAZINGLY_GOOD, +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/InnerClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.submodule.child; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.submodule.child.InnerClass\\") +public class InnerClass extends software.amazon.jsii.JsiiObject { + + protected InnerClass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected InnerClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + static { + STATIC_PROP = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.submodule.child.InnerClass.class, \\"staticProp\\", software.amazon.jsii.tests.calculator.submodule.child.SomeStruct.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public InnerClass() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public final static software.amazon.jsii.tests.calculator.submodule.child.SomeStruct STATIC_PROP; +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/KwargsProps.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.submodule.child; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.submodule.child.KwargsProps\\") +@software.amazon.jsii.Jsii.Proxy(KwargsProps.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface KwargsProps extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.submodule.child.SomeStruct { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + default @org.jetbrains.annotations.Nullable java.lang.String getExtra() { + return null; + } + + /** + * @return a {@link Builder} of {@link KwargsProps} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link KwargsProps} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.String extra; + private software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop; + + /** + * Sets the value of {@link KwargsProps#getExtra} + * @param extra the value to be set. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder extra(java.lang.String extra) { + this.extra = extra; + return this; + } + + /** + * Sets the value of {@link KwargsProps#getProp} + * @param prop the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder prop(software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop) { + this.prop = prop; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link KwargsProps} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public KwargsProps build() { + return new Jsii$Proxy(extra, prop); + } + } + + /** + * An implementation for {@link KwargsProps} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements KwargsProps { + private final java.lang.String extra; + private final software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.extra = this.jsiiGet(\\"extra\\", java.lang.String.class); + this.prop = this.jsiiGet(\\"prop\\", software.amazon.jsii.tests.calculator.submodule.child.SomeEnum.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.String extra, final software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.extra = extra; + this.prop = java.util.Objects.requireNonNull(prop, \\"prop is required\\"); + } + + @Override + public java.lang.String getExtra() { + return this.extra; + } + + @Override + public software.amazon.jsii.tests.calculator.submodule.child.SomeEnum getProp() { + return this.prop; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + if (this.getExtra() != null) { + data.set(\\"extra\\", om.valueToTree(this.getExtra())); + } + data.set(\\"prop\\", om.valueToTree(this.getProp())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.submodule.child.KwargsProps\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + KwargsProps.Jsii$Proxy that = (KwargsProps.Jsii$Proxy) o; + + if (this.extra != null ? !this.extra.equals(that.extra) : that.extra != null) return false; + return this.prop.equals(that.prop); + } + + @Override + public int hashCode() { + int result = this.extra != null ? this.extra.hashCode() : 0; + result = 31 * result + (this.prop.hashCode()); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/OuterClass.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.submodule.child; + +/** + * Checks that classes can self-reference during initialization. + *

+ * EXPERIMENTAL + *

+ * @see : https://github.com/aws/jsii/pull/1706 + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.submodule.child.OuterClass\\") +public class OuterClass extends software.amazon.jsii.JsiiObject { + + protected OuterClass(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected OuterClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public OuterClass() { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.InnerClass getInnerClass() { + return this.jsiiGet(\\"innerClass\\", software.amazon.jsii.tests.calculator.submodule.child.InnerClass.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/SomeEnum.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.submodule.child; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.submodule.child.SomeEnum\\") +public enum SomeEnum { + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + SOME, +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/SomeStruct.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.submodule.child; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.submodule.child.SomeStruct\\") +@software.amazon.jsii.Jsii.Proxy(SomeStruct.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface SomeStruct extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.SomeEnum getProp(); + + /** + * @return a {@link Builder} of {@link SomeStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link SomeStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop; + + /** + * Sets the value of {@link SomeStruct#getProp} + * @param prop the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder prop(software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop) { + this.prop = prop; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link SomeStruct} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public SomeStruct build() { + return new Jsii$Proxy(prop); + } + } + + /** + * An implementation for {@link SomeStruct} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SomeStruct { + private final software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.prop = this.jsiiGet(\\"prop\\", software.amazon.jsii.tests.calculator.submodule.child.SomeEnum.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.prop = java.util.Objects.requireNonNull(prop, \\"prop is required\\"); + } + + @Override + public software.amazon.jsii.tests.calculator.submodule.child.SomeEnum getProp() { + return this.prop; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"prop\\", om.valueToTree(this.getProp())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.submodule.child.SomeStruct\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + SomeStruct.Jsii$Proxy that = (SomeStruct.Jsii$Proxy) o; + + return this.prop.equals(that.prop); + } + + @Override + public int hashCode() { + int result = this.prop.hashCode(); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/Structure.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.submodule.child; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.submodule.child.Structure\\") +@software.amazon.jsii.Jsii.Proxy(Structure.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface Structure extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.Boolean getBool(); + + /** + * @return a {@link Builder} of {@link Structure} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + static Builder builder() { + return new Builder(); + } + /** + * A builder for {@link Structure} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static final class Builder implements software.amazon.jsii.Builder { + private java.lang.Boolean bool; + + /** + * Sets the value of {@link Structure#getBool} + * @param bool the value to be set. This parameter is required. + * @return {@code this} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public Builder bool(java.lang.Boolean bool) { + this.bool = bool; + return this; + } + + /** + * Builds the configured instance. + * @return a new instance of {@link Structure} + * @throws NullPointerException if any required attribute was not provided + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @Override + public Structure build() { + return new Jsii$Proxy(bool); + } + } + + /** + * An implementation for {@link Structure} + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements Structure { + private final java.lang.Boolean bool; + + /** + * Constructor that initializes the object based on values retrieved from the JsiiObject. + * @param objRef Reference to the JSII managed object. + */ + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + this.bool = this.jsiiGet(\\"bool\\", java.lang.Boolean.class); + } + + /** + * Constructor that initializes the object based on literal property values passed by the {@link Builder}. + */ + private Jsii$Proxy(final java.lang.Boolean bool) { + super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); + this.bool = java.util.Objects.requireNonNull(bool, \\"bool is required\\"); + } + + @Override + public java.lang.Boolean getBool() { + return this.bool; + } + + @Override + public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { + final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; + final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + + data.set(\\"bool\\", om.valueToTree(this.getBool())); + + final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + struct.set(\\"fqn\\", om.valueToTree(\\"jsii-calc.submodule.child.Structure\\")); + struct.set(\\"data\\", data); + + final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); + obj.set(\\"$jsii.struct\\", struct); + + return obj; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Structure.Jsii$Proxy that = (Structure.Jsii$Proxy) o; + + return this.bool.equals(that.bool); + } + + @Override + public int hashCode() { + int result = this.bool.hashCode(); + return result; + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/submodule/isolated/Kwargs.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.submodule.isolated; + +/** + * Ensures imports are correctly registered for kwargs lifted properties from super-structs. + *

+ * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.submodule.isolated.Kwargs\\") +public class Kwargs extends software.amazon.jsii.JsiiObject { + + protected Kwargs(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Kwargs(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + *

+ * @param props + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Boolean method(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.submodule.child.KwargsProps props) { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.submodule.isolated.Kwargs.class, \\"method\\", java.lang.Boolean.class, new Object[] { props }); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public static @org.jetbrains.annotations.NotNull java.lang.Boolean method() { + return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.submodule.isolated.Kwargs.class, \\"method\\", java.lang.Boolean.class); + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/submodule/nested_submodule/Namespaced.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.submodule.nested_submodule; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.submodule.nested_submodule.Namespaced\\") +public abstract class Namespaced extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.submodule.nested_submodule.deeply_nested.INamespaced { + + protected Namespaced(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + protected Namespaced(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { + super(initializationMode); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getDefinedAt() { + return this.jsiiGet(\\"definedAt\\", java.lang.String.class); + } + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public abstract @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.Goodness getGoodness(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.submodule.nested_submodule.Namespaced { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.Goodness getGoodness() { + return this.jsiiGet(\\"goodness\\", software.amazon.jsii.tests.calculator.submodule.child.Goodness.class); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getDefinedAt() { + return this.jsiiGet(\\"definedAt\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/java/software/amazon/jsii/tests/calculator/submodule/nested_submodule/deeply_nested/INamespaced.java 1`] = ` +Object { + Symbol(file): "package software.amazon.jsii.tests.calculator.submodule.nested_submodule.deeply_nested; + +/** + * EXPERIMENTAL + */ +@javax.annotation.Generated(value = \\"jsii-pacmak\\") +@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = \\"jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced\\") +@software.amazon.jsii.Jsii.Proxy(INamespaced.Jsii$Proxy.class) +@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) +public interface INamespaced extends software.amazon.jsii.JsiiSerializable { + + /** + * EXPERIMENTAL + */ + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + @org.jetbrains.annotations.NotNull java.lang.String getDefinedAt(); + + /** + * A proxy class which represents a concrete javascript instance of this type. + */ + final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.submodule.nested_submodule.deeply_nested.INamespaced { + protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { + super(objRef); + } + + /** + * EXPERIMENTAL + */ + @Override + @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) + public @org.jetbrains.annotations.NotNull java.lang.String getDefinedAt() { + return this.jsiiGet(\\"definedAt\\", java.lang.String.class); + } + } +} +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/resources/software/amazon/jsii/tests/calculator/$Module.txt 1`] = ` +Object { + Symbol(file): "jsii-calc.AbstractClass=software.amazon.jsii.tests.calculator.AbstractClass +jsii-calc.AbstractClassBase=software.amazon.jsii.tests.calculator.AbstractClassBase +jsii-calc.AbstractClassReturner=software.amazon.jsii.tests.calculator.AbstractClassReturner +jsii-calc.AbstractSuite=software.amazon.jsii.tests.calculator.AbstractSuite +jsii-calc.Add=software.amazon.jsii.tests.calculator.Add +jsii-calc.AllTypes=software.amazon.jsii.tests.calculator.AllTypes +jsii-calc.AllTypesEnum=software.amazon.jsii.tests.calculator.AllTypesEnum +jsii-calc.AllowedMethodNames=software.amazon.jsii.tests.calculator.AllowedMethodNames +jsii-calc.AmbiguousParameters=software.amazon.jsii.tests.calculator.AmbiguousParameters +jsii-calc.AnonymousImplementationProvider=software.amazon.jsii.tests.calculator.AnonymousImplementationProvider +jsii-calc.AsyncVirtualMethods=software.amazon.jsii.tests.calculator.AsyncVirtualMethods +jsii-calc.AugmentableClass=software.amazon.jsii.tests.calculator.AugmentableClass +jsii-calc.BaseJsii976=software.amazon.jsii.tests.calculator.BaseJsii976 +jsii-calc.Bell=software.amazon.jsii.tests.calculator.Bell +jsii-calc.BinaryOperation=software.amazon.jsii.tests.calculator.BinaryOperation +jsii-calc.Calculator=software.amazon.jsii.tests.calculator.Calculator +jsii-calc.CalculatorProps=software.amazon.jsii.tests.calculator.CalculatorProps +jsii-calc.ChildStruct982=software.amazon.jsii.tests.calculator.ChildStruct982 +jsii-calc.ClassThatImplementsTheInternalInterface=software.amazon.jsii.tests.calculator.ClassThatImplementsTheInternalInterface +jsii-calc.ClassThatImplementsThePrivateInterface=software.amazon.jsii.tests.calculator.ClassThatImplementsThePrivateInterface +jsii-calc.ClassWithCollections=software.amazon.jsii.tests.calculator.ClassWithCollections +jsii-calc.ClassWithDocs=software.amazon.jsii.tests.calculator.ClassWithDocs +jsii-calc.ClassWithJavaReservedWords=software.amazon.jsii.tests.calculator.ClassWithJavaReservedWords +jsii-calc.ClassWithMutableObjectLiteralProperty=software.amazon.jsii.tests.calculator.ClassWithMutableObjectLiteralProperty +jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties=software.amazon.jsii.tests.calculator.ClassWithPrivateConstructorAndAutomaticProperties +jsii-calc.ConfusingToJackson=software.amazon.jsii.tests.calculator.ConfusingToJackson +jsii-calc.ConfusingToJacksonStruct=software.amazon.jsii.tests.calculator.ConfusingToJacksonStruct +jsii-calc.ConstructorPassesThisOut=software.amazon.jsii.tests.calculator.ConstructorPassesThisOut +jsii-calc.Constructors=software.amazon.jsii.tests.calculator.Constructors +jsii-calc.ConsumePureInterface=software.amazon.jsii.tests.calculator.ConsumePureInterface +jsii-calc.ConsumerCanRingBell=software.amazon.jsii.tests.calculator.ConsumerCanRingBell +jsii-calc.ConsumersOfThisCrazyTypeSystem=software.amazon.jsii.tests.calculator.ConsumersOfThisCrazyTypeSystem +jsii-calc.DataRenderer=software.amazon.jsii.tests.calculator.DataRenderer +jsii-calc.DefaultedConstructorArgument=software.amazon.jsii.tests.calculator.DefaultedConstructorArgument +jsii-calc.Demonstrate982=software.amazon.jsii.tests.calculator.Demonstrate982 +jsii-calc.DeprecatedClass=software.amazon.jsii.tests.calculator.DeprecatedClass +jsii-calc.DeprecatedEnum=software.amazon.jsii.tests.calculator.DeprecatedEnum +jsii-calc.DeprecatedStruct=software.amazon.jsii.tests.calculator.DeprecatedStruct +jsii-calc.DerivedClassHasNoProperties.Base=software.amazon.jsii.tests.calculator.derived_class_has_no_properties.Base +jsii-calc.DerivedClassHasNoProperties.Derived=software.amazon.jsii.tests.calculator.derived_class_has_no_properties.Derived +jsii-calc.DerivedStruct=software.amazon.jsii.tests.calculator.DerivedStruct +jsii-calc.DiamondInheritanceBaseLevelStruct=software.amazon.jsii.tests.calculator.DiamondInheritanceBaseLevelStruct +jsii-calc.DiamondInheritanceFirstMidLevelStruct=software.amazon.jsii.tests.calculator.DiamondInheritanceFirstMidLevelStruct +jsii-calc.DiamondInheritanceSecondMidLevelStruct=software.amazon.jsii.tests.calculator.DiamondInheritanceSecondMidLevelStruct +jsii-calc.DiamondInheritanceTopLevelStruct=software.amazon.jsii.tests.calculator.DiamondInheritanceTopLevelStruct +jsii-calc.DisappointingCollectionSource=software.amazon.jsii.tests.calculator.DisappointingCollectionSource +jsii-calc.DoNotOverridePrivates=software.amazon.jsii.tests.calculator.DoNotOverridePrivates +jsii-calc.DoNotRecognizeAnyAsOptional=software.amazon.jsii.tests.calculator.DoNotRecognizeAnyAsOptional +jsii-calc.DocumentedClass=software.amazon.jsii.tests.calculator.DocumentedClass +jsii-calc.DontComplainAboutVariadicAfterOptional=software.amazon.jsii.tests.calculator.DontComplainAboutVariadicAfterOptional +jsii-calc.DoubleTrouble=software.amazon.jsii.tests.calculator.DoubleTrouble +jsii-calc.EnumDispenser=software.amazon.jsii.tests.calculator.EnumDispenser +jsii-calc.EraseUndefinedHashValues=software.amazon.jsii.tests.calculator.EraseUndefinedHashValues +jsii-calc.EraseUndefinedHashValuesOptions=software.amazon.jsii.tests.calculator.EraseUndefinedHashValuesOptions +jsii-calc.ExperimentalClass=software.amazon.jsii.tests.calculator.ExperimentalClass +jsii-calc.ExperimentalEnum=software.amazon.jsii.tests.calculator.ExperimentalEnum +jsii-calc.ExperimentalStruct=software.amazon.jsii.tests.calculator.ExperimentalStruct +jsii-calc.ExportedBaseClass=software.amazon.jsii.tests.calculator.ExportedBaseClass +jsii-calc.ExtendsInternalInterface=software.amazon.jsii.tests.calculator.ExtendsInternalInterface +jsii-calc.ExternalClass=software.amazon.jsii.tests.calculator.ExternalClass +jsii-calc.ExternalEnum=software.amazon.jsii.tests.calculator.ExternalEnum +jsii-calc.ExternalStruct=software.amazon.jsii.tests.calculator.ExternalStruct +jsii-calc.GiveMeStructs=software.amazon.jsii.tests.calculator.GiveMeStructs +jsii-calc.Greetee=software.amazon.jsii.tests.calculator.Greetee +jsii-calc.GreetingAugmenter=software.amazon.jsii.tests.calculator.GreetingAugmenter +jsii-calc.IAnonymousImplementationProvider=software.amazon.jsii.tests.calculator.IAnonymousImplementationProvider +jsii-calc.IAnonymouslyImplementMe=software.amazon.jsii.tests.calculator.IAnonymouslyImplementMe +jsii-calc.IAnotherPublicInterface=software.amazon.jsii.tests.calculator.IAnotherPublicInterface +jsii-calc.IBell=software.amazon.jsii.tests.calculator.IBell +jsii-calc.IBellRinger=software.amazon.jsii.tests.calculator.IBellRinger +jsii-calc.IConcreteBellRinger=software.amazon.jsii.tests.calculator.IConcreteBellRinger +jsii-calc.IDeprecatedInterface=software.amazon.jsii.tests.calculator.IDeprecatedInterface +jsii-calc.IExperimentalInterface=software.amazon.jsii.tests.calculator.IExperimentalInterface +jsii-calc.IExtendsPrivateInterface=software.amazon.jsii.tests.calculator.IExtendsPrivateInterface +jsii-calc.IExternalInterface=software.amazon.jsii.tests.calculator.IExternalInterface +jsii-calc.IFriendlier=software.amazon.jsii.tests.calculator.IFriendlier +jsii-calc.IFriendlyRandomGenerator=software.amazon.jsii.tests.calculator.IFriendlyRandomGenerator +jsii-calc.IInterfaceImplementedByAbstractClass=software.amazon.jsii.tests.calculator.IInterfaceImplementedByAbstractClass +jsii-calc.IInterfaceThatShouldNotBeADataType=software.amazon.jsii.tests.calculator.IInterfaceThatShouldNotBeADataType +jsii-calc.IInterfaceWithInternal=software.amazon.jsii.tests.calculator.IInterfaceWithInternal +jsii-calc.IInterfaceWithMethods=software.amazon.jsii.tests.calculator.IInterfaceWithMethods +jsii-calc.IInterfaceWithOptionalMethodArguments=software.amazon.jsii.tests.calculator.IInterfaceWithOptionalMethodArguments +jsii-calc.IInterfaceWithProperties=software.amazon.jsii.tests.calculator.IInterfaceWithProperties +jsii-calc.IInterfaceWithPropertiesExtension=software.amazon.jsii.tests.calculator.IInterfaceWithPropertiesExtension +jsii-calc.IJSII417Derived=software.amazon.jsii.tests.calculator.IJSII417Derived +jsii-calc.IJSII417PublicBaseOfBase=software.amazon.jsii.tests.calculator.IJSII417PublicBaseOfBase +jsii-calc.IJsii487External=software.amazon.jsii.tests.calculator.IJsii487External +jsii-calc.IJsii487External2=software.amazon.jsii.tests.calculator.IJsii487External2 +jsii-calc.IJsii496=software.amazon.jsii.tests.calculator.IJsii496 +jsii-calc.IMutableObjectLiteral=software.amazon.jsii.tests.calculator.IMutableObjectLiteral +jsii-calc.INonInternalInterface=software.amazon.jsii.tests.calculator.INonInternalInterface +jsii-calc.IObjectWithProperty=software.amazon.jsii.tests.calculator.IObjectWithProperty +jsii-calc.IOptionalMethod=software.amazon.jsii.tests.calculator.IOptionalMethod +jsii-calc.IPrivatelyImplemented=software.amazon.jsii.tests.calculator.IPrivatelyImplemented +jsii-calc.IPublicInterface=software.amazon.jsii.tests.calculator.IPublicInterface +jsii-calc.IPublicInterface2=software.amazon.jsii.tests.calculator.IPublicInterface2 +jsii-calc.IRandomNumberGenerator=software.amazon.jsii.tests.calculator.IRandomNumberGenerator +jsii-calc.IReturnJsii976=software.amazon.jsii.tests.calculator.IReturnJsii976 +jsii-calc.IReturnsNumber=software.amazon.jsii.tests.calculator.IReturnsNumber +jsii-calc.IStableInterface=software.amazon.jsii.tests.calculator.IStableInterface +jsii-calc.IStructReturningDelegate=software.amazon.jsii.tests.calculator.IStructReturningDelegate +jsii-calc.ImplementInternalInterface=software.amazon.jsii.tests.calculator.ImplementInternalInterface +jsii-calc.Implementation=software.amazon.jsii.tests.calculator.Implementation +jsii-calc.ImplementsInterfaceWithInternal=software.amazon.jsii.tests.calculator.ImplementsInterfaceWithInternal +jsii-calc.ImplementsInterfaceWithInternalSubclass=software.amazon.jsii.tests.calculator.ImplementsInterfaceWithInternalSubclass +jsii-calc.ImplementsPrivateInterface=software.amazon.jsii.tests.calculator.ImplementsPrivateInterface +jsii-calc.ImplictBaseOfBase=software.amazon.jsii.tests.calculator.ImplictBaseOfBase +jsii-calc.InbetweenClass=software.amazon.jsii.tests.calculator.InbetweenClass +jsii-calc.InterfaceCollections=software.amazon.jsii.tests.calculator.InterfaceCollections +jsii-calc.InterfaceInNamespaceIncludesClasses.Foo=software.amazon.jsii.tests.calculator.interface_in_namespace_includes_classes.Foo +jsii-calc.InterfaceInNamespaceIncludesClasses.Hello=software.amazon.jsii.tests.calculator.interface_in_namespace_includes_classes.Hello +jsii-calc.InterfaceInNamespaceOnlyInterface.Hello=software.amazon.jsii.tests.calculator.interface_in_namespace_only_interface.Hello +jsii-calc.InterfacesMaker=software.amazon.jsii.tests.calculator.InterfacesMaker +jsii-calc.Isomorphism=software.amazon.jsii.tests.calculator.Isomorphism +jsii-calc.JSII417Derived=software.amazon.jsii.tests.calculator.JSII417Derived +jsii-calc.JSII417PublicBaseOfBase=software.amazon.jsii.tests.calculator.JSII417PublicBaseOfBase +jsii-calc.JSObjectLiteralForInterface=software.amazon.jsii.tests.calculator.JSObjectLiteralForInterface +jsii-calc.JSObjectLiteralToNative=software.amazon.jsii.tests.calculator.JSObjectLiteralToNative +jsii-calc.JSObjectLiteralToNativeClass=software.amazon.jsii.tests.calculator.JSObjectLiteralToNativeClass +jsii-calc.JavaReservedWords=software.amazon.jsii.tests.calculator.JavaReservedWords +jsii-calc.Jsii487Derived=software.amazon.jsii.tests.calculator.Jsii487Derived +jsii-calc.Jsii496Derived=software.amazon.jsii.tests.calculator.Jsii496Derived +jsii-calc.JsiiAgent=software.amazon.jsii.tests.calculator.JsiiAgent +jsii-calc.JsonFormatter=software.amazon.jsii.tests.calculator.JsonFormatter +jsii-calc.LoadBalancedFargateServiceProps=software.amazon.jsii.tests.calculator.LoadBalancedFargateServiceProps +jsii-calc.MethodNamedProperty=software.amazon.jsii.tests.calculator.MethodNamedProperty +jsii-calc.Multiply=software.amazon.jsii.tests.calculator.Multiply +jsii-calc.Negate=software.amazon.jsii.tests.calculator.Negate +jsii-calc.NestedStruct=software.amazon.jsii.tests.calculator.NestedStruct +jsii-calc.NodeStandardLibrary=software.amazon.jsii.tests.calculator.NodeStandardLibrary +jsii-calc.NullShouldBeTreatedAsUndefined=software.amazon.jsii.tests.calculator.NullShouldBeTreatedAsUndefined +jsii-calc.NullShouldBeTreatedAsUndefinedData=software.amazon.jsii.tests.calculator.NullShouldBeTreatedAsUndefinedData +jsii-calc.NumberGenerator=software.amazon.jsii.tests.calculator.NumberGenerator +jsii-calc.ObjectRefsInCollections=software.amazon.jsii.tests.calculator.ObjectRefsInCollections +jsii-calc.ObjectWithPropertyProvider=software.amazon.jsii.tests.calculator.ObjectWithPropertyProvider +jsii-calc.Old=software.amazon.jsii.tests.calculator.Old +jsii-calc.OptionalArgumentInvoker=software.amazon.jsii.tests.calculator.OptionalArgumentInvoker +jsii-calc.OptionalConstructorArgument=software.amazon.jsii.tests.calculator.OptionalConstructorArgument +jsii-calc.OptionalStruct=software.amazon.jsii.tests.calculator.OptionalStruct +jsii-calc.OptionalStructConsumer=software.amazon.jsii.tests.calculator.OptionalStructConsumer +jsii-calc.OverridableProtectedMember=software.amazon.jsii.tests.calculator.OverridableProtectedMember +jsii-calc.OverrideReturnsObject=software.amazon.jsii.tests.calculator.OverrideReturnsObject +jsii-calc.ParentStruct982=software.amazon.jsii.tests.calculator.ParentStruct982 +jsii-calc.PartiallyInitializedThisConsumer=software.amazon.jsii.tests.calculator.PartiallyInitializedThisConsumer +jsii-calc.Polymorphism=software.amazon.jsii.tests.calculator.Polymorphism +jsii-calc.Power=software.amazon.jsii.tests.calculator.Power +jsii-calc.PropertyNamedProperty=software.amazon.jsii.tests.calculator.PropertyNamedProperty +jsii-calc.PublicClass=software.amazon.jsii.tests.calculator.PublicClass +jsii-calc.PythonReservedWords=software.amazon.jsii.tests.calculator.PythonReservedWords +jsii-calc.PythonSelf.ClassWithSelf=software.amazon.jsii.tests.calculator.python_self.ClassWithSelf +jsii-calc.PythonSelf.ClassWithSelfKwarg=software.amazon.jsii.tests.calculator.python_self.ClassWithSelfKwarg +jsii-calc.PythonSelf.IInterfaceWithSelf=software.amazon.jsii.tests.calculator.python_self.IInterfaceWithSelf +jsii-calc.PythonSelf.StructWithSelf=software.amazon.jsii.tests.calculator.python_self.StructWithSelf +jsii-calc.ReferenceEnumFromScopedPackage=software.amazon.jsii.tests.calculator.ReferenceEnumFromScopedPackage +jsii-calc.ReturnsPrivateImplementationOfInterface=software.amazon.jsii.tests.calculator.ReturnsPrivateImplementationOfInterface +jsii-calc.RootStruct=software.amazon.jsii.tests.calculator.RootStruct +jsii-calc.RootStructValidator=software.amazon.jsii.tests.calculator.RootStructValidator +jsii-calc.RuntimeTypeChecking=software.amazon.jsii.tests.calculator.RuntimeTypeChecking +jsii-calc.SecondLevelStruct=software.amazon.jsii.tests.calculator.SecondLevelStruct +jsii-calc.SingleInstanceTwoTypes=software.amazon.jsii.tests.calculator.SingleInstanceTwoTypes +jsii-calc.SingletonInt=software.amazon.jsii.tests.calculator.SingletonInt +jsii-calc.SingletonIntEnum=software.amazon.jsii.tests.calculator.SingletonIntEnum +jsii-calc.SingletonString=software.amazon.jsii.tests.calculator.SingletonString +jsii-calc.SingletonStringEnum=software.amazon.jsii.tests.calculator.SingletonStringEnum +jsii-calc.SmellyStruct=software.amazon.jsii.tests.calculator.SmellyStruct +jsii-calc.SomeTypeJsii976=software.amazon.jsii.tests.calculator.SomeTypeJsii976 +jsii-calc.StableClass=software.amazon.jsii.tests.calculator.StableClass +jsii-calc.StableEnum=software.amazon.jsii.tests.calculator.StableEnum +jsii-calc.StableStruct=software.amazon.jsii.tests.calculator.StableStruct +jsii-calc.StaticContext=software.amazon.jsii.tests.calculator.StaticContext +jsii-calc.Statics=software.amazon.jsii.tests.calculator.Statics +jsii-calc.StringEnum=software.amazon.jsii.tests.calculator.StringEnum +jsii-calc.StripInternal=software.amazon.jsii.tests.calculator.StripInternal +jsii-calc.StructA=software.amazon.jsii.tests.calculator.StructA +jsii-calc.StructB=software.amazon.jsii.tests.calculator.StructB +jsii-calc.StructParameterType=software.amazon.jsii.tests.calculator.StructParameterType +jsii-calc.StructPassing=software.amazon.jsii.tests.calculator.StructPassing +jsii-calc.StructUnionConsumer=software.amazon.jsii.tests.calculator.StructUnionConsumer +jsii-calc.StructWithJavaReservedWords=software.amazon.jsii.tests.calculator.StructWithJavaReservedWords +jsii-calc.Sum=software.amazon.jsii.tests.calculator.Sum +jsii-calc.SupportsNiceJavaBuilder=software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilder +jsii-calc.SupportsNiceJavaBuilderProps=software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps +jsii-calc.SupportsNiceJavaBuilderWithRequiredProps=software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderWithRequiredProps +jsii-calc.SyncVirtualMethods=software.amazon.jsii.tests.calculator.SyncVirtualMethods +jsii-calc.Thrower=software.amazon.jsii.tests.calculator.Thrower +jsii-calc.TopLevelStruct=software.amazon.jsii.tests.calculator.TopLevelStruct +jsii-calc.UmaskCheck=software.amazon.jsii.tests.calculator.UmaskCheck +jsii-calc.UnaryOperation=software.amazon.jsii.tests.calculator.UnaryOperation +jsii-calc.UnionProperties=software.amazon.jsii.tests.calculator.UnionProperties +jsii-calc.UpcasingReflectable=software.amazon.jsii.tests.calculator.UpcasingReflectable +jsii-calc.UseBundledDependency=software.amazon.jsii.tests.calculator.UseBundledDependency +jsii-calc.UseCalcBase=software.amazon.jsii.tests.calculator.UseCalcBase +jsii-calc.UsesInterfaceWithProperties=software.amazon.jsii.tests.calculator.UsesInterfaceWithProperties +jsii-calc.VariadicInvoker=software.amazon.jsii.tests.calculator.VariadicInvoker +jsii-calc.VariadicMethod=software.amazon.jsii.tests.calculator.VariadicMethod +jsii-calc.VirtualMethodPlayground=software.amazon.jsii.tests.calculator.VirtualMethodPlayground +jsii-calc.VoidCallback=software.amazon.jsii.tests.calculator.VoidCallback +jsii-calc.WithPrivatePropertyInConstructor=software.amazon.jsii.tests.calculator.WithPrivatePropertyInConstructor +jsii-calc.composition.CompositeOperation=software.amazon.jsii.tests.calculator.composition.CompositeOperation +jsii-calc.composition.CompositeOperation.CompositionStringStyle=software.amazon.jsii.tests.calculator.composition.CompositeOperation$CompositionStringStyle +jsii-calc.submodule.MyClass=software.amazon.jsii.tests.calculator.submodule.MyClass +jsii-calc.submodule.back_references.MyClassReference=software.amazon.jsii.tests.calculator.submodule.back_references.MyClassReference +jsii-calc.submodule.child.Awesomeness=software.amazon.jsii.tests.calculator.submodule.child.Awesomeness +jsii-calc.submodule.child.Goodness=software.amazon.jsii.tests.calculator.submodule.child.Goodness +jsii-calc.submodule.child.InnerClass=software.amazon.jsii.tests.calculator.submodule.child.InnerClass +jsii-calc.submodule.child.KwargsProps=software.amazon.jsii.tests.calculator.submodule.child.KwargsProps +jsii-calc.submodule.child.OuterClass=software.amazon.jsii.tests.calculator.submodule.child.OuterClass +jsii-calc.submodule.child.SomeEnum=software.amazon.jsii.tests.calculator.submodule.child.SomeEnum +jsii-calc.submodule.child.SomeStruct=software.amazon.jsii.tests.calculator.submodule.child.SomeStruct +jsii-calc.submodule.child.Structure=software.amazon.jsii.tests.calculator.submodule.child.Structure +jsii-calc.submodule.isolated.Kwargs=software.amazon.jsii.tests.calculator.submodule.isolated.Kwargs +jsii-calc.submodule.nested_submodule.Namespaced=software.amazon.jsii.tests.calculator.submodule.nested_submodule.Namespaced +jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced=software.amazon.jsii.tests.calculator.submodule.nested_submodule.deeply_nested.INamespaced +", +} +`; + +exports[`Generated code for "jsii-calc": /java/src/main/resources/software/amazon/jsii/tests/calculator/jsii-calc@0.0.0.jsii.tgz 1`] = `java/src/main/resources/software/amazon/jsii/tests/calculator/jsii-calc@0.0.0.jsii.tgz is a tarball`; + +exports[`Generated code for "jsii-calc": /js/jsii-calc@0.0.0.jsii.tgz 1`] = `js/jsii-calc@0.0.0.jsii.tgz is a tarball`; + +exports[`Generated code for "jsii-calc": /python/MANIFEST.in 1`] = ` +Object { + Symbol(file): "include pyproject.toml +", +} +`; + +exports[`Generated code for "jsii-calc": /python/README.md 1`] = ` +Object { + Symbol(file): "# jsii Calculator + +This library is used to demonstrate and test the features of JSII + +## How to use running sum API: + +First, create a calculator: + +\`\`\`python +# Example automatically generated. See https://github.com/aws/jsii/issues/826 +calculator = calc.Calculator() +\`\`\` + +Then call some operations: + +\`\`\`python +# Example automatically generated. See https://github.com/aws/jsii/issues/826 +calculator.add(10) +\`\`\` + +## Code Samples + +\`\`\`python +# Example automatically generated. See https://github.com/aws/jsii/issues/826 +# This is totes a magic comment in here, just you wait! +foo = \\"bar\\" +\`\`\` +", +} +`; + +exports[`Generated code for "jsii-calc": /python/pyproject.toml 1`] = ` +Object { + Symbol(file): "[build-system] +requires = [\\"setuptools >= 38.6.0\\", \\"wheel >= 0.31.0\\"] +build-backend = \\"setuptools.build_meta\\" +", +} +`; + +exports[`Generated code for "jsii-calc": /python/setup.py 1`] = ` +Object { + Symbol(file): "import json +import setuptools + +kwargs = json.loads( + \\"\\"\\" +{ + \\"name\\": \\"jsii-calc\\", + \\"version\\": \\"0.0.0\\", + \\"description\\": \\"A simple calcuator built on JSII.\\", + \\"license\\": \\"Apache-2.0\\", + \\"url\\": \\"https://github.com/aws/jsii\\", + \\"long_description_content_type\\": \\"text/markdown\\", + \\"author\\": \\"Amazon Web Services\\", + \\"project_urls\\": { + \\"Source\\": \\"https://github.com/aws/jsii.git\\" + }, + \\"package_dir\\": { + \\"\\": \\"src\\" + }, + \\"packages\\": [ + \\"jsii_calc\\", + \\"jsii_calc._jsii\\", + \\"jsii_calc.composition\\", + \\"jsii_calc.derived_class_has_no_properties\\", + \\"jsii_calc.interface_in_namespace_includes_classes\\", + \\"jsii_calc.interface_in_namespace_only_interface\\", + \\"jsii_calc.python_self\\", + \\"jsii_calc.submodule\\", + \\"jsii_calc.submodule.back_references\\", + \\"jsii_calc.submodule.child\\", + \\"jsii_calc.submodule.isolated\\", + \\"jsii_calc.submodule.nested_submodule\\", + \\"jsii_calc.submodule.nested_submodule.deeply_nested\\" + ], + \\"package_data\\": { + \\"jsii_calc._jsii\\": [ + \\"jsii-calc@0.0.0.jsii.tgz\\" + ], + \\"jsii_calc\\": [ + \\"py.typed\\" + ] + }, + \\"python_requires\\": \\">=3.6\\", + \\"install_requires\\": [ + \\"jsii>=0.0.0, <0.0.1\\", + \\"publication>=0.0.3\\", + \\"scope.jsii-calc-base>=0.0.0, <0.0.1\\", + \\"scope.jsii-calc-base-of-base>=0.0.0, <0.0.1\\", + \\"scope.jsii-calc-lib>=0.0.0, <0.0.1\\" + ], + \\"classifiers\\": [ + \\"Intended Audience :: Developers\\", + \\"Operating System :: OS Independent\\", + \\"Programming Language :: JavaScript\\", + \\"Programming Language :: Python :: 3 :: Only\\", + \\"Programming Language :: Python :: 3.6\\", + \\"Programming Language :: Python :: 3.7\\", + \\"Programming Language :: Python :: 3.8\\", + \\"Typing :: Typed\\", + \\"Development Status :: 4 - Beta\\", + \\"License :: OSI Approved\\" + ] +} +\\"\\"\\" +) + +with open(\\"README.md\\") as fp: + kwargs[\\"long_description\\"] = fp.read() + + +setuptools.setup(**kwargs) +", +} +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/__init__.py 1`] = ` +Object { + Symbol(file): "\\"\\"\\" +# jsii Calculator + +This library is used to demonstrate and test the features of JSII + +## How to use running sum API: + +First, create a calculator: + +\`\`\`python +# Example automatically generated. See https://github.com/aws/jsii/issues/826 +calculator = calc.Calculator() +\`\`\` + +Then call some operations: + +\`\`\`python +# Example automatically generated. See https://github.com/aws/jsii/issues/826 +calculator.add(10) +\`\`\` + +## Code Samples + +\`\`\`python +# Example automatically generated. See https://github.com/aws/jsii/issues/826 +# This is totes a magic comment in here, just you wait! +foo = \\"bar\\" +\`\`\` +\\"\\"\\" +import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from ._jsii import * + +import scope.jsii_calc_base +import scope.jsii_calc_base_of_base +import scope.jsii_calc_lib +import scope.jsii_calc_lib.custom_submodule_name +from .composition import CompositeOperation as _CompositeOperation_1c4d123b + + +class AbstractClassBase( + metaclass=jsii.JSIIAbstractClass, jsii_type=\\"jsii-calc.AbstractClassBase\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _AbstractClassBaseProxy + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(AbstractClassBase, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"abstractProperty\\") + @abc.abstractmethod + def abstract_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _AbstractClassBaseProxy(AbstractClassBase): + @builtins.property + @jsii.member(jsii_name=\\"abstractProperty\\") + def abstract_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"abstractProperty\\") + + +class AbstractClassReturner( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.AbstractClassReturner\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(AbstractClassReturner, self, []) + + @jsii.member(jsii_name=\\"giveMeAbstract\\") + def give_me_abstract(self) -> \\"AbstractClass\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"giveMeAbstract\\", []) + + @jsii.member(jsii_name=\\"giveMeInterface\\") + def give_me_interface(self) -> \\"IInterfaceImplementedByAbstractClass\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"giveMeInterface\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"returnAbstractFromProperty\\") + def return_abstract_from_property(self) -> \\"AbstractClassBase\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"returnAbstractFromProperty\\") + + +class AbstractSuite( + metaclass=jsii.JSIIAbstractClass, jsii_type=\\"jsii-calc.AbstractSuite\\" +): + \\"\\"\\"Ensures abstract members implementations correctly register overrides in various languages. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _AbstractSuiteProxy + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(AbstractSuite, self, []) + + @jsii.member(jsii_name=\\"someMethod\\") + @abc.abstractmethod + def _some_method(self, str: str) -> str: + \\"\\"\\" + :param str: - + + stability + :stability: experimental + \\"\\"\\" + ... + + @jsii.member(jsii_name=\\"workItAll\\") + def work_it_all(self, seed: str) -> str: + \\"\\"\\"Sets \`\`seed\`\` to \`\`this.property\`\`, then calls \`\`someMethod\`\` with \`\`this.property\`\` and returns the result. + + :param seed: a \`\`string\`\`. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"workItAll\\", [seed]) + + @builtins.property + @jsii.member(jsii_name=\\"property\\") + @abc.abstractmethod + def _property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @_property.setter + @abc.abstractmethod + def _property(self, value: str) -> None: + ... + + +class _AbstractSuiteProxy(AbstractSuite): + @jsii.member(jsii_name=\\"someMethod\\") + def _some_method(self, str: str) -> str: + \\"\\"\\" + :param str: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"someMethod\\", [str]) + + @builtins.property + @jsii.member(jsii_name=\\"property\\") + def _property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"property\\") + + @_property.setter + def _property(self, value: str) -> None: + jsii.set(self, \\"property\\", value) + + +class AllTypes(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.AllTypes\\"): + \\"\\"\\"This class includes property for all types supported by jsii. + + The setters will validate + that the value set is of the expected type and throw otherwise. + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(AllTypes, self, []) + + @jsii.member(jsii_name=\\"anyIn\\") + def any_in(self, inp: typing.Any) -> None: + \\"\\"\\" + :param inp: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"anyIn\\", [inp]) + + @jsii.member(jsii_name=\\"anyOut\\") + def any_out(self) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"anyOut\\", []) + + @jsii.member(jsii_name=\\"enumMethod\\") + def enum_method(self, value: \\"StringEnum\\") -> \\"StringEnum\\": + \\"\\"\\" + :param value: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"enumMethod\\", [value]) + + @builtins.property + @jsii.member(jsii_name=\\"enumPropertyValue\\") + def enum_property_value(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"enumPropertyValue\\") + + @builtins.property + @jsii.member(jsii_name=\\"anyArrayProperty\\") + def any_array_property(self) -> typing.List[typing.Any]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"anyArrayProperty\\") + + @any_array_property.setter + def any_array_property(self, value: typing.List[typing.Any]) -> None: + jsii.set(self, \\"anyArrayProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"anyMapProperty\\") + def any_map_property(self) -> typing.Mapping[str, typing.Any]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"anyMapProperty\\") + + @any_map_property.setter + def any_map_property(self, value: typing.Mapping[str, typing.Any]) -> None: + jsii.set(self, \\"anyMapProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"anyProperty\\") + def any_property(self) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"anyProperty\\") + + @any_property.setter + def any_property(self, value: typing.Any) -> None: + jsii.set(self, \\"anyProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"arrayProperty\\") + def array_property(self) -> typing.List[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"arrayProperty\\") + + @array_property.setter + def array_property(self, value: typing.List[str]) -> None: + jsii.set(self, \\"arrayProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"booleanProperty\\") + def boolean_property(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"booleanProperty\\") + + @boolean_property.setter + def boolean_property(self, value: bool) -> None: + jsii.set(self, \\"booleanProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"dateProperty\\") + def date_property(self) -> datetime.datetime: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"dateProperty\\") + + @date_property.setter + def date_property(self, value: datetime.datetime) -> None: + jsii.set(self, \\"dateProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"enumProperty\\") + def enum_property(self) -> \\"AllTypesEnum\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"enumProperty\\") + + @enum_property.setter + def enum_property(self, value: \\"AllTypesEnum\\") -> None: + jsii.set(self, \\"enumProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"jsonProperty\\") + def json_property(self) -> typing.Mapping[typing.Any, typing.Any]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"jsonProperty\\") + + @json_property.setter + def json_property(self, value: typing.Mapping[typing.Any, typing.Any]) -> None: + jsii.set(self, \\"jsonProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"mapProperty\\") + def map_property(self) -> typing.Mapping[str, scope.jsii_calc_lib.Number]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"mapProperty\\") + + @map_property.setter + def map_property( + self, value: typing.Mapping[str, scope.jsii_calc_lib.Number] + ) -> None: + jsii.set(self, \\"mapProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"numberProperty\\") + def number_property(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"numberProperty\\") + + @number_property.setter + def number_property(self, value: jsii.Number) -> None: + jsii.set(self, \\"numberProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"stringProperty\\") + def string_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"stringProperty\\") + + @string_property.setter + def string_property(self, value: str) -> None: + jsii.set(self, \\"stringProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"unionArrayProperty\\") + def union_array_property( + self, + ) -> typing.List[typing.Union[jsii.Number, scope.jsii_calc_lib.Value]]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"unionArrayProperty\\") + + @union_array_property.setter + def union_array_property( + self, value: typing.List[typing.Union[jsii.Number, scope.jsii_calc_lib.Value]] + ) -> None: + jsii.set(self, \\"unionArrayProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"unionMapProperty\\") + def union_map_property( + self, + ) -> typing.Mapping[ + str, typing.Union[str, jsii.Number, scope.jsii_calc_lib.Number] + ]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"unionMapProperty\\") + + @union_map_property.setter + def union_map_property( + self, + value: typing.Mapping[ + str, typing.Union[str, jsii.Number, scope.jsii_calc_lib.Number] + ], + ) -> None: + jsii.set(self, \\"unionMapProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"unionProperty\\") + def union_property( + self, + ) -> typing.Union[str, jsii.Number, \\"Multiply\\", scope.jsii_calc_lib.Number]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"unionProperty\\") + + @union_property.setter + def union_property( + self, + value: typing.Union[str, jsii.Number, \\"Multiply\\", scope.jsii_calc_lib.Number], + ) -> None: + jsii.set(self, \\"unionProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"unknownArrayProperty\\") + def unknown_array_property(self) -> typing.List[typing.Any]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"unknownArrayProperty\\") + + @unknown_array_property.setter + def unknown_array_property(self, value: typing.List[typing.Any]) -> None: + jsii.set(self, \\"unknownArrayProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"unknownMapProperty\\") + def unknown_map_property(self) -> typing.Mapping[str, typing.Any]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"unknownMapProperty\\") + + @unknown_map_property.setter + def unknown_map_property(self, value: typing.Mapping[str, typing.Any]) -> None: + jsii.set(self, \\"unknownMapProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"unknownProperty\\") + def unknown_property(self) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"unknownProperty\\") + + @unknown_property.setter + def unknown_property(self, value: typing.Any) -> None: + jsii.set(self, \\"unknownProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"optionalEnumValue\\") + def optional_enum_value(self) -> typing.Optional[\\"StringEnum\\"]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"optionalEnumValue\\") + + @optional_enum_value.setter + def optional_enum_value(self, value: typing.Optional[\\"StringEnum\\"]) -> None: + jsii.set(self, \\"optionalEnumValue\\", value) + + +@jsii.enum(jsii_type=\\"jsii-calc.AllTypesEnum\\") +class AllTypesEnum(enum.Enum): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + MY_ENUM_VALUE = \\"MY_ENUM_VALUE\\" + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + YOUR_ENUM_VALUE = \\"YOUR_ENUM_VALUE\\" + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + THIS_IS_GREAT = \\"THIS_IS_GREAT\\" + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + +class AllowedMethodNames( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.AllowedMethodNames\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(AllowedMethodNames, self, []) + + @jsii.member(jsii_name=\\"getBar\\") + def get_bar(self, _p1: str, _p2: jsii.Number) -> None: + \\"\\"\\" + :param _p1: - + :param _p2: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"getBar\\", [_p1, _p2]) + + @jsii.member(jsii_name=\\"getFoo\\") + def get_foo(self, with_param: str) -> str: + \\"\\"\\"getXxx() is not allowed (see negatives), but getXxx(a, ...) is okay. + + :param with_param: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"getFoo\\", [with_param]) + + @jsii.member(jsii_name=\\"setBar\\") + def set_bar(self, _x: str, _y: jsii.Number, _z: bool) -> None: + \\"\\"\\" + :param _x: - + :param _y: - + :param _z: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"setBar\\", [_x, _y, _z]) + + @jsii.member(jsii_name=\\"setFoo\\") + def set_foo(self, _x: str, _y: jsii.Number) -> None: + \\"\\"\\"setFoo(x) is not allowed (see negatives), but setXxx(a, b, ...) is okay. + + :param _x: - + :param _y: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"setFoo\\", [_x, _y]) + + +class AmbiguousParameters( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.AmbiguousParameters\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__( + self, scope_: \\"Bell\\", *, scope: str, props: typing.Optional[bool] = None + ) -> None: + \\"\\"\\" + :param scope_: - + :param scope: + :param props: + + stability + :stability: experimental + \\"\\"\\" + props_ = StructParameterType(scope=scope, props=props) + + jsii.create(AmbiguousParameters, self, [scope_, props_]) + + @builtins.property + @jsii.member(jsii_name=\\"props\\") + def props(self) -> \\"StructParameterType\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"props\\") + + @builtins.property + @jsii.member(jsii_name=\\"scope\\") + def scope(self) -> \\"Bell\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"scope\\") + + +class AsyncVirtualMethods( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.AsyncVirtualMethods\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(AsyncVirtualMethods, self, []) + + @jsii.member(jsii_name=\\"callMe\\") + def call_me(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.ainvoke(self, \\"callMe\\", []) + + @jsii.member(jsii_name=\\"callMe2\\") + def call_me2(self) -> jsii.Number: + \\"\\"\\"Just calls \\"overrideMeToo\\". + + stability + :stability: experimental + \\"\\"\\" + return jsii.ainvoke(self, \\"callMe2\\", []) + + @jsii.member(jsii_name=\\"callMeDoublePromise\\") + def call_me_double_promise(self) -> jsii.Number: + \\"\\"\\"This method calls the \\"callMe\\" async method indirectly, which will then invoke a virtual method. + + This is a \\"double promise\\" situation, which + means that callbacks are not going to be available immediate, but only + after an \\"immediates\\" cycle. + + stability + :stability: experimental + \\"\\"\\" + return jsii.ainvoke(self, \\"callMeDoublePromise\\", []) + + @jsii.member(jsii_name=\\"dontOverrideMe\\") + def dont_override_me(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"dontOverrideMe\\", []) + + @jsii.member(jsii_name=\\"overrideMe\\") + def override_me(self, mult: jsii.Number) -> jsii.Number: + \\"\\"\\" + :param mult: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.ainvoke(self, \\"overrideMe\\", [mult]) + + @jsii.member(jsii_name=\\"overrideMeToo\\") + def override_me_too(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.ainvoke(self, \\"overrideMeToo\\", []) + + +class AugmentableClass(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.AugmentableClass\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(AugmentableClass, self, []) + + @jsii.member(jsii_name=\\"methodOne\\") + def method_one(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"methodOne\\", []) + + @jsii.member(jsii_name=\\"methodTwo\\") + def method_two(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"methodTwo\\", []) + + +class BaseJsii976(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.BaseJsii976\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(BaseJsii976, self, []) + + +@jsii.implements(scope.jsii_calc_lib.IFriendly) +class BinaryOperation( + scope.jsii_calc_lib.Operation, + metaclass=jsii.JSIIAbstractClass, + jsii_type=\\"jsii-calc.BinaryOperation\\", +): + \\"\\"\\"Represents an operation with two operands. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _BinaryOperationProxy + + def __init__( + self, lhs: scope.jsii_calc_lib.Value, rhs: scope.jsii_calc_lib.Value + ) -> None: + \\"\\"\\"Creates a BinaryOperation. + + :param lhs: Left-hand side operand. + :param rhs: Right-hand side operand. + + stability + :stability: experimental + \\"\\"\\" + jsii.create(BinaryOperation, self, [lhs, rhs]) + + @jsii.member(jsii_name=\\"hello\\") + def hello(self) -> str: + \\"\\"\\"Say hello! + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"hello\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"lhs\\") + def lhs(self) -> scope.jsii_calc_lib.Value: + \\"\\"\\"Left-hand side operand. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"lhs\\") + + @builtins.property + @jsii.member(jsii_name=\\"rhs\\") + def rhs(self) -> scope.jsii_calc_lib.Value: + \\"\\"\\"Right-hand side operand. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"rhs\\") + + +class _BinaryOperationProxy( + BinaryOperation, jsii.proxy_for(scope.jsii_calc_lib.Operation) +): + pass + + +class Calculator( + _CompositeOperation_1c4d123b, + metaclass=jsii.JSIIMeta, + jsii_type=\\"jsii-calc.Calculator\\", +): + \\"\\"\\"A calculator which maintains a current value and allows adding operations. + + Here's how you use it:: + + # Example automatically generated. See https://github.com/aws/jsii/issues/826 + calculator = calc.Calculator() + calculator.add(5) + calculator.mul(3) + print(calculator.expression.value) + + I will repeat this example again, but in an @example tag. + + stability + :stability: experimental + + Example:: + + # Example automatically generated. See https://github.com/aws/jsii/issues/826 + calculator = calc.Calculator() + calculator.add(5) + calculator.mul(3) + print(calculator.expression.value) + \\"\\"\\" + + def __init__( + self, + *, + initial_value: typing.Optional[jsii.Number] = None, + maximum_value: typing.Optional[jsii.Number] = None, + ) -> None: + \\"\\"\\"Creates a Calculator object. + + :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 + + stability + :stability: experimental + \\"\\"\\" + props = CalculatorProps( + initial_value=initial_value, maximum_value=maximum_value + ) + + jsii.create(Calculator, self, [props]) + + @jsii.member(jsii_name=\\"add\\") + def add(self, value: jsii.Number) -> None: + \\"\\"\\"Adds a number to the current value. + + :param value: - + + stability + :stability: experimental + \\"\\"\\" + return 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: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"mul\\", [value]) + + @jsii.member(jsii_name=\\"neg\\") + def neg(self) -> None: + \\"\\"\\"Negates the current value. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"neg\\", []) + + @jsii.member(jsii_name=\\"pow\\") + def pow(self, value: jsii.Number) -> None: + \\"\\"\\"Raises the current value by a power. + + :param value: - + + stability + :stability: experimental + \\"\\"\\" + return 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). + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"readUnionValue\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"expression\\") + def expression(self) -> scope.jsii_calc_lib.Value: + \\"\\"\\"Returns the expression. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"expression\\") + + @builtins.property + @jsii.member(jsii_name=\\"operationsLog\\") + def operations_log(self) -> typing.List[scope.jsii_calc_lib.Value]: + \\"\\"\\"A log of all operations. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"operationsLog\\") + + @builtins.property + @jsii.member(jsii_name=\\"operationsMap\\") + def operations_map( + self, + ) -> typing.Mapping[str, typing.List[scope.jsii_calc_lib.Value]]: + \\"\\"\\"A map of per operation name of all operations performed. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"operationsMap\\") + + @builtins.property + @jsii.member(jsii_name=\\"curr\\") + def curr(self) -> scope.jsii_calc_lib.Value: + \\"\\"\\"The current value. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"curr\\") + + @curr.setter + def curr(self, value: scope.jsii_calc_lib.Value) -> None: + 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. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"maxValue\\") + + @max_value.setter + def max_value(self, value: typing.Optional[jsii.Number]) -> None: + jsii.set(self, \\"maxValue\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"unionProperty\\") + def union_property( + self, + ) -> typing.Optional[typing.Union[\\"Add\\", \\"Multiply\\", \\"Power\\"]]: + \\"\\"\\"Example of a property that accepts a union of types. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"unionProperty\\") + + @union_property.setter + def union_property( + self, value: typing.Optional[typing.Union[\\"Add\\", \\"Multiply\\", \\"Power\\"]] + ) -> None: + jsii.set(self, \\"unionProperty\\", value) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.CalculatorProps\\", + jsii_struct_bases=[], + name_mapping={\\"initial_value\\": \\"initialValue\\", \\"maximum_value\\": \\"maximumValue\\"}, +) +class CalculatorProps: + def __init__( + self, + *, + initial_value: typing.Optional[jsii.Number] = None, + maximum_value: typing.Optional[jsii.Number] = None, + ) -> None: + \\"\\"\\"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 + + stability + :stability: experimental + \\"\\"\\" + self._values = {} + if initial_value is not None: + self._values[\\"initial_value\\"] = initial_value + if maximum_value is not None: + self._values[\\"maximum_value\\"] = maximum_value + + @builtins.property + def initial_value(self) -> typing.Optional[jsii.Number]: + \\"\\"\\"The initial value of the calculator. + + NOTE: Any number works here, it's fine. + + default + :default: 0 + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"initial_value\\") + + @builtins.property + def maximum_value(self) -> typing.Optional[jsii.Number]: + \\"\\"\\"The maximum value the calculator can store. + + default + :default: none + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"maximum_value\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"CalculatorProps(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class ClassWithCollections( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ClassWithCollections\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, map: typing.Mapping[str, str], array: typing.List[str]) -> None: + \\"\\"\\" + :param map: - + :param array: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(ClassWithCollections, self, [map, array]) + + @jsii.member(jsii_name=\\"createAList\\") + @builtins.classmethod + def create_a_list(cls) -> typing.List[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"createAList\\", []) + + @jsii.member(jsii_name=\\"createAMap\\") + @builtins.classmethod + def create_a_map(cls) -> typing.Mapping[str, str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"createAMap\\", []) + + @jsii.python.classproperty + @jsii.member(jsii_name=\\"staticArray\\") + def static_array(cls) -> typing.List[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sget(cls, \\"staticArray\\") + + @static_array.setter + def static_array(cls, value: typing.List[str]) -> None: + jsii.sset(cls, \\"staticArray\\", value) + + @jsii.python.classproperty + @jsii.member(jsii_name=\\"staticMap\\") + def static_map(cls) -> typing.Mapping[str, str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sget(cls, \\"staticMap\\") + + @static_map.setter + def static_map(cls, value: typing.Mapping[str, str]) -> None: + jsii.sset(cls, \\"staticMap\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"array\\") + def array(self) -> typing.List[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"array\\") + + @array.setter + def array(self, value: typing.List[str]) -> None: + jsii.set(self, \\"array\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"map\\") + def map(self) -> typing.Mapping[str, str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"map\\") + + @map.setter + def map(self, value: typing.Mapping[str, str]) -> None: + jsii.set(self, \\"map\\", value) + + +class ClassWithDocs(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ClassWithDocs\\"): + \\"\\"\\"This class has docs. + + The docs are great. They're a bunch of tags. + + see + :see: https://aws.amazon.com/ + customAttribute: + :customAttribute:: hasAValue + + Example:: + + # Example automatically generated. See https://github.com/aws/jsii/issues/826 + def an_example(): + pass + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(ClassWithDocs, self, []) + + +class ClassWithJavaReservedWords( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ClassWithJavaReservedWords\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, int: str) -> None: + \\"\\"\\" + :param int: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(ClassWithJavaReservedWords, self, [int]) + + @jsii.member(jsii_name=\\"import\\") + def import_(self, assert_: str) -> str: + \\"\\"\\" + :param assert_: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"import\\", [assert_]) + + @builtins.property + @jsii.member(jsii_name=\\"int\\") + def int(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"int\\") + + +class ClassWithMutableObjectLiteralProperty( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ClassWithMutableObjectLiteralProperty\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(ClassWithMutableObjectLiteralProperty, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"mutableObject\\") + def mutable_object(self) -> \\"IMutableObjectLiteral\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"mutableObject\\") + + @mutable_object.setter + def mutable_object(self, value: \\"IMutableObjectLiteral\\") -> None: + jsii.set(self, \\"mutableObject\\", value) + + +class ConfusingToJackson( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ConfusingToJackson\\" +): + \\"\\"\\"This tries to confuse Jackson by having overloaded property setters. + + see + :see: https://github.com/aws/aws-cdk/issues/4080 + stability + :stability: experimental + \\"\\"\\" + + @jsii.member(jsii_name=\\"makeInstance\\") + @builtins.classmethod + def make_instance(cls) -> \\"ConfusingToJackson\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"makeInstance\\", []) + + @jsii.member(jsii_name=\\"makeStructInstance\\") + @builtins.classmethod + def make_struct_instance(cls) -> \\"ConfusingToJacksonStruct\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"makeStructInstance\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"unionProperty\\") + def union_property( + self, + ) -> typing.Optional[ + typing.Union[ + scope.jsii_calc_lib.IFriendly, + typing.List[typing.Union[scope.jsii_calc_lib.IFriendly, \\"AbstractClass\\"]], + ] + ]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"unionProperty\\") + + @union_property.setter + def union_property( + self, + value: typing.Optional[ + typing.Union[ + scope.jsii_calc_lib.IFriendly, + typing.List[ + typing.Union[scope.jsii_calc_lib.IFriendly, \\"AbstractClass\\"] + ], + ] + ], + ) -> None: + jsii.set(self, \\"unionProperty\\", value) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.ConfusingToJacksonStruct\\", + jsii_struct_bases=[], + name_mapping={\\"union_property\\": \\"unionProperty\\"}, +) +class ConfusingToJacksonStruct: + def __init__( + self, + *, + union_property: typing.Optional[ + typing.Union[ + scope.jsii_calc_lib.IFriendly, + typing.List[ + typing.Union[scope.jsii_calc_lib.IFriendly, \\"AbstractClass\\"] + ], + ] + ] = None, + ) -> None: + \\"\\"\\" + :param union_property: + + stability + :stability: experimental + \\"\\"\\" + self._values = {} + if union_property is not None: + self._values[\\"union_property\\"] = union_property + + @builtins.property + def union_property( + self, + ) -> typing.Optional[ + typing.Union[ + scope.jsii_calc_lib.IFriendly, + typing.List[typing.Union[scope.jsii_calc_lib.IFriendly, \\"AbstractClass\\"]], + ] + ]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"union_property\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"ConfusingToJacksonStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class ConstructorPassesThisOut( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ConstructorPassesThisOut\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, consumer: \\"PartiallyInitializedThisConsumer\\") -> None: + \\"\\"\\" + :param consumer: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(ConstructorPassesThisOut, self, [consumer]) + + +class Constructors(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Constructors\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(Constructors, self, []) + + @jsii.member(jsii_name=\\"hiddenInterface\\") + @builtins.classmethod + def hidden_interface(cls) -> \\"IPublicInterface\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"hiddenInterface\\", []) + + @jsii.member(jsii_name=\\"hiddenInterfaces\\") + @builtins.classmethod + def hidden_interfaces(cls) -> typing.List[\\"IPublicInterface\\"]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"hiddenInterfaces\\", []) + + @jsii.member(jsii_name=\\"hiddenSubInterfaces\\") + @builtins.classmethod + def hidden_sub_interfaces(cls) -> typing.List[\\"IPublicInterface\\"]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"hiddenSubInterfaces\\", []) + + @jsii.member(jsii_name=\\"makeClass\\") + @builtins.classmethod + def make_class(cls) -> \\"PublicClass\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"makeClass\\", []) + + @jsii.member(jsii_name=\\"makeInterface\\") + @builtins.classmethod + def make_interface(cls) -> \\"IPublicInterface\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"makeInterface\\", []) + + @jsii.member(jsii_name=\\"makeInterface2\\") + @builtins.classmethod + def make_interface2(cls) -> \\"IPublicInterface2\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"makeInterface2\\", []) + + @jsii.member(jsii_name=\\"makeInterfaces\\") + @builtins.classmethod + def make_interfaces(cls) -> typing.List[\\"IPublicInterface\\"]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"makeInterfaces\\", []) + + +class ConsumePureInterface( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ConsumePureInterface\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, delegate: \\"IStructReturningDelegate\\") -> None: + \\"\\"\\" + :param delegate: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(ConsumePureInterface, self, [delegate]) + + @jsii.member(jsii_name=\\"workItBaby\\") + def work_it_baby(self) -> \\"StructB\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"workItBaby\\", []) + + +class ConsumerCanRingBell( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ConsumerCanRingBell\\" +): + \\"\\"\\"Test calling back to consumers that implement interfaces. + + Check that if a JSII consumer implements IConsumerWithInterfaceParam, they can call + the method on the argument that they're passed... + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(ConsumerCanRingBell, self, []) + + @jsii.member(jsii_name=\\"staticImplementedByObjectLiteral\\") + @builtins.classmethod + def static_implemented_by_object_literal(cls, ringer: \\"IBellRinger\\") -> bool: + \\"\\"\\"...if the interface is implemented using an object literal. + + Returns whether the bell was rung. + + :param ringer: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"staticImplementedByObjectLiteral\\", [ringer]) + + @jsii.member(jsii_name=\\"staticImplementedByPrivateClass\\") + @builtins.classmethod + def static_implemented_by_private_class(cls, ringer: \\"IBellRinger\\") -> bool: + \\"\\"\\"...if the interface is implemented using a private class. + + Return whether the bell was rung. + + :param ringer: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"staticImplementedByPrivateClass\\", [ringer]) + + @jsii.member(jsii_name=\\"staticImplementedByPublicClass\\") + @builtins.classmethod + def static_implemented_by_public_class(cls, ringer: \\"IBellRinger\\") -> bool: + \\"\\"\\"...if the interface is implemented using a public class. + + Return whether the bell was rung. + + :param ringer: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"staticImplementedByPublicClass\\", [ringer]) + + @jsii.member(jsii_name=\\"staticWhenTypedAsClass\\") + @builtins.classmethod + def static_when_typed_as_class(cls, ringer: \\"IConcreteBellRinger\\") -> bool: + \\"\\"\\"If the parameter is a concrete class instead of an interface. + + Return whether the bell was rung. + + :param ringer: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"staticWhenTypedAsClass\\", [ringer]) + + @jsii.member(jsii_name=\\"implementedByObjectLiteral\\") + def implemented_by_object_literal(self, ringer: \\"IBellRinger\\") -> bool: + \\"\\"\\"...if the interface is implemented using an object literal. + + Returns whether the bell was rung. + + :param ringer: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"implementedByObjectLiteral\\", [ringer]) + + @jsii.member(jsii_name=\\"implementedByPrivateClass\\") + def implemented_by_private_class(self, ringer: \\"IBellRinger\\") -> bool: + \\"\\"\\"...if the interface is implemented using a private class. + + Return whether the bell was rung. + + :param ringer: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"implementedByPrivateClass\\", [ringer]) + + @jsii.member(jsii_name=\\"implementedByPublicClass\\") + def implemented_by_public_class(self, ringer: \\"IBellRinger\\") -> bool: + \\"\\"\\"...if the interface is implemented using a public class. + + Return whether the bell was rung. + + :param ringer: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"implementedByPublicClass\\", [ringer]) + + @jsii.member(jsii_name=\\"whenTypedAsClass\\") + def when_typed_as_class(self, ringer: \\"IConcreteBellRinger\\") -> bool: + \\"\\"\\"If the parameter is a concrete class instead of an interface. + + Return whether the bell was rung. + + :param ringer: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"whenTypedAsClass\\", [ringer]) + + +class ConsumersOfThisCrazyTypeSystem( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ConsumersOfThisCrazyTypeSystem\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(ConsumersOfThisCrazyTypeSystem, self, []) + + @jsii.member(jsii_name=\\"consumeAnotherPublicInterface\\") + def consume_another_public_interface(self, obj: \\"IAnotherPublicInterface\\") -> str: + \\"\\"\\" + :param obj: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"consumeAnotherPublicInterface\\", [obj]) + + @jsii.member(jsii_name=\\"consumeNonInternalInterface\\") + def consume_non_internal_interface( + self, obj: \\"INonInternalInterface\\" + ) -> typing.Any: + \\"\\"\\" + :param obj: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"consumeNonInternalInterface\\", [obj]) + + +class DataRenderer(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.DataRenderer\\"): + \\"\\"\\"Verifies proper type handling through dynamic overrides. + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(DataRenderer, self, []) + + @jsii.member(jsii_name=\\"render\\") + def render( + self, + *, + anumber: jsii.Number, + astring: str, + first_optional: typing.Optional[typing.List[str]] = None, + ) -> str: + \\"\\"\\" + :param anumber: An awesome number value. + :param astring: A string value. + :param first_optional: + + stability + :stability: experimental + \\"\\"\\" + data = scope.jsii_calc_lib.MyFirstStruct( + anumber=anumber, astring=astring, first_optional=first_optional + ) + + return jsii.invoke(self, \\"render\\", [data]) + + @jsii.member(jsii_name=\\"renderArbitrary\\") + def render_arbitrary(self, data: typing.Mapping[str, typing.Any]) -> str: + \\"\\"\\" + :param data: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"renderArbitrary\\", [data]) + + @jsii.member(jsii_name=\\"renderMap\\") + def render_map(self, map: typing.Mapping[str, typing.Any]) -> str: + \\"\\"\\" + :param map: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"renderMap\\", [map]) + + +class DefaultedConstructorArgument( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.DefaultedConstructorArgument\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__( + self, + arg1: typing.Optional[jsii.Number] = None, + arg2: typing.Optional[str] = None, + arg3: typing.Optional[datetime.datetime] = None, + ) -> None: + \\"\\"\\" + :param arg1: - + :param arg2: - + :param arg3: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(DefaultedConstructorArgument, self, [arg1, arg2, arg3]) + + @builtins.property + @jsii.member(jsii_name=\\"arg1\\") + def arg1(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"arg1\\") + + @builtins.property + @jsii.member(jsii_name=\\"arg3\\") + def arg3(self) -> datetime.datetime: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"arg3\\") + + @builtins.property + @jsii.member(jsii_name=\\"arg2\\") + def arg2(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"arg2\\") + + +class Demonstrate982(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Demonstrate982\\"): + \\"\\"\\"1. + + call #takeThis() -> An ObjectRef will be provisioned for the value (it'll be re-used!) + 2. call #takeThisToo() -> The ObjectRef from before will need to be down-cased to the ParentStruct982 type + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(Demonstrate982, self, []) + + @jsii.member(jsii_name=\\"takeThis\\") + @builtins.classmethod + def take_this(cls) -> \\"ChildStruct982\\": + \\"\\"\\"It's dangerous to go alone! + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"takeThis\\", []) + + @jsii.member(jsii_name=\\"takeThisToo\\") + @builtins.classmethod + def take_this_too(cls) -> \\"ParentStruct982\\": + \\"\\"\\"It's dangerous to go alone! + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"takeThisToo\\", []) + + +class DeprecatedClass(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.DeprecatedClass\\"): + \\"\\"\\" + deprecated + :deprecated: a pretty boring class + + stability + :stability: deprecated + \\"\\"\\" + + def __init__( + self, readonly_string: str, mutable_number: typing.Optional[jsii.Number] = None + ) -> None: + \\"\\"\\" + :param readonly_string: - + :param mutable_number: - + + deprecated + :deprecated: this constructor is \\"just\\" okay + + stability + :stability: deprecated + \\"\\"\\" + jsii.create(DeprecatedClass, self, [readonly_string, mutable_number]) + + @jsii.member(jsii_name=\\"method\\") + def method(self) -> None: + \\"\\"\\" + deprecated + :deprecated: it was a bad idea + + stability + :stability: deprecated + \\"\\"\\" + return jsii.invoke(self, \\"method\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"readonlyProperty\\") + def readonly_property(self) -> str: + \\"\\"\\" + deprecated + :deprecated: this is not always \\"wazoo\\", be ready to be disappointed + + stability + :stability: deprecated + \\"\\"\\" + return jsii.get(self, \\"readonlyProperty\\") + + @builtins.property + @jsii.member(jsii_name=\\"mutableProperty\\") + def mutable_property(self) -> typing.Optional[jsii.Number]: + \\"\\"\\" + deprecated + :deprecated: shouldn't have been mutable + + stability + :stability: deprecated + \\"\\"\\" + return jsii.get(self, \\"mutableProperty\\") + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: + jsii.set(self, \\"mutableProperty\\", value) + + +@jsii.enum(jsii_type=\\"jsii-calc.DeprecatedEnum\\") +class DeprecatedEnum(enum.Enum): + \\"\\"\\" + deprecated + :deprecated: your deprecated selection of bad options + + stability + :stability: deprecated + \\"\\"\\" + + OPTION_A = \\"OPTION_A\\" + \\"\\"\\" + deprecated + :deprecated: option A is not great + + stability + :stability: deprecated + \\"\\"\\" + OPTION_B = \\"OPTION_B\\" + \\"\\"\\" + deprecated + :deprecated: option B is kinda bad, too + + stability + :stability: deprecated + \\"\\"\\" + + +@jsii.data_type( + jsii_type=\\"jsii-calc.DeprecatedStruct\\", + jsii_struct_bases=[], + name_mapping={\\"readonly_property\\": \\"readonlyProperty\\"}, +) +class DeprecatedStruct: + def __init__(self, *, readonly_property: str) -> None: + \\"\\"\\" + :param readonly_property: + + deprecated + :deprecated: it just wraps a string + + stability + :stability: deprecated + \\"\\"\\" + self._values = { + \\"readonly_property\\": readonly_property, + } + + @builtins.property + def readonly_property(self) -> str: + \\"\\"\\" + deprecated + :deprecated: well, yeah + + stability + :stability: deprecated + \\"\\"\\" + return self._values.get(\\"readonly_property\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"DeprecatedStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.DerivedStruct\\", + jsii_struct_bases=[scope.jsii_calc_lib.MyFirstStruct], + name_mapping={ + \\"anumber\\": \\"anumber\\", + \\"astring\\": \\"astring\\", + \\"first_optional\\": \\"firstOptional\\", + \\"another_required\\": \\"anotherRequired\\", + \\"bool\\": \\"bool\\", + \\"non_primitive\\": \\"nonPrimitive\\", + \\"another_optional\\": \\"anotherOptional\\", + \\"optional_any\\": \\"optionalAny\\", + \\"optional_array\\": \\"optionalArray\\", + }, +) +class DerivedStruct(scope.jsii_calc_lib.MyFirstStruct): + def __init__( + self, + *, + anumber: jsii.Number, + astring: str, + first_optional: typing.Optional[typing.List[str]] = None, + another_required: datetime.datetime, + bool: bool, + non_primitive: \\"DoubleTrouble\\", + another_optional: typing.Optional[ + typing.Mapping[str, scope.jsii_calc_lib.Value] + ] = None, + optional_any: typing.Any = None, + optional_array: typing.Optional[typing.List[str]] = None, + ) -> None: + \\"\\"\\"A struct which derives from another struct. + + :param anumber: An awesome number value. + :param astring: A string value. + :param first_optional: + :param another_required: + :param bool: + :param non_primitive: An example of a non primitive property. + :param another_optional: This is optional. + :param optional_any: + :param optional_array: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"anumber\\": anumber, + \\"astring\\": astring, + \\"another_required\\": another_required, + \\"bool\\": bool, + \\"non_primitive\\": non_primitive, + } + if first_optional is not None: + self._values[\\"first_optional\\"] = first_optional + if another_optional is not None: + self._values[\\"another_optional\\"] = another_optional + if optional_any is not None: + self._values[\\"optional_any\\"] = optional_any + if optional_array is not None: + self._values[\\"optional_array\\"] = optional_array + + @builtins.property + def anumber(self) -> jsii.Number: + \\"\\"\\"An awesome number value. + + stability + :stability: deprecated + \\"\\"\\" + return self._values.get(\\"anumber\\") + + @builtins.property + def astring(self) -> str: + \\"\\"\\"A string value. + + stability + :stability: deprecated + \\"\\"\\" + return self._values.get(\\"astring\\") + + @builtins.property + def first_optional(self) -> typing.Optional[typing.List[str]]: + \\"\\"\\" + stability + :stability: deprecated + \\"\\"\\" + return self._values.get(\\"first_optional\\") + + @builtins.property + def another_required(self) -> datetime.datetime: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"another_required\\") + + @builtins.property + def bool(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"bool\\") + + @builtins.property + def non_primitive(self) -> \\"DoubleTrouble\\": + \\"\\"\\"An example of a non primitive property. + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"non_primitive\\") + + @builtins.property + def another_optional( + self, + ) -> typing.Optional[typing.Mapping[str, scope.jsii_calc_lib.Value]]: + \\"\\"\\"This is optional. + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"another_optional\\") + + @builtins.property + def optional_any(self) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"optional_any\\") + + @builtins.property + def optional_array(self) -> typing.Optional[typing.List[str]]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"optional_array\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"DerivedStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.DiamondInheritanceBaseLevelStruct\\", + jsii_struct_bases=[], + name_mapping={\\"base_level_property\\": \\"baseLevelProperty\\"}, +) +class DiamondInheritanceBaseLevelStruct: + def __init__(self, *, base_level_property: str) -> None: + \\"\\"\\" + :param base_level_property: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"base_level_property\\": base_level_property, + } + + @builtins.property + def base_level_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"base_level_property\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"DiamondInheritanceBaseLevelStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.DiamondInheritanceFirstMidLevelStruct\\", + jsii_struct_bases=[DiamondInheritanceBaseLevelStruct], + name_mapping={ + \\"base_level_property\\": \\"baseLevelProperty\\", + \\"first_mid_level_property\\": \\"firstMidLevelProperty\\", + }, +) +class DiamondInheritanceFirstMidLevelStruct(DiamondInheritanceBaseLevelStruct): + def __init__( + self, *, base_level_property: str, first_mid_level_property: str + ) -> None: + \\"\\"\\" + :param base_level_property: + :param first_mid_level_property: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"base_level_property\\": base_level_property, + \\"first_mid_level_property\\": first_mid_level_property, + } + + @builtins.property + def base_level_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"base_level_property\\") + + @builtins.property + def first_mid_level_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"first_mid_level_property\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"DiamondInheritanceFirstMidLevelStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.DiamondInheritanceSecondMidLevelStruct\\", + jsii_struct_bases=[DiamondInheritanceBaseLevelStruct], + name_mapping={ + \\"base_level_property\\": \\"baseLevelProperty\\", + \\"second_mid_level_property\\": \\"secondMidLevelProperty\\", + }, +) +class DiamondInheritanceSecondMidLevelStruct(DiamondInheritanceBaseLevelStruct): + def __init__( + self, *, base_level_property: str, second_mid_level_property: str + ) -> None: + \\"\\"\\" + :param base_level_property: + :param second_mid_level_property: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"base_level_property\\": base_level_property, + \\"second_mid_level_property\\": second_mid_level_property, + } + + @builtins.property + def base_level_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"base_level_property\\") + + @builtins.property + def second_mid_level_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"second_mid_level_property\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"DiamondInheritanceSecondMidLevelStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.DiamondInheritanceTopLevelStruct\\", + jsii_struct_bases=[ + DiamondInheritanceFirstMidLevelStruct, + DiamondInheritanceSecondMidLevelStruct, + ], + name_mapping={ + \\"base_level_property\\": \\"baseLevelProperty\\", + \\"first_mid_level_property\\": \\"firstMidLevelProperty\\", + \\"second_mid_level_property\\": \\"secondMidLevelProperty\\", + \\"top_level_property\\": \\"topLevelProperty\\", + }, +) +class DiamondInheritanceTopLevelStruct( + DiamondInheritanceFirstMidLevelStruct, DiamondInheritanceSecondMidLevelStruct +): + def __init__( + self, + *, + base_level_property: str, + first_mid_level_property: str, + second_mid_level_property: str, + top_level_property: str, + ) -> None: + \\"\\"\\" + :param base_level_property: + :param first_mid_level_property: + :param second_mid_level_property: + :param top_level_property: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"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, + } + + @builtins.property + def base_level_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"base_level_property\\") + + @builtins.property + def first_mid_level_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"first_mid_level_property\\") + + @builtins.property + def second_mid_level_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"second_mid_level_property\\") + + @builtins.property + def top_level_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"top_level_property\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"DiamondInheritanceTopLevelStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class DisappointingCollectionSource( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.DisappointingCollectionSource\\" +): + \\"\\"\\"Verifies that null/undefined can be returned for optional collections. + + This source of collections is disappointing - it'll always give you nothing :( + + stability + :stability: experimental + \\"\\"\\" + + @jsii.python.classproperty + @jsii.member(jsii_name=\\"maybeList\\") + def MAYBE_LIST(cls) -> typing.Optional[typing.List[str]]: + \\"\\"\\"Some List of strings, maybe? + + (Nah, just a billion dollars mistake!) + + stability + :stability: experimental + \\"\\"\\" + return jsii.sget(cls, \\"maybeList\\") + + @jsii.python.classproperty + @jsii.member(jsii_name=\\"maybeMap\\") + def MAYBE_MAP(cls) -> typing.Optional[typing.Mapping[str, jsii.Number]]: + \\"\\"\\"Some Map of strings to numbers, maybe? + + (Nah, just a billion dollars mistake!) + + stability + :stability: experimental + \\"\\"\\" + return jsii.sget(cls, \\"maybeMap\\") + + +class DoNotOverridePrivates( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.DoNotOverridePrivates\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(DoNotOverridePrivates, self, []) + + @jsii.member(jsii_name=\\"changePrivatePropertyValue\\") + def change_private_property_value(self, new_value: str) -> None: + \\"\\"\\" + :param new_value: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"changePrivatePropertyValue\\", [new_value]) + + @jsii.member(jsii_name=\\"privateMethodValue\\") + def private_method_value(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"privateMethodValue\\", []) + + @jsii.member(jsii_name=\\"privatePropertyValue\\") + def private_property_value(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"privatePropertyValue\\", []) + + +class DoNotRecognizeAnyAsOptional( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.DoNotRecognizeAnyAsOptional\\" +): + \\"\\"\\"jsii#284: do not recognize \\"any\\" as an optional argument. + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(DoNotRecognizeAnyAsOptional, self, []) + + @jsii.member(jsii_name=\\"method\\") + def method( + self, + _required_any: typing.Any, + _optional_any: typing.Any = None, + _optional_string: typing.Optional[str] = None, + ) -> None: + \\"\\"\\" + :param _required_any: - + :param _optional_any: - + :param _optional_string: - + + stability + :stability: experimental + \\"\\"\\" + return 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. + + This is the meat of the TSDoc comment. It may contain + multiple lines and multiple paragraphs. + + Multiple paragraphs are separated by an empty line. + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(DocumentedClass, self, []) + + @jsii.member(jsii_name=\\"greet\\") + def greet(self, *, name: typing.Optional[str] = None) -> jsii.Number: + \\"\\"\\"Greet the indicated person. + + This will print out a friendly greeting intended for + the indicated person. + + :param name: The name of the greetee. Default: world + + return + :return: A number that everyone knows very well + \\"\\"\\" + greetee = Greetee(name=name) + + return jsii.invoke(self, \\"greet\\", [greetee]) + + @jsii.member(jsii_name=\\"hola\\") + def hola(self) -> None: + \\"\\"\\"Say ¡Hola! + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"hola\\", []) + + +class DontComplainAboutVariadicAfterOptional( + metaclass=jsii.JSIIMeta, + jsii_type=\\"jsii-calc.DontComplainAboutVariadicAfterOptional\\", +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(DontComplainAboutVariadicAfterOptional, self, []) + + @jsii.member(jsii_name=\\"optionalAndVariadic\\") + def optional_and_variadic( + self, optional: typing.Optional[str] = None, *things: str + ) -> str: + \\"\\"\\" + :param optional: - + :param things: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"optionalAndVariadic\\", [optional, *things]) + + +class EnumDispenser(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.EnumDispenser\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @jsii.member(jsii_name=\\"randomIntegerLikeEnum\\") + @builtins.classmethod + def random_integer_like_enum(cls) -> \\"AllTypesEnum\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"randomIntegerLikeEnum\\", []) + + @jsii.member(jsii_name=\\"randomStringLikeEnum\\") + @builtins.classmethod + def random_string_like_enum(cls) -> \\"StringEnum\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"randomStringLikeEnum\\", []) + + +class EraseUndefinedHashValues( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.EraseUndefinedHashValues\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(EraseUndefinedHashValues, self, []) + + @jsii.member(jsii_name=\\"doesKeyExist\\") + @builtins.classmethod + def does_key_exist(cls, opts: \\"EraseUndefinedHashValuesOptions\\", key: str) -> bool: + \\"\\"\\"Returns \`\`true\`\` if \`\`key\`\` is defined in \`\`opts\`\`. + + Used to check that undefined/null hash values + are being erased when sending values from native code to JS. + + :param opts: - + :param key: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"doesKeyExist\\", [opts, key]) + + @jsii.member(jsii_name=\\"prop1IsNull\\") + @builtins.classmethod + def prop1_is_null(cls) -> typing.Mapping[str, typing.Any]: + \\"\\"\\"We expect \\"prop1\\" to be erased. + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"prop1IsNull\\", []) + + @jsii.member(jsii_name=\\"prop2IsUndefined\\") + @builtins.classmethod + def prop2_is_undefined(cls) -> typing.Mapping[str, typing.Any]: + \\"\\"\\"We expect \\"prop2\\" to be erased. + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"prop2IsUndefined\\", []) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.EraseUndefinedHashValuesOptions\\", + jsii_struct_bases=[], + name_mapping={\\"option1\\": \\"option1\\", \\"option2\\": \\"option2\\"}, +) +class EraseUndefinedHashValuesOptions: + def __init__( + self, + *, + option1: typing.Optional[str] = None, + option2: typing.Optional[str] = None, + ) -> None: + \\"\\"\\" + :param option1: + :param option2: + + stability + :stability: experimental + \\"\\"\\" + self._values = {} + if option1 is not None: + self._values[\\"option1\\"] = option1 + if option2 is not None: + self._values[\\"option2\\"] = option2 + + @builtins.property + def option1(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"option1\\") + + @builtins.property + def option2(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"option2\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"EraseUndefinedHashValuesOptions(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class ExperimentalClass( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ExperimentalClass\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__( + self, readonly_string: str, mutable_number: typing.Optional[jsii.Number] = None + ) -> None: + \\"\\"\\" + :param readonly_string: - + :param mutable_number: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(ExperimentalClass, self, [readonly_string, mutable_number]) + + @jsii.member(jsii_name=\\"method\\") + def method(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"method\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"readonlyProperty\\") + def readonly_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"readonlyProperty\\") + + @builtins.property + @jsii.member(jsii_name=\\"mutableProperty\\") + def mutable_property(self) -> typing.Optional[jsii.Number]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"mutableProperty\\") + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: + jsii.set(self, \\"mutableProperty\\", value) + + +@jsii.enum(jsii_type=\\"jsii-calc.ExperimentalEnum\\") +class ExperimentalEnum(enum.Enum): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + OPTION_A = \\"OPTION_A\\" + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + OPTION_B = \\"OPTION_B\\" + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + +@jsii.data_type( + jsii_type=\\"jsii-calc.ExperimentalStruct\\", + jsii_struct_bases=[], + name_mapping={\\"readonly_property\\": \\"readonlyProperty\\"}, +) +class ExperimentalStruct: + def __init__(self, *, readonly_property: str) -> None: + \\"\\"\\" + :param readonly_property: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"readonly_property\\": readonly_property, + } + + @builtins.property + def readonly_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"readonly_property\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"ExperimentalStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class ExportedBaseClass( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ExportedBaseClass\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, success: bool) -> None: + \\"\\"\\" + :param success: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(ExportedBaseClass, self, [success]) + + @builtins.property + @jsii.member(jsii_name=\\"success\\") + def success(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"success\\") + + +@jsii.data_type( + jsii_type=\\"jsii-calc.ExtendsInternalInterface\\", + jsii_struct_bases=[], + name_mapping={\\"boom\\": \\"boom\\", \\"prop\\": \\"prop\\"}, +) +class ExtendsInternalInterface: + def __init__(self, *, boom: bool, prop: str) -> None: + \\"\\"\\" + :param boom: + :param prop: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"boom\\": boom, + \\"prop\\": prop, + } + + @builtins.property + def boom(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"boom\\") + + @builtins.property + def prop(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"prop\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"ExtendsInternalInterface(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class ExternalClass(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ExternalClass\\"): + \\"\\"\\" + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + + def __init__( + self, readonly_string: str, mutable_number: typing.Optional[jsii.Number] = None + ) -> None: + \\"\\"\\" + :param readonly_string: - + :param mutable_number: - + + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + jsii.create(ExternalClass, self, [readonly_string, mutable_number]) + + @jsii.member(jsii_name=\\"method\\") + def method(self) -> None: + \\"\\"\\" + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + return jsii.invoke(self, \\"method\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"readonlyProperty\\") + def readonly_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + return jsii.get(self, \\"readonlyProperty\\") + + @builtins.property + @jsii.member(jsii_name=\\"mutableProperty\\") + def mutable_property(self) -> typing.Optional[jsii.Number]: + \\"\\"\\" + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + return jsii.get(self, \\"mutableProperty\\") + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: + jsii.set(self, \\"mutableProperty\\", value) + + +@jsii.enum(jsii_type=\\"jsii-calc.ExternalEnum\\") +class ExternalEnum(enum.Enum): + \\"\\"\\" + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + + OPTION_A = \\"OPTION_A\\" + \\"\\"\\" + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + OPTION_B = \\"OPTION_B\\" + \\"\\"\\" + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + + +@jsii.data_type( + jsii_type=\\"jsii-calc.ExternalStruct\\", + jsii_struct_bases=[], + name_mapping={\\"readonly_property\\": \\"readonlyProperty\\"}, +) +class ExternalStruct: + def __init__(self, *, readonly_property: str) -> None: + \\"\\"\\" + :param readonly_property: + + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + self._values = { + \\"readonly_property\\": readonly_property, + } + + @builtins.property + def readonly_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + return self._values.get(\\"readonly_property\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"ExternalStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class GiveMeStructs(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.GiveMeStructs\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(GiveMeStructs, self, []) + + @jsii.member(jsii_name=\\"derivedToFirst\\") + def derived_to_first( + self, + *, + another_required: datetime.datetime, + bool: bool, + non_primitive: \\"DoubleTrouble\\", + another_optional: typing.Optional[ + typing.Mapping[str, scope.jsii_calc_lib.Value] + ] = None, + optional_any: typing.Any = None, + optional_array: typing.Optional[typing.List[str]] = None, + anumber: jsii.Number, + astring: str, + first_optional: typing.Optional[typing.List[str]] = None, + ) -> scope.jsii_calc_lib.MyFirstStruct: + \\"\\"\\"Accepts a struct of type DerivedStruct and returns a struct of type FirstStruct. + + :param another_required: + :param bool: + :param non_primitive: An example of a non primitive property. + :param another_optional: This is optional. + :param optional_any: + :param optional_array: + :param anumber: An awesome number value. + :param astring: A string value. + :param first_optional: + + stability + :stability: experimental + \\"\\"\\" + derived = DerivedStruct( + another_required=another_required, + bool=bool, + non_primitive=non_primitive, + another_optional=another_optional, + optional_any=optional_any, + optional_array=optional_array, + anumber=anumber, + astring=astring, + first_optional=first_optional, + ) + + return jsii.invoke(self, \\"derivedToFirst\\", [derived]) + + @jsii.member(jsii_name=\\"readDerivedNonPrimitive\\") + def read_derived_non_primitive( + self, + *, + another_required: datetime.datetime, + bool: bool, + non_primitive: \\"DoubleTrouble\\", + another_optional: typing.Optional[ + typing.Mapping[str, scope.jsii_calc_lib.Value] + ] = None, + optional_any: typing.Any = None, + optional_array: typing.Optional[typing.List[str]] = None, + anumber: jsii.Number, + astring: str, + first_optional: typing.Optional[typing.List[str]] = None, + ) -> \\"DoubleTrouble\\": + \\"\\"\\"Returns the boolean from a DerivedStruct struct. + + :param another_required: + :param bool: + :param non_primitive: An example of a non primitive property. + :param another_optional: This is optional. + :param optional_any: + :param optional_array: + :param anumber: An awesome number value. + :param astring: A string value. + :param first_optional: + + stability + :stability: experimental + \\"\\"\\" + derived = DerivedStruct( + another_required=another_required, + bool=bool, + non_primitive=non_primitive, + another_optional=another_optional, + optional_any=optional_any, + optional_array=optional_array, + anumber=anumber, + astring=astring, + first_optional=first_optional, + ) + + return jsii.invoke(self, \\"readDerivedNonPrimitive\\", [derived]) + + @jsii.member(jsii_name=\\"readFirstNumber\\") + def read_first_number( + self, + *, + anumber: jsii.Number, + astring: str, + first_optional: typing.Optional[typing.List[str]] = None, + ) -> jsii.Number: + \\"\\"\\"Returns the \\"anumber\\" from a MyFirstStruct struct; + + :param anumber: An awesome number value. + :param astring: A string value. + :param first_optional: + + stability + :stability: experimental + \\"\\"\\" + first = scope.jsii_calc_lib.MyFirstStruct( + anumber=anumber, astring=astring, first_optional=first_optional + ) + + return jsii.invoke(self, \\"readFirstNumber\\", [first]) + + @builtins.property + @jsii.member(jsii_name=\\"structLiteral\\") + def struct_literal(self) -> scope.jsii_calc_lib.StructWithOnlyOptionals: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"structLiteral\\") + + +@jsii.data_type( + jsii_type=\\"jsii-calc.Greetee\\", jsii_struct_bases=[], name_mapping={\\"name\\": \\"name\\"} +) +class Greetee: + def __init__(self, *, name: typing.Optional[str] = None) -> None: + \\"\\"\\"These are some arguments you can pass to a method. + + :param name: The name of the greetee. Default: world + + stability + :stability: experimental + \\"\\"\\" + self._values = {} + if name is not None: + self._values[\\"name\\"] = name + + @builtins.property + def name(self) -> typing.Optional[str]: + \\"\\"\\"The name of the greetee. + + default + :default: world + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"name\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"Greetee(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class GreetingAugmenter( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.GreetingAugmenter\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(GreetingAugmenter, self, []) + + @jsii.member(jsii_name=\\"betterGreeting\\") + def better_greeting(self, friendly: scope.jsii_calc_lib.IFriendly) -> str: + \\"\\"\\" + :param friendly: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"betterGreeting\\", [friendly]) + + +@jsii.interface(jsii_type=\\"jsii-calc.IAnonymousImplementationProvider\\") +class IAnonymousImplementationProvider(jsii.compat.Protocol): + \\"\\"\\"We can return an anonymous interface implementation from an override without losing the interface declarations. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IAnonymousImplementationProviderProxy + + @jsii.member(jsii_name=\\"provideAsClass\\") + def provide_as_class(self) -> \\"Implementation\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @jsii.member(jsii_name=\\"provideAsInterface\\") + def provide_as_interface(self) -> \\"IAnonymouslyImplementMe\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IAnonymousImplementationProviderProxy: + \\"\\"\\"We can return an anonymous interface implementation from an override without losing the interface declarations. + + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IAnonymousImplementationProvider\\" + + @jsii.member(jsii_name=\\"provideAsClass\\") + def provide_as_class(self) -> \\"Implementation\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"provideAsClass\\", []) + + @jsii.member(jsii_name=\\"provideAsInterface\\") + def provide_as_interface(self) -> \\"IAnonymouslyImplementMe\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"provideAsInterface\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IAnonymouslyImplementMe\\") +class IAnonymouslyImplementMe(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IAnonymouslyImplementMeProxy + + @builtins.property + @jsii.member(jsii_name=\\"value\\") + def value(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @jsii.member(jsii_name=\\"verb\\") + def verb(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IAnonymouslyImplementMeProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IAnonymouslyImplementMe\\" + + @builtins.property + @jsii.member(jsii_name=\\"value\\") + def value(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"value\\") + + @jsii.member(jsii_name=\\"verb\\") + def verb(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"verb\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IAnotherPublicInterface\\") +class IAnotherPublicInterface(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IAnotherPublicInterfaceProxy + + @builtins.property + @jsii.member(jsii_name=\\"a\\") + def a(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @a.setter + def a(self, value: str) -> None: + ... + + +class _IAnotherPublicInterfaceProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IAnotherPublicInterface\\" + + @builtins.property + @jsii.member(jsii_name=\\"a\\") + def a(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"a\\") + + @a.setter + def a(self, value: str) -> None: + jsii.set(self, \\"a\\", value) + + +@jsii.interface(jsii_type=\\"jsii-calc.IBell\\") +class IBell(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IBellProxy + + @jsii.member(jsii_name=\\"ring\\") + def ring(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IBellProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IBell\\" + + @jsii.member(jsii_name=\\"ring\\") + def ring(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"ring\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IBellRinger\\") +class IBellRinger(jsii.compat.Protocol): + \\"\\"\\"Takes the object parameter as an interface. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IBellRingerProxy + + @jsii.member(jsii_name=\\"yourTurn\\") + def your_turn(self, bell: \\"IBell\\") -> None: + \\"\\"\\" + :param bell: - + + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IBellRingerProxy: + \\"\\"\\"Takes the object parameter as an interface. + + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IBellRinger\\" + + @jsii.member(jsii_name=\\"yourTurn\\") + def your_turn(self, bell: \\"IBell\\") -> None: + \\"\\"\\" + :param bell: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"yourTurn\\", [bell]) + + +@jsii.interface(jsii_type=\\"jsii-calc.IConcreteBellRinger\\") +class IConcreteBellRinger(jsii.compat.Protocol): + \\"\\"\\"Takes the object parameter as a calss. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IConcreteBellRingerProxy + + @jsii.member(jsii_name=\\"yourTurn\\") + def your_turn(self, bell: \\"Bell\\") -> None: + \\"\\"\\" + :param bell: - + + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IConcreteBellRingerProxy: + \\"\\"\\"Takes the object parameter as a calss. + + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IConcreteBellRinger\\" + + @jsii.member(jsii_name=\\"yourTurn\\") + def your_turn(self, bell: \\"Bell\\") -> None: + \\"\\"\\" + :param bell: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"yourTurn\\", [bell]) + + +@jsii.interface(jsii_type=\\"jsii-calc.IDeprecatedInterface\\") +class IDeprecatedInterface(jsii.compat.Protocol): + \\"\\"\\" + deprecated + :deprecated: useless interface + + stability + :stability: deprecated + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IDeprecatedInterfaceProxy + + @builtins.property + @jsii.member(jsii_name=\\"mutableProperty\\") + def mutable_property(self) -> typing.Optional[jsii.Number]: + \\"\\"\\" + deprecated + :deprecated: could be better + + stability + :stability: deprecated + \\"\\"\\" + ... + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: + ... + + @jsii.member(jsii_name=\\"method\\") + def method(self) -> None: + \\"\\"\\" + deprecated + :deprecated: services no purpose + + stability + :stability: deprecated + \\"\\"\\" + ... + + +class _IDeprecatedInterfaceProxy: + \\"\\"\\" + deprecated + :deprecated: useless interface + + stability + :stability: deprecated + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IDeprecatedInterface\\" + + @builtins.property + @jsii.member(jsii_name=\\"mutableProperty\\") + def mutable_property(self) -> typing.Optional[jsii.Number]: + \\"\\"\\" + deprecated + :deprecated: could be better + + stability + :stability: deprecated + \\"\\"\\" + return jsii.get(self, \\"mutableProperty\\") + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: + jsii.set(self, \\"mutableProperty\\", value) + + @jsii.member(jsii_name=\\"method\\") + def method(self) -> None: + \\"\\"\\" + deprecated + :deprecated: services no purpose + + stability + :stability: deprecated + \\"\\"\\" + return jsii.invoke(self, \\"method\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IExperimentalInterface\\") +class IExperimentalInterface(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IExperimentalInterfaceProxy + + @builtins.property + @jsii.member(jsii_name=\\"mutableProperty\\") + def mutable_property(self) -> typing.Optional[jsii.Number]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: + ... + + @jsii.member(jsii_name=\\"method\\") + def method(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IExperimentalInterfaceProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IExperimentalInterface\\" + + @builtins.property + @jsii.member(jsii_name=\\"mutableProperty\\") + def mutable_property(self) -> typing.Optional[jsii.Number]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"mutableProperty\\") + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: + jsii.set(self, \\"mutableProperty\\", value) + + @jsii.member(jsii_name=\\"method\\") + def method(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"method\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IExtendsPrivateInterface\\") +class IExtendsPrivateInterface(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IExtendsPrivateInterfaceProxy + + @builtins.property + @jsii.member(jsii_name=\\"moreThings\\") + def more_things(self) -> typing.List[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @builtins.property + @jsii.member(jsii_name=\\"private\\") + def private(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @private.setter + def private(self, value: str) -> None: + ... + + +class _IExtendsPrivateInterfaceProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IExtendsPrivateInterface\\" + + @builtins.property + @jsii.member(jsii_name=\\"moreThings\\") + def more_things(self) -> typing.List[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"moreThings\\") + + @builtins.property + @jsii.member(jsii_name=\\"private\\") + def private(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"private\\") + + @private.setter + def private(self, value: str) -> None: + jsii.set(self, \\"private\\", value) + + +@jsii.interface(jsii_type=\\"jsii-calc.IExternalInterface\\") +class IExternalInterface(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IExternalInterfaceProxy + + @builtins.property + @jsii.member(jsii_name=\\"mutableProperty\\") + def mutable_property(self) -> typing.Optional[jsii.Number]: + \\"\\"\\" + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + ... + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: + ... + + @jsii.member(jsii_name=\\"method\\") + def method(self) -> None: + \\"\\"\\" + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + ... + + +class _IExternalInterfaceProxy: + \\"\\"\\" + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IExternalInterface\\" + + @builtins.property + @jsii.member(jsii_name=\\"mutableProperty\\") + def mutable_property(self) -> typing.Optional[jsii.Number]: + \\"\\"\\" + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + return jsii.get(self, \\"mutableProperty\\") + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: + jsii.set(self, \\"mutableProperty\\", value) + + @jsii.member(jsii_name=\\"method\\") + def method(self) -> None: + \\"\\"\\" + stability + :stability: experimental + external: + :external:: true + \\"\\"\\" + return jsii.invoke(self, \\"method\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IFriendlier\\") +class IFriendlier(scope.jsii_calc_lib.IFriendly, jsii.compat.Protocol): + \\"\\"\\"Even friendlier classes can implement this interface. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IFriendlierProxy + + @jsii.member(jsii_name=\\"farewell\\") + def farewell(self) -> str: + \\"\\"\\"Say farewell. + + stability + :stability: experimental + \\"\\"\\" + ... + + @jsii.member(jsii_name=\\"goodbye\\") + def goodbye(self) -> str: + \\"\\"\\"Say goodbye. + + return + :return: A goodbye blessing. + + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IFriendlierProxy(jsii.proxy_for(scope.jsii_calc_lib.IFriendly)): + \\"\\"\\"Even friendlier classes can implement this interface. + + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IFriendlier\\" + + @jsii.member(jsii_name=\\"farewell\\") + def farewell(self) -> str: + \\"\\"\\"Say farewell. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"farewell\\", []) + + @jsii.member(jsii_name=\\"goodbye\\") + def goodbye(self) -> str: + \\"\\"\\"Say goodbye. + + return + :return: A goodbye blessing. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"goodbye\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IInterfaceImplementedByAbstractClass\\") +class IInterfaceImplementedByAbstractClass(jsii.compat.Protocol): + \\"\\"\\"awslabs/jsii#220 Abstract return type. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IInterfaceImplementedByAbstractClassProxy + + @builtins.property + @jsii.member(jsii_name=\\"propFromInterface\\") + def prop_from_interface(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IInterfaceImplementedByAbstractClassProxy: + \\"\\"\\"awslabs/jsii#220 Abstract return type. + + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IInterfaceImplementedByAbstractClass\\" + + @builtins.property + @jsii.member(jsii_name=\\"propFromInterface\\") + def prop_from_interface(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"propFromInterface\\") + + +@jsii.interface(jsii_type=\\"jsii-calc.IInterfaceWithInternal\\") +class IInterfaceWithInternal(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IInterfaceWithInternalProxy + + @jsii.member(jsii_name=\\"visible\\") + def visible(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IInterfaceWithInternalProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IInterfaceWithInternal\\" + + @jsii.member(jsii_name=\\"visible\\") + def visible(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"visible\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IInterfaceWithMethods\\") +class IInterfaceWithMethods(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IInterfaceWithMethodsProxy + + @builtins.property + @jsii.member(jsii_name=\\"value\\") + def value(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @jsii.member(jsii_name=\\"doThings\\") + def do_things(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IInterfaceWithMethodsProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IInterfaceWithMethods\\" + + @builtins.property + @jsii.member(jsii_name=\\"value\\") + def value(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"value\\") + + @jsii.member(jsii_name=\\"doThings\\") + def do_things(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"doThings\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IInterfaceWithOptionalMethodArguments\\") +class IInterfaceWithOptionalMethodArguments(jsii.compat.Protocol): + \\"\\"\\"awslabs/jsii#175 Interface proxies (and builders) do not respect optional arguments in methods. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IInterfaceWithOptionalMethodArgumentsProxy + + @jsii.member(jsii_name=\\"hello\\") + def hello(self, arg1: str, arg2: typing.Optional[jsii.Number] = None) -> None: + \\"\\"\\" + :param arg1: - + :param arg2: - + + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IInterfaceWithOptionalMethodArgumentsProxy: + \\"\\"\\"awslabs/jsii#175 Interface proxies (and builders) do not respect optional arguments in methods. + + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IInterfaceWithOptionalMethodArguments\\" + + @jsii.member(jsii_name=\\"hello\\") + def hello(self, arg1: str, arg2: typing.Optional[jsii.Number] = None) -> None: + \\"\\"\\" + :param arg1: - + :param arg2: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"hello\\", [arg1, arg2]) + + +@jsii.interface(jsii_type=\\"jsii-calc.IInterfaceWithProperties\\") +class IInterfaceWithProperties(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IInterfaceWithPropertiesProxy + + @builtins.property + @jsii.member(jsii_name=\\"readOnlyString\\") + def read_only_string(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @builtins.property + @jsii.member(jsii_name=\\"readWriteString\\") + def read_write_string(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @read_write_string.setter + def read_write_string(self, value: str) -> None: + ... + + +class _IInterfaceWithPropertiesProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IInterfaceWithProperties\\" + + @builtins.property + @jsii.member(jsii_name=\\"readOnlyString\\") + def read_only_string(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"readOnlyString\\") + + @builtins.property + @jsii.member(jsii_name=\\"readWriteString\\") + def read_write_string(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"readWriteString\\") + + @read_write_string.setter + def read_write_string(self, value: str) -> None: + jsii.set(self, \\"readWriteString\\", value) + + +@jsii.interface(jsii_type=\\"jsii-calc.IInterfaceWithPropertiesExtension\\") +class IInterfaceWithPropertiesExtension(IInterfaceWithProperties, jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IInterfaceWithPropertiesExtensionProxy + + @builtins.property + @jsii.member(jsii_name=\\"foo\\") + def foo(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @foo.setter + def foo(self, value: jsii.Number) -> None: + ... + + +class _IInterfaceWithPropertiesExtensionProxy(jsii.proxy_for(IInterfaceWithProperties)): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IInterfaceWithPropertiesExtension\\" + + @builtins.property + @jsii.member(jsii_name=\\"foo\\") + def foo(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"foo\\") + + @foo.setter + def foo(self, value: jsii.Number) -> None: + jsii.set(self, \\"foo\\", value) + + +@jsii.interface(jsii_type=\\"jsii-calc.IJSII417PublicBaseOfBase\\") +class IJSII417PublicBaseOfBase(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IJSII417PublicBaseOfBaseProxy + + @builtins.property + @jsii.member(jsii_name=\\"hasRoot\\") + def has_root(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @jsii.member(jsii_name=\\"foo\\") + def foo(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IJSII417PublicBaseOfBaseProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IJSII417PublicBaseOfBase\\" + + @builtins.property + @jsii.member(jsii_name=\\"hasRoot\\") + def has_root(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"hasRoot\\") + + @jsii.member(jsii_name=\\"foo\\") + def foo(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"foo\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IJsii487External\\") +class IJsii487External(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IJsii487ExternalProxy + + pass + + +class _IJsii487ExternalProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IJsii487External\\" + pass + + +@jsii.interface(jsii_type=\\"jsii-calc.IJsii487External2\\") +class IJsii487External2(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IJsii487External2Proxy + + pass + + +class _IJsii487External2Proxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IJsii487External2\\" + pass + + +@jsii.interface(jsii_type=\\"jsii-calc.IJsii496\\") +class IJsii496(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IJsii496Proxy + + pass + + +class _IJsii496Proxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IJsii496\\" + pass + + +@jsii.interface(jsii_type=\\"jsii-calc.IMutableObjectLiteral\\") +class IMutableObjectLiteral(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IMutableObjectLiteralProxy + + @builtins.property + @jsii.member(jsii_name=\\"value\\") + def value(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @value.setter + def value(self, value: str) -> None: + ... + + +class _IMutableObjectLiteralProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IMutableObjectLiteral\\" + + @builtins.property + @jsii.member(jsii_name=\\"value\\") + def value(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"value\\") + + @value.setter + def value(self, value: str) -> None: + jsii.set(self, \\"value\\", value) + + +@jsii.interface(jsii_type=\\"jsii-calc.INonInternalInterface\\") +class INonInternalInterface(IAnotherPublicInterface, jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _INonInternalInterfaceProxy + + @builtins.property + @jsii.member(jsii_name=\\"b\\") + def b(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @b.setter + def b(self, value: str) -> None: + ... + + @builtins.property + @jsii.member(jsii_name=\\"c\\") + def c(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @c.setter + def c(self, value: str) -> None: + ... + + +class _INonInternalInterfaceProxy(jsii.proxy_for(IAnotherPublicInterface)): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.INonInternalInterface\\" + + @builtins.property + @jsii.member(jsii_name=\\"b\\") + def b(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"b\\") + + @b.setter + def b(self, value: str) -> None: + jsii.set(self, \\"b\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"c\\") + def c(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"c\\") + + @c.setter + def c(self, value: str) -> None: + jsii.set(self, \\"c\\", value) + + +@jsii.interface(jsii_type=\\"jsii-calc.IObjectWithProperty\\") +class IObjectWithProperty(jsii.compat.Protocol): + \\"\\"\\"Make sure that setters are properly called on objects with interfaces. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IObjectWithPropertyProxy + + @builtins.property + @jsii.member(jsii_name=\\"property\\") + def property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @property.setter + def property(self, value: str) -> None: + ... + + @jsii.member(jsii_name=\\"wasSet\\") + def was_set(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IObjectWithPropertyProxy: + \\"\\"\\"Make sure that setters are properly called on objects with interfaces. + + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IObjectWithProperty\\" + + @builtins.property + @jsii.member(jsii_name=\\"property\\") + def property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"property\\") + + @property.setter + def property(self, value: str) -> None: + jsii.set(self, \\"property\\", value) + + @jsii.member(jsii_name=\\"wasSet\\") + def was_set(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"wasSet\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IOptionalMethod\\") +class IOptionalMethod(jsii.compat.Protocol): + \\"\\"\\"Checks that optional result from interface method code generates correctly. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IOptionalMethodProxy + + @jsii.member(jsii_name=\\"optional\\") + def optional(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IOptionalMethodProxy: + \\"\\"\\"Checks that optional result from interface method code generates correctly. + + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IOptionalMethod\\" + + @jsii.member(jsii_name=\\"optional\\") + def optional(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"optional\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IPrivatelyImplemented\\") +class IPrivatelyImplemented(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IPrivatelyImplementedProxy + + @builtins.property + @jsii.member(jsii_name=\\"success\\") + def success(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IPrivatelyImplementedProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IPrivatelyImplemented\\" + + @builtins.property + @jsii.member(jsii_name=\\"success\\") + def success(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"success\\") + + +@jsii.interface(jsii_type=\\"jsii-calc.IPublicInterface\\") +class IPublicInterface(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IPublicInterfaceProxy + + @jsii.member(jsii_name=\\"bye\\") + def bye(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IPublicInterfaceProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IPublicInterface\\" + + @jsii.member(jsii_name=\\"bye\\") + def bye(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"bye\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IPublicInterface2\\") +class IPublicInterface2(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IPublicInterface2Proxy + + @jsii.member(jsii_name=\\"ciao\\") + def ciao(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IPublicInterface2Proxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IPublicInterface2\\" + + @jsii.member(jsii_name=\\"ciao\\") + def ciao(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"ciao\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IRandomNumberGenerator\\") +class IRandomNumberGenerator(jsii.compat.Protocol): + \\"\\"\\"Generates random numbers. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IRandomNumberGeneratorProxy + + @jsii.member(jsii_name=\\"next\\") + def next(self) -> jsii.Number: + \\"\\"\\"Returns another random number. + + return + :return: A random number. + + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IRandomNumberGeneratorProxy: + \\"\\"\\"Generates random numbers. + + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IRandomNumberGenerator\\" + + @jsii.member(jsii_name=\\"next\\") + def next(self) -> jsii.Number: + \\"\\"\\"Returns another random number. + + return + :return: A random number. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"next\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IReturnJsii976\\") +class IReturnJsii976(jsii.compat.Protocol): + \\"\\"\\"Returns a subclass of a known class which implements an interface. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IReturnJsii976Proxy + + @builtins.property + @jsii.member(jsii_name=\\"foo\\") + def foo(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IReturnJsii976Proxy: + \\"\\"\\"Returns a subclass of a known class which implements an interface. + + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IReturnJsii976\\" + + @builtins.property + @jsii.member(jsii_name=\\"foo\\") + def foo(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"foo\\") + + +@jsii.interface(jsii_type=\\"jsii-calc.IReturnsNumber\\") +class IReturnsNumber(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IReturnsNumberProxy + + @builtins.property + @jsii.member(jsii_name=\\"numberProp\\") + def number_prop(self) -> scope.jsii_calc_lib.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @jsii.member(jsii_name=\\"obtainNumber\\") + def obtain_number(self) -> scope.jsii_calc_lib.IDoublable: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IReturnsNumberProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IReturnsNumber\\" + + @builtins.property + @jsii.member(jsii_name=\\"numberProp\\") + def number_prop(self) -> scope.jsii_calc_lib.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"numberProp\\") + + @jsii.member(jsii_name=\\"obtainNumber\\") + def obtain_number(self) -> scope.jsii_calc_lib.IDoublable: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"obtainNumber\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IStableInterface\\") +class IStableInterface(jsii.compat.Protocol): + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IStableInterfaceProxy + + @builtins.property + @jsii.member(jsii_name=\\"mutableProperty\\") + def mutable_property(self) -> typing.Optional[jsii.Number]: + ... + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: + ... + + @jsii.member(jsii_name=\\"method\\") + def method(self) -> None: + ... + + +class _IStableInterfaceProxy: + __jsii_type__ = \\"jsii-calc.IStableInterface\\" + + @builtins.property + @jsii.member(jsii_name=\\"mutableProperty\\") + def mutable_property(self) -> typing.Optional[jsii.Number]: + return jsii.get(self, \\"mutableProperty\\") + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: + jsii.set(self, \\"mutableProperty\\", value) + + @jsii.member(jsii_name=\\"method\\") + def method(self) -> None: + return jsii.invoke(self, \\"method\\", []) + + +@jsii.interface(jsii_type=\\"jsii-calc.IStructReturningDelegate\\") +class IStructReturningDelegate(jsii.compat.Protocol): + \\"\\"\\"Verifies that a \\"pure\\" implementation of an interface works correctly. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IStructReturningDelegateProxy + + @jsii.member(jsii_name=\\"returnStruct\\") + def return_struct(self) -> \\"StructB\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IStructReturningDelegateProxy: + \\"\\"\\"Verifies that a \\"pure\\" implementation of an interface works correctly. + + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IStructReturningDelegate\\" + + @jsii.member(jsii_name=\\"returnStruct\\") + def return_struct(self) -> \\"StructB\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"returnStruct\\", []) + + +class ImplementInternalInterface( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ImplementInternalInterface\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(ImplementInternalInterface, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"prop\\") + def prop(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"prop\\") + + @prop.setter + def prop(self, value: str) -> None: + jsii.set(self, \\"prop\\", value) + + +class Implementation(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Implementation\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(Implementation, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"value\\") + def value(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"value\\") + + +@jsii.implements(IInterfaceWithInternal) +class ImplementsInterfaceWithInternal( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ImplementsInterfaceWithInternal\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(ImplementsInterfaceWithInternal, self, []) + + @jsii.member(jsii_name=\\"visible\\") + def visible(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"visible\\", []) + + +class ImplementsInterfaceWithInternalSubclass( + ImplementsInterfaceWithInternal, + metaclass=jsii.JSIIMeta, + jsii_type=\\"jsii-calc.ImplementsInterfaceWithInternalSubclass\\", +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(ImplementsInterfaceWithInternalSubclass, self, []) + + +class ImplementsPrivateInterface( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ImplementsPrivateInterface\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(ImplementsPrivateInterface, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"private\\") + def private(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"private\\") + + @private.setter + def private(self, value: str) -> None: + jsii.set(self, \\"private\\", value) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.ImplictBaseOfBase\\", + jsii_struct_bases=[scope.jsii_calc_base.BaseProps], + name_mapping={\\"foo\\": \\"foo\\", \\"bar\\": \\"bar\\", \\"goo\\": \\"goo\\"}, +) +class ImplictBaseOfBase(scope.jsii_calc_base.BaseProps): + def __init__( + self, + *, + foo: scope.jsii_calc_base_of_base.Very, + bar: str, + goo: datetime.datetime, + ) -> None: + \\"\\"\\" + :param foo: - + :param bar: - + :param goo: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"foo\\": foo, + \\"bar\\": bar, + \\"goo\\": goo, + } + + @builtins.property + def foo(self) -> scope.jsii_calc_base_of_base.Very: + return self._values.get(\\"foo\\") + + @builtins.property + def bar(self) -> str: + return self._values.get(\\"bar\\") + + @builtins.property + def goo(self) -> datetime.datetime: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"goo\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"ImplictBaseOfBase(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class InterfaceCollections( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.InterfaceCollections\\" +): + \\"\\"\\"Verifies that collections of interfaces or structs are correctly handled. + + See: https://github.com/aws/jsii/issues/1196 + + stability + :stability: experimental + \\"\\"\\" + + @jsii.member(jsii_name=\\"listOfInterfaces\\") + @builtins.classmethod + def list_of_interfaces(cls) -> typing.List[\\"IBell\\"]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"listOfInterfaces\\", []) + + @jsii.member(jsii_name=\\"listOfStructs\\") + @builtins.classmethod + def list_of_structs(cls) -> typing.List[\\"StructA\\"]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"listOfStructs\\", []) + + @jsii.member(jsii_name=\\"mapOfInterfaces\\") + @builtins.classmethod + def map_of_interfaces(cls) -> typing.Mapping[str, \\"IBell\\"]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"mapOfInterfaces\\", []) + + @jsii.member(jsii_name=\\"mapOfStructs\\") + @builtins.classmethod + def map_of_structs(cls) -> typing.Mapping[str, \\"StructA\\"]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"mapOfStructs\\", []) + + +class InterfacesMaker(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.InterfacesMaker\\"): + \\"\\"\\"We can return arrays of interfaces See aws/aws-cdk#2362. + + stability + :stability: experimental + \\"\\"\\" + + @jsii.member(jsii_name=\\"makeInterfaces\\") + @builtins.classmethod + def make_interfaces( + cls, count: jsii.Number + ) -> typing.List[scope.jsii_calc_lib.IDoublable]: + \\"\\"\\" + :param count: - + + stability + :stability: experimental + \\"\\"\\" + return 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. + + Create a subclass of this, and assert that \`\`this.myself()\`\` actually returns + \`\`this\`\` from within the constructor. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IsomorphismProxy + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(Isomorphism, self, []) + + @jsii.member(jsii_name=\\"myself\\") + def myself(self) -> \\"Isomorphism\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"myself\\", []) + + +class _IsomorphismProxy(Isomorphism): + pass + + +class JSII417PublicBaseOfBase( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.JSII417PublicBaseOfBase\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(JSII417PublicBaseOfBase, self, []) + + @jsii.member(jsii_name=\\"makeInstance\\") + @builtins.classmethod + def make_instance(cls) -> \\"JSII417PublicBaseOfBase\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"makeInstance\\", []) + + @jsii.member(jsii_name=\\"foo\\") + def foo(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"foo\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"hasRoot\\") + def has_root(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"hasRoot\\") + + +class JSObjectLiteralForInterface( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.JSObjectLiteralForInterface\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(JSObjectLiteralForInterface, self, []) + + @jsii.member(jsii_name=\\"giveMeFriendly\\") + def give_me_friendly(self) -> scope.jsii_calc_lib.IFriendly: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"giveMeFriendly\\", []) + + @jsii.member(jsii_name=\\"giveMeFriendlyGenerator\\") + def give_me_friendly_generator(self) -> \\"IFriendlyRandomGenerator\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"giveMeFriendlyGenerator\\", []) + + +class JSObjectLiteralToNative( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.JSObjectLiteralToNative\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(JSObjectLiteralToNative, self, []) + + @jsii.member(jsii_name=\\"returnLiteral\\") + def return_literal(self) -> \\"JSObjectLiteralToNativeClass\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"returnLiteral\\", []) + + +class JSObjectLiteralToNativeClass( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.JSObjectLiteralToNativeClass\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(JSObjectLiteralToNativeClass, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"propA\\") + def prop_a(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"propA\\") + + @prop_a.setter + def prop_a(self, value: str) -> None: + jsii.set(self, \\"propA\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"propB\\") + def prop_b(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"propB\\") + + @prop_b.setter + def prop_b(self, value: jsii.Number) -> None: + jsii.set(self, \\"propB\\", value) + + +class JavaReservedWords( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.JavaReservedWords\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(JavaReservedWords, self, []) + + @jsii.member(jsii_name=\\"abstract\\") + def abstract(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"abstract\\", []) + + @jsii.member(jsii_name=\\"assert\\") + def assert_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"assert\\", []) + + @jsii.member(jsii_name=\\"boolean\\") + def boolean(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"boolean\\", []) + + @jsii.member(jsii_name=\\"break\\") + def break_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"break\\", []) + + @jsii.member(jsii_name=\\"byte\\") + def byte(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"byte\\", []) + + @jsii.member(jsii_name=\\"case\\") + def case(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"case\\", []) + + @jsii.member(jsii_name=\\"catch\\") + def catch(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"catch\\", []) + + @jsii.member(jsii_name=\\"char\\") + def char(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"char\\", []) + + @jsii.member(jsii_name=\\"class\\") + def class_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"class\\", []) + + @jsii.member(jsii_name=\\"const\\") + def const(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"const\\", []) + + @jsii.member(jsii_name=\\"continue\\") + def continue_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"continue\\", []) + + @jsii.member(jsii_name=\\"default\\") + def default(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"default\\", []) + + @jsii.member(jsii_name=\\"do\\") + def do(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"do\\", []) + + @jsii.member(jsii_name=\\"double\\") + def double(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"double\\", []) + + @jsii.member(jsii_name=\\"else\\") + def else_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"else\\", []) + + @jsii.member(jsii_name=\\"enum\\") + def enum(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"enum\\", []) + + @jsii.member(jsii_name=\\"extends\\") + def extends(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"extends\\", []) + + @jsii.member(jsii_name=\\"false\\") + def false(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"false\\", []) + + @jsii.member(jsii_name=\\"final\\") + def final(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"final\\", []) + + @jsii.member(jsii_name=\\"finally\\") + def finally_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"finally\\", []) + + @jsii.member(jsii_name=\\"float\\") + def float(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"float\\", []) + + @jsii.member(jsii_name=\\"for\\") + def for_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"for\\", []) + + @jsii.member(jsii_name=\\"goto\\") + def goto(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"goto\\", []) + + @jsii.member(jsii_name=\\"if\\") + def if_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"if\\", []) + + @jsii.member(jsii_name=\\"implements\\") + def implements(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"implements\\", []) + + @jsii.member(jsii_name=\\"import\\") + def import_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"import\\", []) + + @jsii.member(jsii_name=\\"instanceof\\") + def instanceof(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"instanceof\\", []) + + @jsii.member(jsii_name=\\"int\\") + def int(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"int\\", []) + + @jsii.member(jsii_name=\\"interface\\") + def interface(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"interface\\", []) + + @jsii.member(jsii_name=\\"long\\") + def long(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"long\\", []) + + @jsii.member(jsii_name=\\"native\\") + def native(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"native\\", []) + + @jsii.member(jsii_name=\\"new\\") + def new(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"new\\", []) + + @jsii.member(jsii_name=\\"null\\") + def null(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"null\\", []) + + @jsii.member(jsii_name=\\"package\\") + def package(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"package\\", []) + + @jsii.member(jsii_name=\\"private\\") + def private(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"private\\", []) + + @jsii.member(jsii_name=\\"protected\\") + def protected(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"protected\\", []) + + @jsii.member(jsii_name=\\"public\\") + def public(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"public\\", []) + + @jsii.member(jsii_name=\\"return\\") + def return_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"return\\", []) + + @jsii.member(jsii_name=\\"short\\") + def short(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"short\\", []) + + @jsii.member(jsii_name=\\"static\\") + def static(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"static\\", []) + + @jsii.member(jsii_name=\\"strictfp\\") + def strictfp(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"strictfp\\", []) + + @jsii.member(jsii_name=\\"super\\") + def super(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"super\\", []) + + @jsii.member(jsii_name=\\"switch\\") + def switch(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"switch\\", []) + + @jsii.member(jsii_name=\\"synchronized\\") + def synchronized(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"synchronized\\", []) + + @jsii.member(jsii_name=\\"this\\") + def this(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"this\\", []) + + @jsii.member(jsii_name=\\"throw\\") + def throw(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"throw\\", []) + + @jsii.member(jsii_name=\\"throws\\") + def throws(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"throws\\", []) + + @jsii.member(jsii_name=\\"transient\\") + def transient(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"transient\\", []) + + @jsii.member(jsii_name=\\"true\\") + def true(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"true\\", []) + + @jsii.member(jsii_name=\\"try\\") + def try_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"try\\", []) + + @jsii.member(jsii_name=\\"void\\") + def void(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"void\\", []) + + @jsii.member(jsii_name=\\"volatile\\") + def volatile(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"volatile\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"while\\") + def while_(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"while\\") + + @while_.setter + def while_(self, value: str) -> None: + jsii.set(self, \\"while\\", value) + + +@jsii.implements(IJsii487External2, IJsii487External) +class Jsii487Derived(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Jsii487Derived\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(Jsii487Derived, self, []) + + +@jsii.implements(IJsii496) +class Jsii496Derived(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Jsii496Derived\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(Jsii496Derived, self, []) + + +class JsiiAgent(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.JsiiAgent\\"): + \\"\\"\\"Host runtime version should be set via JSII_AGENT. + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(JsiiAgent, self, []) + + @jsii.python.classproperty + @jsii.member(jsii_name=\\"jsiiAgent\\") + def jsii_agent(cls) -> typing.Optional[str]: + \\"\\"\\"Returns the value of the JSII_AGENT environment variable. + + stability + :stability: experimental + \\"\\"\\" + return jsii.sget(cls, \\"jsiiAgent\\") + + +class JsonFormatter(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.JsonFormatter\\"): + \\"\\"\\"Make sure structs are un-decorated on the way in. + + see + :see: https://github.com/aws/aws-cdk/issues/5066 + stability + :stability: experimental + \\"\\"\\" + + @jsii.member(jsii_name=\\"anyArray\\") + @builtins.classmethod + def any_array(cls) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"anyArray\\", []) + + @jsii.member(jsii_name=\\"anyBooleanFalse\\") + @builtins.classmethod + def any_boolean_false(cls) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"anyBooleanFalse\\", []) + + @jsii.member(jsii_name=\\"anyBooleanTrue\\") + @builtins.classmethod + def any_boolean_true(cls) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"anyBooleanTrue\\", []) + + @jsii.member(jsii_name=\\"anyDate\\") + @builtins.classmethod + def any_date(cls) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"anyDate\\", []) + + @jsii.member(jsii_name=\\"anyEmptyString\\") + @builtins.classmethod + def any_empty_string(cls) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"anyEmptyString\\", []) + + @jsii.member(jsii_name=\\"anyFunction\\") + @builtins.classmethod + def any_function(cls) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"anyFunction\\", []) + + @jsii.member(jsii_name=\\"anyHash\\") + @builtins.classmethod + def any_hash(cls) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"anyHash\\", []) + + @jsii.member(jsii_name=\\"anyNull\\") + @builtins.classmethod + def any_null(cls) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"anyNull\\", []) + + @jsii.member(jsii_name=\\"anyNumber\\") + @builtins.classmethod + def any_number(cls) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"anyNumber\\", []) + + @jsii.member(jsii_name=\\"anyRef\\") + @builtins.classmethod + def any_ref(cls) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"anyRef\\", []) + + @jsii.member(jsii_name=\\"anyString\\") + @builtins.classmethod + def any_string(cls) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"anyString\\", []) + + @jsii.member(jsii_name=\\"anyUndefined\\") + @builtins.classmethod + def any_undefined(cls) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"anyUndefined\\", []) + + @jsii.member(jsii_name=\\"anyZero\\") + @builtins.classmethod + def any_zero(cls) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"anyZero\\", []) + + @jsii.member(jsii_name=\\"stringify\\") + @builtins.classmethod + def stringify(cls, value: typing.Any = None) -> typing.Optional[str]: + \\"\\"\\" + :param value: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"stringify\\", [value]) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.LoadBalancedFargateServiceProps\\", + jsii_struct_bases=[], + name_mapping={ + \\"container_port\\": \\"containerPort\\", + \\"cpu\\": \\"cpu\\", + \\"memory_mib\\": \\"memoryMiB\\", + \\"public_load_balancer\\": \\"publicLoadBalancer\\", + \\"public_tasks\\": \\"publicTasks\\", + }, +) +class LoadBalancedFargateServiceProps: + def __init__( + self, + *, + container_port: typing.Optional[jsii.Number] = None, + cpu: typing.Optional[str] = None, + memory_mib: typing.Optional[str] = None, + public_load_balancer: typing.Optional[bool] = None, + public_tasks: typing.Optional[bool] = None, + ) -> None: + \\"\\"\\"jsii#298: show default values in sphinx documentation, and respect newlines. + + :param container_port: The container port of the application load balancer attached to your Fargate service. Corresponds to container port mapping. Default: 80 + :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 + + stability + :stability: experimental + \\"\\"\\" + self._values = {} + if container_port is not None: + self._values[\\"container_port\\"] = container_port + if cpu is not None: + self._values[\\"cpu\\"] = cpu + if memory_mib is not None: + self._values[\\"memory_mib\\"] = memory_mib + if public_load_balancer is not None: + self._values[\\"public_load_balancer\\"] = public_load_balancer + if public_tasks is not None: + self._values[\\"public_tasks\\"] = public_tasks + + @builtins.property + def container_port(self) -> typing.Optional[jsii.Number]: + \\"\\"\\"The container port of the application load balancer attached to your Fargate service. + + Corresponds to container port mapping. + + default + :default: 80 + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"container_port\\") + + @builtins.property + def cpu(self) -> typing.Optional[str]: + \\"\\"\\"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 + :default: 256 + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"cpu\\") + + @builtins.property + def memory_mib(self) -> typing.Optional[str]: + \\"\\"\\"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 + :default: 512 + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"memory_mib\\") + + @builtins.property + def public_load_balancer(self) -> typing.Optional[bool]: + \\"\\"\\"Determines whether the Application Load Balancer will be internet-facing. + + default + :default: true + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"public_load_balancer\\") + + @builtins.property + def public_tasks(self) -> typing.Optional[bool]: + \\"\\"\\"Determines whether your Fargate Service will be assigned a public IP address. + + default + :default: false + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"public_tasks\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"LoadBalancedFargateServiceProps(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class MethodNamedProperty( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.MethodNamedProperty\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(MethodNamedProperty, self, []) + + @jsii.member(jsii_name=\\"property\\") + def property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"property\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"elite\\") + def elite(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"elite\\") + + +@jsii.implements(IFriendlier, IRandomNumberGenerator) +class Multiply( + BinaryOperation, metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Multiply\\" +): + \\"\\"\\"The \\"*\\" binary operation. + + stability + :stability: experimental + \\"\\"\\" + + def __init__( + self, lhs: scope.jsii_calc_lib.Value, rhs: scope.jsii_calc_lib.Value + ) -> None: + \\"\\"\\"Creates a BinaryOperation. + + :param lhs: Left-hand side operand. + :param rhs: Right-hand side operand. + + stability + :stability: experimental + \\"\\"\\" + jsii.create(Multiply, self, [lhs, rhs]) + + @jsii.member(jsii_name=\\"farewell\\") + def farewell(self) -> str: + \\"\\"\\"Say farewell. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"farewell\\", []) + + @jsii.member(jsii_name=\\"goodbye\\") + def goodbye(self) -> str: + \\"\\"\\"Say goodbye. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"goodbye\\", []) + + @jsii.member(jsii_name=\\"next\\") + def next(self) -> jsii.Number: + \\"\\"\\"Returns another random number. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"next\\", []) + + @jsii.member(jsii_name=\\"toString\\") + def to_string(self) -> str: + \\"\\"\\"String representation of the value. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"toString\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"value\\") + def value(self) -> jsii.Number: + \\"\\"\\"The value. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"value\\") + + +@jsii.data_type( + jsii_type=\\"jsii-calc.NestedStruct\\", + jsii_struct_bases=[], + name_mapping={\\"number_prop\\": \\"numberProp\\"}, +) +class NestedStruct: + def __init__(self, *, number_prop: jsii.Number) -> None: + \\"\\"\\" + :param number_prop: When provided, must be > 0. + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"number_prop\\": number_prop, + } + + @builtins.property + def number_prop(self) -> jsii.Number: + \\"\\"\\"When provided, must be > 0. + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"number_prop\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"NestedStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class NodeStandardLibrary( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.NodeStandardLibrary\\" +): + \\"\\"\\"Test fixture to verify that jsii modules can use the node standard library. + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(NodeStandardLibrary, self, []) + + @jsii.member(jsii_name=\\"cryptoSha256\\") + def crypto_sha256(self) -> str: + \\"\\"\\"Uses node.js \\"crypto\\" module to calculate sha256 of a string. + + return + :return: \\"6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50\\" + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"cryptoSha256\\", []) + + @jsii.member(jsii_name=\\"fsReadFile\\") + def fs_read_file(self) -> str: + \\"\\"\\"Reads a local resource file (resource.txt) asynchronously. + + return + :return: \\"Hello, resource!\\" + + stability + :stability: experimental + \\"\\"\\" + return jsii.ainvoke(self, \\"fsReadFile\\", []) + + @jsii.member(jsii_name=\\"fsReadFileSync\\") + def fs_read_file_sync(self) -> str: + \\"\\"\\"Sync version of fsReadFile. + + return + :return: \\"Hello, resource! SYNC!\\" + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"fsReadFileSync\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"osPlatform\\") + def os_platform(self) -> str: + \\"\\"\\"Returns the current os.platform() from the \\"os\\" node module. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"osPlatform\\") + + +class NullShouldBeTreatedAsUndefined( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.NullShouldBeTreatedAsUndefined\\" +): + \\"\\"\\"jsii#282, aws-cdk#157: null should be treated as \\"undefined\\". + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, _param1: str, optional: typing.Any = None) -> None: + \\"\\"\\" + :param _param1: - + :param optional: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(NullShouldBeTreatedAsUndefined, self, [_param1, optional]) + + @jsii.member(jsii_name=\\"giveMeUndefined\\") + def give_me_undefined(self, value: typing.Any = None) -> None: + \\"\\"\\" + :param value: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"giveMeUndefined\\", [value]) + + @jsii.member(jsii_name=\\"giveMeUndefinedInsideAnObject\\") + def give_me_undefined_inside_an_object( + self, + *, + array_with_three_elements_and_undefined_as_second_argument: typing.List[ + typing.Any + ], + this_should_be_undefined: typing.Any = None, + ) -> None: + \\"\\"\\" + :param array_with_three_elements_and_undefined_as_second_argument: + :param this_should_be_undefined: + + stability + :stability: experimental + \\"\\"\\" + input = NullShouldBeTreatedAsUndefinedData( + array_with_three_elements_and_undefined_as_second_argument=array_with_three_elements_and_undefined_as_second_argument, + this_should_be_undefined=this_should_be_undefined, + ) + + return jsii.invoke(self, \\"giveMeUndefinedInsideAnObject\\", [input]) + + @jsii.member(jsii_name=\\"verifyPropertyIsUndefined\\") + def verify_property_is_undefined(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"verifyPropertyIsUndefined\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"changeMeToUndefined\\") + def change_me_to_undefined(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"changeMeToUndefined\\") + + @change_me_to_undefined.setter + def change_me_to_undefined(self, value: typing.Optional[str]) -> None: + jsii.set(self, \\"changeMeToUndefined\\", value) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.NullShouldBeTreatedAsUndefinedData\\", + jsii_struct_bases=[], + name_mapping={ + \\"array_with_three_elements_and_undefined_as_second_argument\\": \\"arrayWithThreeElementsAndUndefinedAsSecondArgument\\", + \\"this_should_be_undefined\\": \\"thisShouldBeUndefined\\", + }, +) +class NullShouldBeTreatedAsUndefinedData: + def __init__( + self, + *, + array_with_three_elements_and_undefined_as_second_argument: typing.List[ + typing.Any + ], + this_should_be_undefined: typing.Any = None, + ) -> None: + \\"\\"\\" + :param array_with_three_elements_and_undefined_as_second_argument: + :param this_should_be_undefined: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"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 + + @builtins.property + def array_with_three_elements_and_undefined_as_second_argument( + self, + ) -> typing.List[typing.Any]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get( + \\"array_with_three_elements_and_undefined_as_second_argument\\" + ) + + @builtins.property + def this_should_be_undefined(self) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"this_should_be_undefined\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"NullShouldBeTreatedAsUndefinedData(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class NumberGenerator(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.NumberGenerator\\"): + \\"\\"\\"This allows us to test that a reference can be stored for objects that implement interfaces. + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, generator: \\"IRandomNumberGenerator\\") -> None: + \\"\\"\\" + :param generator: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(NumberGenerator, self, [generator]) + + @jsii.member(jsii_name=\\"isSameGenerator\\") + def is_same_generator(self, gen: \\"IRandomNumberGenerator\\") -> bool: + \\"\\"\\" + :param gen: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"isSameGenerator\\", [gen]) + + @jsii.member(jsii_name=\\"nextTimes100\\") + def next_times100(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"nextTimes100\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"generator\\") + def generator(self) -> \\"IRandomNumberGenerator\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"generator\\") + + @generator.setter + def generator(self, value: \\"IRandomNumberGenerator\\") -> None: + jsii.set(self, \\"generator\\", value) + + +class ObjectRefsInCollections( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ObjectRefsInCollections\\" +): + \\"\\"\\"Verify that object references can be passed inside collections. + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(ObjectRefsInCollections, self, []) + + @jsii.member(jsii_name=\\"sumFromArray\\") + def sum_from_array( + self, values: typing.List[scope.jsii_calc_lib.Value] + ) -> jsii.Number: + \\"\\"\\"Returns the sum of all values. + + :param values: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"sumFromArray\\", [values]) + + @jsii.member(jsii_name=\\"sumFromMap\\") + def sum_from_map( + self, values: typing.Mapping[str, scope.jsii_calc_lib.Value] + ) -> jsii.Number: + \\"\\"\\"Returns the sum of all values in a map. + + :param values: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"sumFromMap\\", [values]) + + +class ObjectWithPropertyProvider( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ObjectWithPropertyProvider\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @jsii.member(jsii_name=\\"provide\\") + @builtins.classmethod + def provide(cls) -> \\"IObjectWithProperty\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"provide\\", []) + + +class Old(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Old\\"): + \\"\\"\\"Old class. + + deprecated + :deprecated: Use the new class + + stability + :stability: deprecated + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(Old, self, []) + + @jsii.member(jsii_name=\\"doAThing\\") + def do_a_thing(self) -> None: + \\"\\"\\"Doo wop that thing. + + stability + :stability: deprecated + \\"\\"\\" + return jsii.invoke(self, \\"doAThing\\", []) + + +class OptionalArgumentInvoker( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.OptionalArgumentInvoker\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, delegate: \\"IInterfaceWithOptionalMethodArguments\\") -> None: + \\"\\"\\" + :param delegate: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(OptionalArgumentInvoker, self, [delegate]) + + @jsii.member(jsii_name=\\"invokeWithOptional\\") + def invoke_with_optional(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"invokeWithOptional\\", []) + + @jsii.member(jsii_name=\\"invokeWithoutOptional\\") + def invoke_without_optional(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"invokeWithoutOptional\\", []) + + +class OptionalConstructorArgument( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.OptionalConstructorArgument\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__( + self, + arg1: jsii.Number, + arg2: str, + arg3: typing.Optional[datetime.datetime] = None, + ) -> None: + \\"\\"\\" + :param arg1: - + :param arg2: - + :param arg3: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(OptionalConstructorArgument, self, [arg1, arg2, arg3]) + + @builtins.property + @jsii.member(jsii_name=\\"arg1\\") + def arg1(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"arg1\\") + + @builtins.property + @jsii.member(jsii_name=\\"arg2\\") + def arg2(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"arg2\\") + + @builtins.property + @jsii.member(jsii_name=\\"arg3\\") + def arg3(self) -> typing.Optional[datetime.datetime]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"arg3\\") + + +@jsii.data_type( + jsii_type=\\"jsii-calc.OptionalStruct\\", + jsii_struct_bases=[], + name_mapping={\\"field\\": \\"field\\"}, +) +class OptionalStruct: + def __init__(self, *, field: typing.Optional[str] = None) -> None: + \\"\\"\\" + :param field: + + stability + :stability: experimental + \\"\\"\\" + self._values = {} + if field is not None: + self._values[\\"field\\"] = field + + @builtins.property + def field(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"field\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"OptionalStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class OptionalStructConsumer( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.OptionalStructConsumer\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, *, field: typing.Optional[str] = None) -> None: + \\"\\"\\" + :param field: + + stability + :stability: experimental + \\"\\"\\" + optional_struct = OptionalStruct(field=field) + + jsii.create(OptionalStructConsumer, self, [optional_struct]) + + @builtins.property + @jsii.member(jsii_name=\\"parameterWasUndefined\\") + def parameter_was_undefined(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"parameterWasUndefined\\") + + @builtins.property + @jsii.member(jsii_name=\\"fieldValue\\") + def field_value(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"fieldValue\\") + + +class OverridableProtectedMember( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.OverridableProtectedMember\\" +): + \\"\\"\\" + see + :see: https://github.com/aws/jsii/issues/903 + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(OverridableProtectedMember, self, []) + + @jsii.member(jsii_name=\\"overrideMe\\") + def _override_me(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"overrideMe\\", []) + + @jsii.member(jsii_name=\\"switchModes\\") + def switch_modes(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"switchModes\\", []) + + @jsii.member(jsii_name=\\"valueFromProtected\\") + def value_from_protected(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"valueFromProtected\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"overrideReadOnly\\") + def _override_read_only(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"overrideReadOnly\\") + + @builtins.property + @jsii.member(jsii_name=\\"overrideReadWrite\\") + def _override_read_write(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"overrideReadWrite\\") + + @_override_read_write.setter + def _override_read_write(self, value: str) -> None: + jsii.set(self, \\"overrideReadWrite\\", value) + + +class OverrideReturnsObject( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.OverrideReturnsObject\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(OverrideReturnsObject, self, []) + + @jsii.member(jsii_name=\\"test\\") + def test(self, obj: \\"IReturnsNumber\\") -> jsii.Number: + \\"\\"\\" + :param obj: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"test\\", [obj]) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.ParentStruct982\\", + jsii_struct_bases=[], + name_mapping={\\"foo\\": \\"foo\\"}, +) +class ParentStruct982: + def __init__(self, *, foo: str) -> None: + \\"\\"\\"https://github.com/aws/jsii/issues/982. + + :param foo: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"foo\\": foo, + } + + @builtins.property + def foo(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"foo\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"ParentStruct982(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class PartiallyInitializedThisConsumer( + metaclass=jsii.JSIIAbstractClass, + jsii_type=\\"jsii-calc.PartiallyInitializedThisConsumer\\", +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _PartiallyInitializedThisConsumerProxy + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(PartiallyInitializedThisConsumer, self, []) + + @jsii.member(jsii_name=\\"consumePartiallyInitializedThis\\") + @abc.abstractmethod + def consume_partially_initialized_this( + self, obj: \\"ConstructorPassesThisOut\\", dt: datetime.datetime, ev: \\"AllTypesEnum\\" + ) -> str: + \\"\\"\\" + :param obj: - + :param dt: - + :param ev: - + + stability + :stability: experimental + \\"\\"\\" + ... + + +class _PartiallyInitializedThisConsumerProxy(PartiallyInitializedThisConsumer): + @jsii.member(jsii_name=\\"consumePartiallyInitializedThis\\") + def consume_partially_initialized_this( + self, obj: \\"ConstructorPassesThisOut\\", dt: datetime.datetime, ev: \\"AllTypesEnum\\" + ) -> str: + \\"\\"\\" + :param obj: - + :param dt: - + :param ev: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"consumePartiallyInitializedThis\\", [obj, dt, ev]) + + +class Polymorphism(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Polymorphism\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(Polymorphism, self, []) + + @jsii.member(jsii_name=\\"sayHello\\") + def say_hello(self, friendly: scope.jsii_calc_lib.IFriendly) -> str: + \\"\\"\\" + :param friendly: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"sayHello\\", [friendly]) + + +class Power( + _CompositeOperation_1c4d123b, metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Power\\" +): + \\"\\"\\"The power operation. + + stability + :stability: experimental + \\"\\"\\" + + def __init__( + self, base: scope.jsii_calc_lib.Value, pow: scope.jsii_calc_lib.Value + ) -> None: + \\"\\"\\"Creates a Power operation. + + :param base: The base of the power. + :param pow: The number of times to multiply. + + stability + :stability: experimental + \\"\\"\\" + jsii.create(Power, self, [base, pow]) + + @builtins.property + @jsii.member(jsii_name=\\"base\\") + def base(self) -> scope.jsii_calc_lib.Value: + \\"\\"\\"The base of the power. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"base\\") + + @builtins.property + @jsii.member(jsii_name=\\"expression\\") + def expression(self) -> scope.jsii_calc_lib.Value: + \\"\\"\\"The expression that this operation consists of. + + Must be implemented by derived classes. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"expression\\") + + @builtins.property + @jsii.member(jsii_name=\\"pow\\") + def pow(self) -> scope.jsii_calc_lib.Value: + \\"\\"\\"The number of times to multiply. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"pow\\") + + +class PropertyNamedProperty( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.PropertyNamedProperty\\" +): + \\"\\"\\"Reproduction for https://github.com/aws/jsii/issues/1113 Where a method or property named \\"property\\" would result in impossible to load Python code. + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(PropertyNamedProperty, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"property\\") + def property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"property\\") + + @builtins.property + @jsii.member(jsii_name=\\"yetAnoterOne\\") + def yet_anoter_one(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"yetAnoterOne\\") + + +class PublicClass(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.PublicClass\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(PublicClass, self, []) + + @jsii.member(jsii_name=\\"hello\\") + def hello(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"hello\\", []) + + +class PythonReservedWords( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.PythonReservedWords\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(PythonReservedWords, self, []) + + @jsii.member(jsii_name=\\"and\\") + def and_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"and\\", []) + + @jsii.member(jsii_name=\\"as\\") + def as_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"as\\", []) + + @jsii.member(jsii_name=\\"assert\\") + def assert_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"assert\\", []) + + @jsii.member(jsii_name=\\"async\\") + def async_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"async\\", []) + + @jsii.member(jsii_name=\\"await\\") + def await_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"await\\", []) + + @jsii.member(jsii_name=\\"break\\") + def break_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"break\\", []) + + @jsii.member(jsii_name=\\"class\\") + def class_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"class\\", []) + + @jsii.member(jsii_name=\\"continue\\") + def continue_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"continue\\", []) + + @jsii.member(jsii_name=\\"def\\") + def def_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"def\\", []) + + @jsii.member(jsii_name=\\"del\\") + def del_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"del\\", []) + + @jsii.member(jsii_name=\\"elif\\") + def elif_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"elif\\", []) + + @jsii.member(jsii_name=\\"else\\") + def else_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"else\\", []) + + @jsii.member(jsii_name=\\"except\\") + def except_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"except\\", []) + + @jsii.member(jsii_name=\\"finally\\") + def finally_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"finally\\", []) + + @jsii.member(jsii_name=\\"for\\") + def for_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"for\\", []) + + @jsii.member(jsii_name=\\"from\\") + def from_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"from\\", []) + + @jsii.member(jsii_name=\\"global\\") + def global_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"global\\", []) + + @jsii.member(jsii_name=\\"if\\") + def if_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"if\\", []) + + @jsii.member(jsii_name=\\"import\\") + def import_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"import\\", []) + + @jsii.member(jsii_name=\\"in\\") + def in_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"in\\", []) + + @jsii.member(jsii_name=\\"is\\") + def is_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"is\\", []) + + @jsii.member(jsii_name=\\"lambda\\") + def lambda_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"lambda\\", []) + + @jsii.member(jsii_name=\\"nonlocal\\") + def nonlocal_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"nonlocal\\", []) + + @jsii.member(jsii_name=\\"not\\") + def not_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"not\\", []) + + @jsii.member(jsii_name=\\"or\\") + def or_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"or\\", []) + + @jsii.member(jsii_name=\\"pass\\") + def pass_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"pass\\", []) + + @jsii.member(jsii_name=\\"raise\\") + def raise_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"raise\\", []) + + @jsii.member(jsii_name=\\"return\\") + def return_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"return\\", []) + + @jsii.member(jsii_name=\\"try\\") + def try_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"try\\", []) + + @jsii.member(jsii_name=\\"while\\") + def while_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"while\\", []) + + @jsii.member(jsii_name=\\"with\\") + def with_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"with\\", []) + + @jsii.member(jsii_name=\\"yield\\") + def yield_(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"yield\\", []) + + +class ReferenceEnumFromScopedPackage( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.ReferenceEnumFromScopedPackage\\" +): + \\"\\"\\"See awslabs/jsii#138. + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(ReferenceEnumFromScopedPackage, self, []) + + @jsii.member(jsii_name=\\"loadFoo\\") + def load_foo(self) -> typing.Optional[scope.jsii_calc_lib.EnumFromScopedModule]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"loadFoo\\", []) + + @jsii.member(jsii_name=\\"saveFoo\\") + def save_foo(self, value: scope.jsii_calc_lib.EnumFromScopedModule) -> None: + \\"\\"\\" + :param value: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"saveFoo\\", [value]) + + @builtins.property + @jsii.member(jsii_name=\\"foo\\") + def foo(self) -> typing.Optional[scope.jsii_calc_lib.EnumFromScopedModule]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"foo\\") + + @foo.setter + def foo( + self, value: typing.Optional[scope.jsii_calc_lib.EnumFromScopedModule] + ) -> None: + jsii.set(self, \\"foo\\", value) + + +class ReturnsPrivateImplementationOfInterface( + metaclass=jsii.JSIIMeta, + jsii_type=\\"jsii-calc.ReturnsPrivateImplementationOfInterface\\", +): + \\"\\"\\"Helps ensure the JSII kernel & runtime cooperate correctly when an un-exported instance of a class is returned with a declared type that is an exported interface, and the instance inherits from an exported class. + + return + :return: an instance of an un-exported class that extends \`\`ExportedBaseClass\`\`, declared as \`\`IPrivatelyImplemented\`\`. + + see + :see: https://github.com/aws/jsii/issues/320 + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(ReturnsPrivateImplementationOfInterface, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"privateImplementation\\") + def private_implementation(self) -> \\"IPrivatelyImplemented\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"privateImplementation\\") + + +@jsii.data_type( + jsii_type=\\"jsii-calc.RootStruct\\", + jsii_struct_bases=[], + name_mapping={\\"string_prop\\": \\"stringProp\\", \\"nested_struct\\": \\"nestedStruct\\"}, +) +class RootStruct: + def __init__( + self, *, string_prop: str, nested_struct: typing.Optional[\\"NestedStruct\\"] = None + ) -> None: + \\"\\"\\"This is here to check that we can pass a nested struct into a kwargs by specifying it as an in-line dictionary. + + This is cheating with the (current) declared types, but this is the \\"more + idiomatic\\" way for Pythonists. + + :param string_prop: May not be empty. + :param nested_struct: + + stability + :stability: experimental + \\"\\"\\" + if isinstance(nested_struct, dict): + nested_struct = NestedStruct(**nested_struct) + self._values = { + \\"string_prop\\": string_prop, + } + if nested_struct is not None: + self._values[\\"nested_struct\\"] = nested_struct + + @builtins.property + def string_prop(self) -> str: + \\"\\"\\"May not be empty. + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"string_prop\\") + + @builtins.property + def nested_struct(self) -> typing.Optional[\\"NestedStruct\\"]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"nested_struct\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"RootStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class RootStructValidator( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.RootStructValidator\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @jsii.member(jsii_name=\\"validate\\") + @builtins.classmethod + def validate( + cls, *, string_prop: str, nested_struct: typing.Optional[\\"NestedStruct\\"] = None + ) -> None: + \\"\\"\\" + :param string_prop: May not be empty. + :param nested_struct: + + stability + :stability: experimental + \\"\\"\\" + struct = RootStruct(string_prop=string_prop, nested_struct=nested_struct) + + return jsii.sinvoke(cls, \\"validate\\", [struct]) + + +class RuntimeTypeChecking( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.RuntimeTypeChecking\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(RuntimeTypeChecking, self, []) + + @jsii.member(jsii_name=\\"methodWithDefaultedArguments\\") + def method_with_defaulted_arguments( + self, + arg1: typing.Optional[jsii.Number] = None, + arg2: typing.Optional[str] = None, + arg3: typing.Optional[datetime.datetime] = None, + ) -> None: + \\"\\"\\" + :param arg1: - + :param arg2: - + :param arg3: - + + stability + :stability: experimental + \\"\\"\\" + return 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: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"methodWithOptionalAnyArgument\\", [arg]) + + @jsii.member(jsii_name=\\"methodWithOptionalArguments\\") + def method_with_optional_arguments( + self, + arg1: jsii.Number, + arg2: str, + arg3: typing.Optional[datetime.datetime] = None, + ) -> None: + \\"\\"\\"Used to verify verification of number of method arguments. + + :param arg1: - + :param arg2: - + :param arg3: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"methodWithOptionalArguments\\", [arg1, arg2, arg3]) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.SecondLevelStruct\\", + jsii_struct_bases=[], + name_mapping={ + \\"deeper_required_prop\\": \\"deeperRequiredProp\\", + \\"deeper_optional_prop\\": \\"deeperOptionalProp\\", + }, +) +class SecondLevelStruct: + def __init__( + self, + *, + deeper_required_prop: str, + deeper_optional_prop: typing.Optional[str] = None, + ) -> None: + \\"\\"\\" + :param deeper_required_prop: It's long and required. + :param deeper_optional_prop: It's long, but you'll almost never pass it. + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"deeper_required_prop\\": deeper_required_prop, + } + if deeper_optional_prop is not None: + self._values[\\"deeper_optional_prop\\"] = deeper_optional_prop + + @builtins.property + def deeper_required_prop(self) -> str: + \\"\\"\\"It's long and required. + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"deeper_required_prop\\") + + @builtins.property + def deeper_optional_prop(self) -> typing.Optional[str]: + \\"\\"\\"It's long, but you'll almost never pass it. + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"deeper_optional_prop\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"SecondLevelStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class SingleInstanceTwoTypes( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.SingleInstanceTwoTypes\\" +): + \\"\\"\\"Test that a single instance can be returned under two different FQNs. + + JSII clients can instantiate 2 different strongly-typed wrappers for the same + object. Unfortunately, this will break object equality, but if we didn't do + this it would break runtime type checks in the JVM or CLR. + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(SingleInstanceTwoTypes, self, []) + + @jsii.member(jsii_name=\\"interface1\\") + def interface1(self) -> \\"InbetweenClass\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"interface1\\", []) + + @jsii.member(jsii_name=\\"interface2\\") + def interface2(self) -> \\"IPublicInterface\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"interface2\\", []) + + +class SingletonInt(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.SingletonInt\\"): + \\"\\"\\"Verifies that singleton enums are handled correctly. + + https://github.com/aws/jsii/issues/231 + + stability + :stability: experimental + \\"\\"\\" + + @jsii.member(jsii_name=\\"isSingletonInt\\") + def is_singleton_int(self, value: jsii.Number) -> bool: + \\"\\"\\" + :param value: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"isSingletonInt\\", [value]) + + +@jsii.enum(jsii_type=\\"jsii-calc.SingletonIntEnum\\") +class SingletonIntEnum(enum.Enum): + \\"\\"\\"A singleton integer. + + stability + :stability: experimental + \\"\\"\\" + + SINGLETON_INT = \\"SINGLETON_INT\\" + \\"\\"\\"Elite! + + stability + :stability: experimental + \\"\\"\\" + + +class SingletonString(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.SingletonString\\"): + \\"\\"\\"Verifies that singleton enums are handled correctly. + + https://github.com/aws/jsii/issues/231 + + stability + :stability: experimental + \\"\\"\\" + + @jsii.member(jsii_name=\\"isSingletonString\\") + def is_singleton_string(self, value: str) -> bool: + \\"\\"\\" + :param value: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"isSingletonString\\", [value]) + + +@jsii.enum(jsii_type=\\"jsii-calc.SingletonStringEnum\\") +class SingletonStringEnum(enum.Enum): + \\"\\"\\"A singleton string. + + stability + :stability: experimental + \\"\\"\\" + + SINGLETON_STRING = \\"SINGLETON_STRING\\" + \\"\\"\\"1337. + + stability + :stability: experimental + \\"\\"\\" + + +@jsii.data_type( + jsii_type=\\"jsii-calc.SmellyStruct\\", + jsii_struct_bases=[], + name_mapping={\\"property\\": \\"property\\", \\"yet_anoter_one\\": \\"yetAnoterOne\\"}, +) +class SmellyStruct: + def __init__(self, *, property: str, yet_anoter_one: bool) -> None: + \\"\\"\\" + :param property: + :param yet_anoter_one: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"property\\": property, + \\"yet_anoter_one\\": yet_anoter_one, + } + + @builtins.property + def property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"property\\") + + @builtins.property + def yet_anoter_one(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"yet_anoter_one\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"SmellyStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class SomeTypeJsii976(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.SomeTypeJsii976\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(SomeTypeJsii976, self, []) + + @jsii.member(jsii_name=\\"returnAnonymous\\") + @builtins.classmethod + def return_anonymous(cls) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"returnAnonymous\\", []) + + @jsii.member(jsii_name=\\"returnReturn\\") + @builtins.classmethod + def return_return(cls) -> \\"IReturnJsii976\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"returnReturn\\", []) + + +class StableClass(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.StableClass\\"): + def __init__( + self, readonly_string: str, mutable_number: typing.Optional[jsii.Number] = None + ) -> None: + \\"\\"\\" + :param readonly_string: - + :param mutable_number: - + \\"\\"\\" + jsii.create(StableClass, self, [readonly_string, mutable_number]) + + @jsii.member(jsii_name=\\"method\\") + def method(self) -> None: + return jsii.invoke(self, \\"method\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"readonlyProperty\\") + def readonly_property(self) -> str: + return jsii.get(self, \\"readonlyProperty\\") + + @builtins.property + @jsii.member(jsii_name=\\"mutableProperty\\") + def mutable_property(self) -> typing.Optional[jsii.Number]: + return jsii.get(self, \\"mutableProperty\\") + + @mutable_property.setter + def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: + jsii.set(self, \\"mutableProperty\\", value) + + +@jsii.enum(jsii_type=\\"jsii-calc.StableEnum\\") +class StableEnum(enum.Enum): + OPTION_A = \\"OPTION_A\\" + OPTION_B = \\"OPTION_B\\" + + +@jsii.data_type( + jsii_type=\\"jsii-calc.StableStruct\\", + jsii_struct_bases=[], + name_mapping={\\"readonly_property\\": \\"readonlyProperty\\"}, +) +class StableStruct: + def __init__(self, *, readonly_property: str) -> None: + \\"\\"\\" + :param readonly_property: + \\"\\"\\" + self._values = { + \\"readonly_property\\": readonly_property, + } + + @builtins.property + def readonly_property(self) -> str: + return self._values.get(\\"readonly_property\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"StableStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class StaticContext(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.StaticContext\\"): + \\"\\"\\"This is used to validate the ability to use \`\`this\`\` from within a static context. + + https://github.com/awslabs/aws-cdk/issues/2304 + + stability + :stability: experimental + \\"\\"\\" + + @jsii.member(jsii_name=\\"canAccessStaticContext\\") + @builtins.classmethod + def can_access_static_context(cls) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"canAccessStaticContext\\", []) + + @jsii.python.classproperty + @jsii.member(jsii_name=\\"staticVariable\\") + def static_variable(cls) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sget(cls, \\"staticVariable\\") + + @static_variable.setter + def static_variable(cls, value: bool) -> None: + jsii.sset(cls, \\"staticVariable\\", value) + + +class Statics(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Statics\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, value: str) -> None: + \\"\\"\\" + :param value: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(Statics, self, [value]) + + @jsii.member(jsii_name=\\"staticMethod\\") + @builtins.classmethod + def static_method(cls, name: str) -> str: + \\"\\"\\"Jsdocs for static method. + + :param name: The name of the person to say hello to. + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"staticMethod\\", [name]) + + @jsii.member(jsii_name=\\"justMethod\\") + def just_method(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"justMethod\\", []) + + @jsii.python.classproperty + @jsii.member(jsii_name=\\"BAR\\") + def BAR(cls) -> jsii.Number: + \\"\\"\\"Constants may also use all-caps. + + stability + :stability: experimental + \\"\\"\\" + return jsii.sget(cls, \\"BAR\\") + + @jsii.python.classproperty + @jsii.member(jsii_name=\\"ConstObj\\") + def CONST_OBJ(cls) -> \\"DoubleTrouble\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sget(cls, \\"ConstObj\\") + + @jsii.python.classproperty + @jsii.member(jsii_name=\\"Foo\\") + def FOO(cls) -> str: + \\"\\"\\"Jsdocs for static property. + + stability + :stability: experimental + \\"\\"\\" + return jsii.sget(cls, \\"Foo\\") + + @jsii.python.classproperty + @jsii.member(jsii_name=\\"zooBar\\") + def ZOO_BAR(cls) -> typing.Mapping[str, str]: + \\"\\"\\"Constants can also use camelCase. + + stability + :stability: experimental + \\"\\"\\" + return jsii.sget(cls, \\"zooBar\\") + + @jsii.python.classproperty + @jsii.member(jsii_name=\\"instance\\") + def instance(cls) -> \\"Statics\\": + \\"\\"\\"Jsdocs for static getter. + + Jsdocs for static setter. + + stability + :stability: experimental + \\"\\"\\" + return jsii.sget(cls, \\"instance\\") + + @instance.setter + def instance(cls, value: \\"Statics\\") -> None: + jsii.sset(cls, \\"instance\\", value) + + @jsii.python.classproperty + @jsii.member(jsii_name=\\"nonConstStatic\\") + def non_const_static(cls) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sget(cls, \\"nonConstStatic\\") + + @non_const_static.setter + def non_const_static(cls, value: jsii.Number) -> None: + jsii.sset(cls, \\"nonConstStatic\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"value\\") + def value(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"value\\") + + +@jsii.enum(jsii_type=\\"jsii-calc.StringEnum\\") +class StringEnum(enum.Enum): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + A = \\"A\\" + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + B = \\"B\\" + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + C = \\"C\\" + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + +class StripInternal(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.StripInternal\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(StripInternal, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"youSeeMe\\") + def you_see_me(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"youSeeMe\\") + + @you_see_me.setter + def you_see_me(self, value: str) -> None: + jsii.set(self, \\"youSeeMe\\", value) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.StructA\\", + jsii_struct_bases=[], + name_mapping={ + \\"required_string\\": \\"requiredString\\", + \\"optional_number\\": \\"optionalNumber\\", + \\"optional_string\\": \\"optionalString\\", + }, +) +class StructA: + def __init__( + self, + *, + required_string: str, + optional_number: typing.Optional[jsii.Number] = None, + optional_string: typing.Optional[str] = None, + ) -> None: + \\"\\"\\"We can serialize and deserialize structs without silently ignoring optional fields. + + :param required_string: + :param optional_number: + :param optional_string: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"required_string\\": required_string, + } + if optional_number is not None: + self._values[\\"optional_number\\"] = optional_number + if optional_string is not None: + self._values[\\"optional_string\\"] = optional_string + + @builtins.property + def required_string(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"required_string\\") + + @builtins.property + def optional_number(self) -> typing.Optional[jsii.Number]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"optional_number\\") + + @builtins.property + def optional_string(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"optional_string\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"StructA(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.StructB\\", + jsii_struct_bases=[], + name_mapping={ + \\"required_string\\": \\"requiredString\\", + \\"optional_boolean\\": \\"optionalBoolean\\", + \\"optional_struct_a\\": \\"optionalStructA\\", + }, +) +class StructB: + def __init__( + self, + *, + required_string: str, + optional_boolean: typing.Optional[bool] = None, + optional_struct_a: typing.Optional[\\"StructA\\"] = None, + ) -> None: + \\"\\"\\"This intentionally overlaps with StructA (where only requiredString is provided) to test htat the kernel properly disambiguates those. + + :param required_string: + :param optional_boolean: + :param optional_struct_a: + + stability + :stability: experimental + \\"\\"\\" + if isinstance(optional_struct_a, dict): + optional_struct_a = StructA(**optional_struct_a) + self._values = { + \\"required_string\\": required_string, + } + if optional_boolean is not None: + self._values[\\"optional_boolean\\"] = optional_boolean + if optional_struct_a is not None: + self._values[\\"optional_struct_a\\"] = optional_struct_a + + @builtins.property + def required_string(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"required_string\\") + + @builtins.property + def optional_boolean(self) -> typing.Optional[bool]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"optional_boolean\\") + + @builtins.property + def optional_struct_a(self) -> typing.Optional[\\"StructA\\"]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"optional_struct_a\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"StructB(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.StructParameterType\\", + jsii_struct_bases=[], + name_mapping={\\"scope\\": \\"scope\\", \\"props\\": \\"props\\"}, +) +class StructParameterType: + def __init__(self, *, scope: str, props: typing.Optional[bool] = None) -> None: + \\"\\"\\"Verifies that, in languages that do keyword lifting (e.g: Python), having a struct member with the same name as a positional parameter results in the correct code being emitted. + + See: https://github.com/aws/aws-cdk/issues/4302 + + :param scope: + :param props: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"scope\\": scope, + } + if props is not None: + self._values[\\"props\\"] = props + + @builtins.property + def scope(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"scope\\") + + @builtins.property + def props(self) -> typing.Optional[bool]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"props\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"StructParameterType(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class StructPassing(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.StructPassing\\"): + \\"\\"\\"Just because we can.\\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(StructPassing, self, []) + + @jsii.member(jsii_name=\\"howManyVarArgsDidIPass\\") + @builtins.classmethod + def how_many_var_args_did_i_pass( + cls, _positional: jsii.Number, *inputs: \\"TopLevelStruct\\" + ) -> jsii.Number: + \\"\\"\\" + :param _positional: - + :param inputs: - + \\"\\"\\" + return jsii.sinvoke(cls, \\"howManyVarArgsDidIPass\\", [_positional, *inputs]) + + @jsii.member(jsii_name=\\"roundTrip\\") + @builtins.classmethod + def round_trip( + cls, + _positional: jsii.Number, + *, + required: str, + second_level: typing.Union[jsii.Number, \\"SecondLevelStruct\\"], + optional: typing.Optional[str] = None, + ) -> \\"TopLevelStruct\\": + \\"\\"\\" + :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. + \\"\\"\\" + input = TopLevelStruct( + required=required, second_level=second_level, optional=optional + ) + + return jsii.sinvoke(cls, \\"roundTrip\\", [_positional, input]) + + +class StructUnionConsumer( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.StructUnionConsumer\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @jsii.member(jsii_name=\\"isStructA\\") + @builtins.classmethod + def is_struct_a(cls, struct: typing.Union[\\"StructA\\", \\"StructB\\"]) -> bool: + \\"\\"\\" + :param struct: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"isStructA\\", [struct]) + + @jsii.member(jsii_name=\\"isStructB\\") + @builtins.classmethod + def is_struct_b(cls, struct: typing.Union[\\"StructA\\", \\"StructB\\"]) -> bool: + \\"\\"\\" + :param struct: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"isStructB\\", [struct]) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.StructWithJavaReservedWords\\", + jsii_struct_bases=[], + name_mapping={ + \\"default\\": \\"default\\", + \\"assert_\\": \\"assert\\", + \\"result\\": \\"result\\", + \\"that\\": \\"that\\", + }, +) +class StructWithJavaReservedWords: + def __init__( + self, + *, + default: str, + assert_: typing.Optional[str] = None, + result: typing.Optional[str] = None, + that: typing.Optional[str] = None, + ) -> None: + \\"\\"\\" + :param default: + :param assert_: + :param result: + :param that: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"default\\": default, + } + if assert_ is not None: + self._values[\\"assert_\\"] = assert_ + if result is not None: + self._values[\\"result\\"] = result + if that is not None: + self._values[\\"that\\"] = that + + @builtins.property + def default(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"default\\") + + @builtins.property + def assert_(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"assert_\\") + + @builtins.property + def result(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"result\\") + + @builtins.property + def that(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"that\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"StructWithJavaReservedWords(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class Sum( + _CompositeOperation_1c4d123b, metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Sum\\" +): + \\"\\"\\"An operation that sums multiple values. + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(Sum, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"expression\\") + def expression(self) -> scope.jsii_calc_lib.Value: + \\"\\"\\"The expression that this operation consists of. + + Must be implemented by derived classes. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"expression\\") + + @builtins.property + @jsii.member(jsii_name=\\"parts\\") + def parts(self) -> typing.List[scope.jsii_calc_lib.Value]: + \\"\\"\\"The parts to sum. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"parts\\") + + @parts.setter + def parts(self, value: typing.List[scope.jsii_calc_lib.Value]) -> None: + jsii.set(self, \\"parts\\", value) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.SupportsNiceJavaBuilderProps\\", + jsii_struct_bases=[], + name_mapping={\\"bar\\": \\"bar\\", \\"id\\": \\"id\\"}, +) +class SupportsNiceJavaBuilderProps: + def __init__(self, *, bar: jsii.Number, id: typing.Optional[str] = None) -> 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. + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"bar\\": bar, + } + if id is not None: + self._values[\\"id\\"] = id + + @builtins.property + def bar(self) -> jsii.Number: + \\"\\"\\"Some number, like 42. + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"bar\\") + + @builtins.property + def id(self) -> typing.Optional[str]: + \\"\\"\\"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. + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"id\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"SupportsNiceJavaBuilderProps(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class SupportsNiceJavaBuilderWithRequiredProps( + metaclass=jsii.JSIIMeta, + jsii_type=\\"jsii-calc.SupportsNiceJavaBuilderWithRequiredProps\\", +): + \\"\\"\\"We can generate fancy builders in Java for classes which take a mix of positional & struct parameters. + + stability + :stability: experimental + \\"\\"\\" + + def __init__( + self, id_: jsii.Number, *, bar: jsii.Number, id: typing.Optional[str] = None + ) -> None: + \\"\\"\\" + :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. + + stability + :stability: experimental + \\"\\"\\" + props = SupportsNiceJavaBuilderProps(bar=bar, id=id) + + jsii.create(SupportsNiceJavaBuilderWithRequiredProps, self, [id_, props]) + + @builtins.property + @jsii.member(jsii_name=\\"bar\\") + def bar(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"bar\\") + + @builtins.property + @jsii.member(jsii_name=\\"id\\") + def id(self) -> jsii.Number: + \\"\\"\\"some identifier of your choice. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"id\\") + + @builtins.property + @jsii.member(jsii_name=\\"propId\\") + def prop_id(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"propId\\") + + +class SyncVirtualMethods( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.SyncVirtualMethods\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(SyncVirtualMethods, self, []) + + @jsii.member(jsii_name=\\"callerIsAsync\\") + def caller_is_async(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.ainvoke(self, \\"callerIsAsync\\", []) + + @jsii.member(jsii_name=\\"callerIsMethod\\") + def caller_is_method(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"callerIsMethod\\", []) + + @jsii.member(jsii_name=\\"modifyOtherProperty\\") + def modify_other_property(self, value: str) -> None: + \\"\\"\\" + :param value: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"modifyOtherProperty\\", [value]) + + @jsii.member(jsii_name=\\"modifyValueOfTheProperty\\") + def modify_value_of_the_property(self, value: str) -> None: + \\"\\"\\" + :param value: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"modifyValueOfTheProperty\\", [value]) + + @jsii.member(jsii_name=\\"readA\\") + def read_a(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"readA\\", []) + + @jsii.member(jsii_name=\\"retrieveOtherProperty\\") + def retrieve_other_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"retrieveOtherProperty\\", []) + + @jsii.member(jsii_name=\\"retrieveReadOnlyProperty\\") + def retrieve_read_only_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"retrieveReadOnlyProperty\\", []) + + @jsii.member(jsii_name=\\"retrieveValueOfTheProperty\\") + def retrieve_value_of_the_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"retrieveValueOfTheProperty\\", []) + + @jsii.member(jsii_name=\\"virtualMethod\\") + def virtual_method(self, n: jsii.Number) -> jsii.Number: + \\"\\"\\" + :param n: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"virtualMethod\\", [n]) + + @jsii.member(jsii_name=\\"writeA\\") + def write_a(self, value: jsii.Number) -> None: + \\"\\"\\" + :param value: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"writeA\\", [value]) + + @builtins.property + @jsii.member(jsii_name=\\"readonlyProperty\\") + def readonly_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"readonlyProperty\\") + + @builtins.property + @jsii.member(jsii_name=\\"a\\") + def a(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"a\\") + + @a.setter + def a(self, value: jsii.Number) -> None: + jsii.set(self, \\"a\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"callerIsProperty\\") + def caller_is_property(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"callerIsProperty\\") + + @caller_is_property.setter + def caller_is_property(self, value: jsii.Number) -> None: + jsii.set(self, \\"callerIsProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"otherProperty\\") + def other_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"otherProperty\\") + + @other_property.setter + def other_property(self, value: str) -> None: + jsii.set(self, \\"otherProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"theProperty\\") + def the_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"theProperty\\") + + @the_property.setter + def the_property(self, value: str) -> None: + jsii.set(self, \\"theProperty\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"valueOfOtherProperty\\") + def value_of_other_property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"valueOfOtherProperty\\") + + @value_of_other_property.setter + def value_of_other_property(self, value: str) -> None: + jsii.set(self, \\"valueOfOtherProperty\\", value) + + +class Thrower(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Thrower\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(Thrower, self, []) + + @jsii.member(jsii_name=\\"throwError\\") + def throw_error(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"throwError\\", []) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.TopLevelStruct\\", + jsii_struct_bases=[], + name_mapping={ + \\"required\\": \\"required\\", + \\"second_level\\": \\"secondLevel\\", + \\"optional\\": \\"optional\\", + }, +) +class TopLevelStruct: + def __init__( + self, + *, + required: str, + second_level: typing.Union[jsii.Number, \\"SecondLevelStruct\\"], + optional: typing.Optional[str] = None, + ) -> None: + \\"\\"\\" + :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. + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"required\\": required, + \\"second_level\\": second_level, + } + if optional is not None: + self._values[\\"optional\\"] = optional + + @builtins.property + def required(self) -> str: + \\"\\"\\"This is a required field. + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"required\\") + + @builtins.property + def second_level(self) -> typing.Union[jsii.Number, \\"SecondLevelStruct\\"]: + \\"\\"\\"A union to really stress test our serialization. + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"second_level\\") + + @builtins.property + def optional(self) -> typing.Optional[str]: + \\"\\"\\"You don't have to pass this. + + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"optional\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"TopLevelStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +class UmaskCheck(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.UmaskCheck\\"): + \\"\\"\\"Checks the current file permissions are cool (no funky UMASK down-scoping happened). + + see + :see: https://github.com/aws/jsii/issues/1765 + stability + :stability: experimental + \\"\\"\\" + + @jsii.member(jsii_name=\\"mode\\") + @builtins.classmethod + def mode(cls) -> jsii.Number: + \\"\\"\\"This should return 0o644 (-rw-r--r--). + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"mode\\", []) + + +class UnaryOperation( + scope.jsii_calc_lib.Operation, + metaclass=jsii.JSIIAbstractClass, + jsii_type=\\"jsii-calc.UnaryOperation\\", +): + \\"\\"\\"An operation on a single operand. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _UnaryOperationProxy + + def __init__(self, operand: scope.jsii_calc_lib.Value) -> None: + \\"\\"\\" + :param operand: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(UnaryOperation, self, [operand]) + + @builtins.property + @jsii.member(jsii_name=\\"operand\\") + def operand(self) -> scope.jsii_calc_lib.Value: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"operand\\") + + +class _UnaryOperationProxy( + UnaryOperation, jsii.proxy_for(scope.jsii_calc_lib.Operation) +): + pass + + +@jsii.data_type( + jsii_type=\\"jsii-calc.UnionProperties\\", + jsii_struct_bases=[], + name_mapping={\\"bar\\": \\"bar\\", \\"foo\\": \\"foo\\"}, +) +class UnionProperties: + def __init__( + self, + *, + bar: typing.Union[str, jsii.Number, \\"AllTypes\\"], + foo: typing.Optional[typing.Union[str, jsii.Number]] = None, + ) -> None: + \\"\\"\\" + :param bar: + :param foo: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"bar\\": bar, + } + if foo is not None: + self._values[\\"foo\\"] = foo + + @builtins.property + def bar(self) -> typing.Union[str, jsii.Number, \\"AllTypes\\"]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"bar\\") + + @builtins.property + def foo(self) -> typing.Optional[typing.Union[str, jsii.Number]]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"foo\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"UnionProperties(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +@jsii.implements(scope.jsii_calc_lib.custom_submodule_name.IReflectable) +class UpcasingReflectable( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.UpcasingReflectable\\" +): + \\"\\"\\"Ensures submodule-imported types from dependencies can be used correctly. + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, delegate: typing.Mapping[str, typing.Any]) -> None: + \\"\\"\\" + :param delegate: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(UpcasingReflectable, self, [delegate]) + + @jsii.python.classproperty + @jsii.member(jsii_name=\\"reflector\\") + def REFLECTOR(cls) -> scope.jsii_calc_lib.custom_submodule_name.Reflector: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sget(cls, \\"reflector\\") + + @builtins.property + @jsii.member(jsii_name=\\"entries\\") + def entries( + self, + ) -> typing.List[scope.jsii_calc_lib.custom_submodule_name.ReflectableEntry]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"entries\\") + + +class UseBundledDependency( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.UseBundledDependency\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(UseBundledDependency, self, []) + + @jsii.member(jsii_name=\\"value\\") + def value(self) -> typing.Any: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"value\\", []) + + +class UseCalcBase(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.UseCalcBase\\"): + \\"\\"\\"Depend on a type from jsii-calc-base as a test for awslabs/jsii#128. + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(UseCalcBase, self, []) + + @jsii.member(jsii_name=\\"hello\\") + def hello(self) -> scope.jsii_calc_base.Base: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"hello\\", []) + + +class UsesInterfaceWithProperties( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.UsesInterfaceWithProperties\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, obj: \\"IInterfaceWithProperties\\") -> None: + \\"\\"\\" + :param obj: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(UsesInterfaceWithProperties, self, [obj]) + + @jsii.member(jsii_name=\\"justRead\\") + def just_read(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"justRead\\", []) + + @jsii.member(jsii_name=\\"readStringAndNumber\\") + def read_string_and_number(self, ext: \\"IInterfaceWithPropertiesExtension\\") -> str: + \\"\\"\\" + :param ext: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"readStringAndNumber\\", [ext]) + + @jsii.member(jsii_name=\\"writeAndRead\\") + def write_and_read(self, value: str) -> str: + \\"\\"\\" + :param value: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"writeAndRead\\", [value]) + + @builtins.property + @jsii.member(jsii_name=\\"obj\\") + def obj(self) -> \\"IInterfaceWithProperties\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"obj\\") + + +class VariadicInvoker(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.VariadicInvoker\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, method: \\"VariadicMethod\\") -> None: + \\"\\"\\" + :param method: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(VariadicInvoker, self, [method]) + + @jsii.member(jsii_name=\\"asArray\\") + def as_array(self, *values: jsii.Number) -> typing.List[jsii.Number]: + \\"\\"\\" + :param values: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"asArray\\", [*values]) + + +class VariadicMethod(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.VariadicMethod\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, *prefix: jsii.Number) -> None: + \\"\\"\\" + :param prefix: a prefix that will be use for all values returned by \`\`#asArray\`\`. + + stability + :stability: experimental + \\"\\"\\" + jsii.create(VariadicMethod, self, [*prefix]) + + @jsii.member(jsii_name=\\"asArray\\") + def as_array( + self, first: jsii.Number, *others: jsii.Number + ) -> 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. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"asArray\\", [first, *others]) + + +class VirtualMethodPlayground( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.VirtualMethodPlayground\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(VirtualMethodPlayground, self, []) + + @jsii.member(jsii_name=\\"overrideMeAsync\\") + def override_me_async(self, index: jsii.Number) -> jsii.Number: + \\"\\"\\" + :param index: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.ainvoke(self, \\"overrideMeAsync\\", [index]) + + @jsii.member(jsii_name=\\"overrideMeSync\\") + def override_me_sync(self, index: jsii.Number) -> jsii.Number: + \\"\\"\\" + :param index: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"overrideMeSync\\", [index]) + + @jsii.member(jsii_name=\\"parallelSumAsync\\") + def parallel_sum_async(self, count: jsii.Number) -> jsii.Number: + \\"\\"\\" + :param count: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.ainvoke(self, \\"parallelSumAsync\\", [count]) + + @jsii.member(jsii_name=\\"serialSumAsync\\") + def serial_sum_async(self, count: jsii.Number) -> jsii.Number: + \\"\\"\\" + :param count: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.ainvoke(self, \\"serialSumAsync\\", [count]) + + @jsii.member(jsii_name=\\"sumSync\\") + def sum_sync(self, count: jsii.Number) -> jsii.Number: + \\"\\"\\" + :param count: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"sumSync\\", [count]) + + +class VoidCallback( + metaclass=jsii.JSIIAbstractClass, jsii_type=\\"jsii-calc.VoidCallback\\" +): + \\"\\"\\"This test is used to validate the runtimes can return correctly from a void callback. + + - Implement \`\`overrideMe\`\` (method does not have to do anything). + - Invoke \`\`callMe\`\` + - Verify that \`\`methodWasCalled\`\` is \`\`true\`\`. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _VoidCallbackProxy + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(VoidCallback, self, []) + + @jsii.member(jsii_name=\\"callMe\\") + def call_me(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"callMe\\", []) + + @jsii.member(jsii_name=\\"overrideMe\\") + @abc.abstractmethod + def _override_me(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @builtins.property + @jsii.member(jsii_name=\\"methodWasCalled\\") + def method_was_called(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"methodWasCalled\\") + + +class _VoidCallbackProxy(VoidCallback): + @jsii.member(jsii_name=\\"overrideMe\\") + def _override_me(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"overrideMe\\", []) + + +class WithPrivatePropertyInConstructor( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.WithPrivatePropertyInConstructor\\" +): + \\"\\"\\"Verifies that private property declarations in constructor arguments are hidden. + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, private_field: typing.Optional[str] = None) -> None: + \\"\\"\\" + :param private_field: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(WithPrivatePropertyInConstructor, self, [private_field]) + + @builtins.property + @jsii.member(jsii_name=\\"success\\") + def success(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"success\\") + + +@jsii.implements(IInterfaceImplementedByAbstractClass) +class AbstractClass( + AbstractClassBase, + metaclass=jsii.JSIIAbstractClass, + jsii_type=\\"jsii-calc.AbstractClass\\", +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _AbstractClassProxy + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(AbstractClass, self, []) + + @jsii.member(jsii_name=\\"abstractMethod\\") + @abc.abstractmethod + def abstract_method(self, name: str) -> str: + \\"\\"\\" + :param name: - + + stability + :stability: experimental + \\"\\"\\" + ... + + @jsii.member(jsii_name=\\"nonAbstractMethod\\") + def non_abstract_method(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"nonAbstractMethod\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"propFromInterface\\") + def prop_from_interface(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"propFromInterface\\") + + +class _AbstractClassProxy(AbstractClass, jsii.proxy_for(AbstractClassBase)): + @jsii.member(jsii_name=\\"abstractMethod\\") + def abstract_method(self, name: str) -> str: + \\"\\"\\" + :param name: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"abstractMethod\\", [name]) + + +class Add(BinaryOperation, metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Add\\"): + \\"\\"\\"The \\"+\\" binary operation. + + stability + :stability: experimental + \\"\\"\\" + + def __init__( + self, lhs: scope.jsii_calc_lib.Value, rhs: scope.jsii_calc_lib.Value + ) -> None: + \\"\\"\\"Creates a BinaryOperation. + + :param lhs: Left-hand side operand. + :param rhs: Right-hand side operand. + + stability + :stability: experimental + \\"\\"\\" + jsii.create(Add, self, [lhs, rhs]) + + @jsii.member(jsii_name=\\"toString\\") + def to_string(self) -> str: + \\"\\"\\"String representation of the value. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"toString\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"value\\") + def value(self) -> jsii.Number: + \\"\\"\\"The value. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"value\\") + + +@jsii.implements(IAnonymousImplementationProvider) +class AnonymousImplementationProvider( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.AnonymousImplementationProvider\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(AnonymousImplementationProvider, self, []) + + @jsii.member(jsii_name=\\"provideAsClass\\") + def provide_as_class(self) -> \\"Implementation\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"provideAsClass\\", []) + + @jsii.member(jsii_name=\\"provideAsInterface\\") + def provide_as_interface(self) -> \\"IAnonymouslyImplementMe\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"provideAsInterface\\", []) + + +@jsii.implements(IBell) +class Bell(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Bell\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(Bell, self, []) + + @jsii.member(jsii_name=\\"ring\\") + def ring(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"ring\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"rung\\") + def rung(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"rung\\") + + @rung.setter + def rung(self, value: bool) -> None: + jsii.set(self, \\"rung\\", value) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.ChildStruct982\\", + jsii_struct_bases=[ParentStruct982], + name_mapping={\\"foo\\": \\"foo\\", \\"bar\\": \\"bar\\"}, +) +class ChildStruct982(ParentStruct982): + def __init__(self, *, foo: str, bar: jsii.Number) -> None: + \\"\\"\\" + :param foo: + :param bar: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"foo\\": foo, + \\"bar\\": bar, + } + + @builtins.property + def foo(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"foo\\") + + @builtins.property + def bar(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"bar\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"ChildStruct982(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +@jsii.implements(INonInternalInterface) +class ClassThatImplementsTheInternalInterface( + metaclass=jsii.JSIIMeta, + jsii_type=\\"jsii-calc.ClassThatImplementsTheInternalInterface\\", +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(ClassThatImplementsTheInternalInterface, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"a\\") + def a(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"a\\") + + @a.setter + def a(self, value: str) -> None: + jsii.set(self, \\"a\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"b\\") + def b(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"b\\") + + @b.setter + def b(self, value: str) -> None: + jsii.set(self, \\"b\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"c\\") + def c(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"c\\") + + @c.setter + def c(self, value: str) -> None: + jsii.set(self, \\"c\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"d\\") + def d(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"d\\") + + @d.setter + def d(self, value: str) -> None: + jsii.set(self, \\"d\\", value) + + +@jsii.implements(INonInternalInterface) +class ClassThatImplementsThePrivateInterface( + metaclass=jsii.JSIIMeta, + jsii_type=\\"jsii-calc.ClassThatImplementsThePrivateInterface\\", +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(ClassThatImplementsThePrivateInterface, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"a\\") + def a(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"a\\") + + @a.setter + def a(self, value: str) -> None: + jsii.set(self, \\"a\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"b\\") + def b(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"b\\") + + @b.setter + def b(self, value: str) -> None: + jsii.set(self, \\"b\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"c\\") + def c(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"c\\") + + @c.setter + def c(self, value: str) -> None: + jsii.set(self, \\"c\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"e\\") + def e(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"e\\") + + @e.setter + def e(self, value: str) -> None: + jsii.set(self, \\"e\\", value) + + +@jsii.implements(IInterfaceWithProperties) +class ClassWithPrivateConstructorAndAutomaticProperties( + metaclass=jsii.JSIIMeta, + jsii_type=\\"jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties\\", +): + \\"\\"\\"Class that implements interface properties automatically, but using a private constructor. + + stability + :stability: experimental + \\"\\"\\" + + @jsii.member(jsii_name=\\"create\\") + @builtins.classmethod + def create( + cls, read_only_string: str, read_write_string: str + ) -> \\"ClassWithPrivateConstructorAndAutomaticProperties\\": + \\"\\"\\" + :param read_only_string: - + :param read_write_string: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.sinvoke(cls, \\"create\\", [read_only_string, read_write_string]) + + @builtins.property + @jsii.member(jsii_name=\\"readOnlyString\\") + def read_only_string(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"readOnlyString\\") + + @builtins.property + @jsii.member(jsii_name=\\"readWriteString\\") + def read_write_string(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"readWriteString\\") + + @read_write_string.setter + def read_write_string(self, value: str) -> None: + jsii.set(self, \\"readWriteString\\", value) + + +@jsii.interface(jsii_type=\\"jsii-calc.IFriendlyRandomGenerator\\") +class IFriendlyRandomGenerator( + IRandomNumberGenerator, scope.jsii_calc_lib.IFriendly, jsii.compat.Protocol +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IFriendlyRandomGeneratorProxy + + pass + + +class _IFriendlyRandomGeneratorProxy( + jsii.proxy_for(IRandomNumberGenerator), + jsii.proxy_for(scope.jsii_calc_lib.IFriendly), +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IFriendlyRandomGenerator\\" + pass + + +@jsii.interface(jsii_type=\\"jsii-calc.IInterfaceThatShouldNotBeADataType\\") +class IInterfaceThatShouldNotBeADataType(IInterfaceWithMethods, jsii.compat.Protocol): + \\"\\"\\"Even though this interface has only properties, it is disqualified from being a datatype because it inherits from an interface that is not a datatype. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IInterfaceThatShouldNotBeADataTypeProxy + + @builtins.property + @jsii.member(jsii_name=\\"otherValue\\") + def other_value(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IInterfaceThatShouldNotBeADataTypeProxy(jsii.proxy_for(IInterfaceWithMethods)): + \\"\\"\\"Even though this interface has only properties, it is disqualified from being a datatype because it inherits from an interface that is not a datatype. + + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IInterfaceThatShouldNotBeADataType\\" + + @builtins.property + @jsii.member(jsii_name=\\"otherValue\\") + def other_value(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"otherValue\\") + + +@jsii.interface(jsii_type=\\"jsii-calc.IJSII417Derived\\") +class IJSII417Derived(IJSII417PublicBaseOfBase, jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IJSII417DerivedProxy + + @builtins.property + @jsii.member(jsii_name=\\"property\\") + def property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @jsii.member(jsii_name=\\"bar\\") + def bar(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + @jsii.member(jsii_name=\\"baz\\") + def baz(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IJSII417DerivedProxy(jsii.proxy_for(IJSII417PublicBaseOfBase)): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.IJSII417Derived\\" + + @builtins.property + @jsii.member(jsii_name=\\"property\\") + def property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"property\\") + + @jsii.member(jsii_name=\\"bar\\") + def bar(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"bar\\", []) + + @jsii.member(jsii_name=\\"baz\\") + def baz(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"baz\\", []) + + +@jsii.implements(IPublicInterface2) +class InbetweenClass( + PublicClass, metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.InbetweenClass\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(InbetweenClass, self, []) + + @jsii.member(jsii_name=\\"ciao\\") + def ciao(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"ciao\\", []) + + +class JSII417Derived( + JSII417PublicBaseOfBase, + metaclass=jsii.JSIIMeta, + jsii_type=\\"jsii-calc.JSII417Derived\\", +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, property: str) -> None: + \\"\\"\\" + :param property: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(JSII417Derived, self, [property]) + + @jsii.member(jsii_name=\\"bar\\") + def bar(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"bar\\", []) + + @jsii.member(jsii_name=\\"baz\\") + def baz(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"baz\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"property\\") + def _property(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"property\\") + + +@jsii.implements(IFriendlier) +class Negate(UnaryOperation, metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.Negate\\"): + \\"\\"\\"The negation operation (\\"-value\\"). + + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, operand: scope.jsii_calc_lib.Value) -> None: + \\"\\"\\" + :param operand: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(Negate, self, [operand]) + + @jsii.member(jsii_name=\\"farewell\\") + def farewell(self) -> str: + \\"\\"\\"Say farewell. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"farewell\\", []) + + @jsii.member(jsii_name=\\"goodbye\\") + def goodbye(self) -> str: + \\"\\"\\"Say goodbye. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"goodbye\\", []) + + @jsii.member(jsii_name=\\"hello\\") + def hello(self) -> str: + \\"\\"\\"Say hello! + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"hello\\", []) + + @jsii.member(jsii_name=\\"toString\\") + def to_string(self) -> str: + \\"\\"\\"String representation of the value. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"toString\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"value\\") + def value(self) -> jsii.Number: + \\"\\"\\"The value. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"value\\") + + +class SupportsNiceJavaBuilder( + SupportsNiceJavaBuilderWithRequiredProps, + metaclass=jsii.JSIIMeta, + jsii_type=\\"jsii-calc.SupportsNiceJavaBuilder\\", +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__( + self, + id: jsii.Number, + default_bar: typing.Optional[jsii.Number] = None, + props: typing.Optional[\\"SupportsNiceJavaBuilderProps\\"] = None, + *rest: str, + ) -> None: + \\"\\"\\" + :param id: some identifier. + :param default_bar: the default value of \`\`bar\`\`. + :param props: some props once can provide. + :param rest: a variadic continuation. + + stability + :stability: experimental + \\"\\"\\" + jsii.create(SupportsNiceJavaBuilder, self, [id, default_bar, props, *rest]) + + @builtins.property + @jsii.member(jsii_name=\\"id\\") + def id(self) -> jsii.Number: + \\"\\"\\"some identifier. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"id\\") + + @builtins.property + @jsii.member(jsii_name=\\"rest\\") + def rest(self) -> typing.List[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"rest\\") + + +@jsii.implements(IFriendlyRandomGenerator) +class DoubleTrouble(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.DoubleTrouble\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(DoubleTrouble, self, []) + + @jsii.member(jsii_name=\\"hello\\") + def hello(self) -> str: + \\"\\"\\"Say hello! + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"hello\\", []) + + @jsii.member(jsii_name=\\"next\\") + def next(self) -> jsii.Number: + \\"\\"\\"Returns another random number. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"next\\", []) + + +__all__ = [ + \\"AbstractClass\\", + \\"AbstractClassBase\\", + \\"AbstractClassReturner\\", + \\"AbstractSuite\\", + \\"Add\\", + \\"AllTypes\\", + \\"AllTypesEnum\\", + \\"AllowedMethodNames\\", + \\"AmbiguousParameters\\", + \\"AnonymousImplementationProvider\\", + \\"AsyncVirtualMethods\\", + \\"AugmentableClass\\", + \\"BaseJsii976\\", + \\"Bell\\", + \\"BinaryOperation\\", + \\"Calculator\\", + \\"CalculatorProps\\", + \\"ChildStruct982\\", + \\"ClassThatImplementsTheInternalInterface\\", + \\"ClassThatImplementsThePrivateInterface\\", + \\"ClassWithCollections\\", + \\"ClassWithDocs\\", + \\"ClassWithJavaReservedWords\\", + \\"ClassWithMutableObjectLiteralProperty\\", + \\"ClassWithPrivateConstructorAndAutomaticProperties\\", + \\"ConfusingToJackson\\", + \\"ConfusingToJacksonStruct\\", + \\"ConstructorPassesThisOut\\", + \\"Constructors\\", + \\"ConsumePureInterface\\", + \\"ConsumerCanRingBell\\", + \\"ConsumersOfThisCrazyTypeSystem\\", + \\"DataRenderer\\", + \\"DefaultedConstructorArgument\\", + \\"Demonstrate982\\", + \\"DeprecatedClass\\", + \\"DeprecatedEnum\\", + \\"DeprecatedStruct\\", + \\"DerivedStruct\\", + \\"DiamondInheritanceBaseLevelStruct\\", + \\"DiamondInheritanceFirstMidLevelStruct\\", + \\"DiamondInheritanceSecondMidLevelStruct\\", + \\"DiamondInheritanceTopLevelStruct\\", + \\"DisappointingCollectionSource\\", + \\"DoNotOverridePrivates\\", + \\"DoNotRecognizeAnyAsOptional\\", + \\"DocumentedClass\\", + \\"DontComplainAboutVariadicAfterOptional\\", + \\"DoubleTrouble\\", + \\"EnumDispenser\\", + \\"EraseUndefinedHashValues\\", + \\"EraseUndefinedHashValuesOptions\\", + \\"ExperimentalClass\\", + \\"ExperimentalEnum\\", + \\"ExperimentalStruct\\", + \\"ExportedBaseClass\\", + \\"ExtendsInternalInterface\\", + \\"ExternalClass\\", + \\"ExternalEnum\\", + \\"ExternalStruct\\", + \\"GiveMeStructs\\", + \\"Greetee\\", + \\"GreetingAugmenter\\", + \\"IAnonymousImplementationProvider\\", + \\"IAnonymouslyImplementMe\\", + \\"IAnotherPublicInterface\\", + \\"IBell\\", + \\"IBellRinger\\", + \\"IConcreteBellRinger\\", + \\"IDeprecatedInterface\\", + \\"IExperimentalInterface\\", + \\"IExtendsPrivateInterface\\", + \\"IExternalInterface\\", + \\"IFriendlier\\", + \\"IFriendlyRandomGenerator\\", + \\"IInterfaceImplementedByAbstractClass\\", + \\"IInterfaceThatShouldNotBeADataType\\", + \\"IInterfaceWithInternal\\", + \\"IInterfaceWithMethods\\", + \\"IInterfaceWithOptionalMethodArguments\\", + \\"IInterfaceWithProperties\\", + \\"IInterfaceWithPropertiesExtension\\", + \\"IJSII417Derived\\", + \\"IJSII417PublicBaseOfBase\\", + \\"IJsii487External\\", + \\"IJsii487External2\\", + \\"IJsii496\\", + \\"IMutableObjectLiteral\\", + \\"INonInternalInterface\\", + \\"IObjectWithProperty\\", + \\"IOptionalMethod\\", + \\"IPrivatelyImplemented\\", + \\"IPublicInterface\\", + \\"IPublicInterface2\\", + \\"IRandomNumberGenerator\\", + \\"IReturnJsii976\\", + \\"IReturnsNumber\\", + \\"IStableInterface\\", + \\"IStructReturningDelegate\\", + \\"ImplementInternalInterface\\", + \\"Implementation\\", + \\"ImplementsInterfaceWithInternal\\", + \\"ImplementsInterfaceWithInternalSubclass\\", + \\"ImplementsPrivateInterface\\", + \\"ImplictBaseOfBase\\", + \\"InbetweenClass\\", + \\"InterfaceCollections\\", + \\"InterfacesMaker\\", + \\"Isomorphism\\", + \\"JSII417Derived\\", + \\"JSII417PublicBaseOfBase\\", + \\"JSObjectLiteralForInterface\\", + \\"JSObjectLiteralToNative\\", + \\"JSObjectLiteralToNativeClass\\", + \\"JavaReservedWords\\", + \\"Jsii487Derived\\", + \\"Jsii496Derived\\", + \\"JsiiAgent\\", + \\"JsonFormatter\\", + \\"LoadBalancedFargateServiceProps\\", + \\"MethodNamedProperty\\", + \\"Multiply\\", + \\"Negate\\", + \\"NestedStruct\\", + \\"NodeStandardLibrary\\", + \\"NullShouldBeTreatedAsUndefined\\", + \\"NullShouldBeTreatedAsUndefinedData\\", + \\"NumberGenerator\\", + \\"ObjectRefsInCollections\\", + \\"ObjectWithPropertyProvider\\", + \\"Old\\", + \\"OptionalArgumentInvoker\\", + \\"OptionalConstructorArgument\\", + \\"OptionalStruct\\", + \\"OptionalStructConsumer\\", + \\"OverridableProtectedMember\\", + \\"OverrideReturnsObject\\", + \\"ParentStruct982\\", + \\"PartiallyInitializedThisConsumer\\", + \\"Polymorphism\\", + \\"Power\\", + \\"PropertyNamedProperty\\", + \\"PublicClass\\", + \\"PythonReservedWords\\", + \\"ReferenceEnumFromScopedPackage\\", + \\"ReturnsPrivateImplementationOfInterface\\", + \\"RootStruct\\", + \\"RootStructValidator\\", + \\"RuntimeTypeChecking\\", + \\"SecondLevelStruct\\", + \\"SingleInstanceTwoTypes\\", + \\"SingletonInt\\", + \\"SingletonIntEnum\\", + \\"SingletonString\\", + \\"SingletonStringEnum\\", + \\"SmellyStruct\\", + \\"SomeTypeJsii976\\", + \\"StableClass\\", + \\"StableEnum\\", + \\"StableStruct\\", + \\"StaticContext\\", + \\"Statics\\", + \\"StringEnum\\", + \\"StripInternal\\", + \\"StructA\\", + \\"StructB\\", + \\"StructParameterType\\", + \\"StructPassing\\", + \\"StructUnionConsumer\\", + \\"StructWithJavaReservedWords\\", + \\"Sum\\", + \\"SupportsNiceJavaBuilder\\", + \\"SupportsNiceJavaBuilderProps\\", + \\"SupportsNiceJavaBuilderWithRequiredProps\\", + \\"SyncVirtualMethods\\", + \\"Thrower\\", + \\"TopLevelStruct\\", + \\"UmaskCheck\\", + \\"UnaryOperation\\", + \\"UnionProperties\\", + \\"UpcasingReflectable\\", + \\"UseBundledDependency\\", + \\"UseCalcBase\\", + \\"UsesInterfaceWithProperties\\", + \\"VariadicInvoker\\", + \\"VariadicMethod\\", + \\"VirtualMethodPlayground\\", + \\"VoidCallback\\", + \\"WithPrivatePropertyInConstructor\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/_jsii/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +import scope.jsii_calc_base._jsii +import scope.jsii_calc_base_of_base._jsii +import scope.jsii_calc_lib._jsii + +__jsii_assembly__ = jsii.JSIIAssembly.load( + \\"jsii-calc\\", \\"0.0.0\\", __name__[0:-6], \\"jsii-calc@0.0.0.jsii.tgz\\" +) + +__all__ = [ + \\"__jsii_assembly__\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/_jsii/jsii-calc@0.0.0.jsii.tgz 1`] = `python/src/jsii_calc/_jsii/jsii-calc@0.0.0.jsii.tgz is a tarball`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/composition/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from .._jsii import * + +import scope.jsii_calc_lib + + +class CompositeOperation( + scope.jsii_calc_lib.Operation, + metaclass=jsii.JSIIAbstractClass, + jsii_type=\\"jsii-calc.composition.CompositeOperation\\", +): + \\"\\"\\"Abstract operation composed from an expression of other operations. + + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _CompositeOperationProxy + + def __init__(self) -> None: + jsii.create(CompositeOperation, self, []) + + @jsii.member(jsii_name=\\"toString\\") + def to_string(self) -> str: + \\"\\"\\"String representation of the value. + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self, \\"toString\\", []) + + @builtins.property + @jsii.member(jsii_name=\\"expression\\") + @abc.abstractmethod + def expression(self) -> scope.jsii_calc_lib.Value: + \\"\\"\\"The expression that this operation consists of. + + Must be implemented by derived classes. + + stability + :stability: experimental + \\"\\"\\" + ... + + @builtins.property + @jsii.member(jsii_name=\\"value\\") + def value(self) -> jsii.Number: + \\"\\"\\"The value. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"value\\") + + @builtins.property + @jsii.member(jsii_name=\\"decorationPostfixes\\") + def decoration_postfixes(self) -> typing.List[str]: + \\"\\"\\"A set of postfixes to include in a decorated .toString(). + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"decorationPostfixes\\") + + @decoration_postfixes.setter + def decoration_postfixes(self, value: typing.List[str]) -> None: + jsii.set(self, \\"decorationPostfixes\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"decorationPrefixes\\") + def decoration_prefixes(self) -> typing.List[str]: + \\"\\"\\"A set of prefixes to include in a decorated .toString(). + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"decorationPrefixes\\") + + @decoration_prefixes.setter + def decoration_prefixes(self, value: typing.List[str]) -> None: + jsii.set(self, \\"decorationPrefixes\\", value) + + @builtins.property + @jsii.member(jsii_name=\\"stringStyle\\") + def string_style(self) -> \\"CompositionStringStyle\\": + \\"\\"\\"The .toString() style. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"stringStyle\\") + + @string_style.setter + def string_style(self, value: \\"CompositionStringStyle\\") -> None: + jsii.set(self, \\"stringStyle\\", value) + + @jsii.enum( + jsii_type=\\"jsii-calc.composition.CompositeOperation.CompositionStringStyle\\" + ) + class CompositionStringStyle(enum.Enum): + \\"\\"\\"Style of .toString() output for CompositeOperation. + + stability + :stability: experimental + \\"\\"\\" + + NORMAL = \\"NORMAL\\" + \\"\\"\\"Normal string expression. + + stability + :stability: experimental + \\"\\"\\" + DECORATED = \\"DECORATED\\" + \\"\\"\\"Decorated string expression. + + stability + :stability: experimental + \\"\\"\\" + + +class _CompositeOperationProxy( + CompositeOperation, jsii.proxy_for(scope.jsii_calc_lib.Operation) +): + @builtins.property + @jsii.member(jsii_name=\\"expression\\") + def expression(self) -> scope.jsii_calc_lib.Value: + \\"\\"\\"The expression that this operation consists of. + + Must be implemented by derived classes. + + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"expression\\") + + +__all__ = [ + \\"CompositeOperation\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/derived_class_has_no_properties/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from .._jsii import * + + +class Base( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.DerivedClassHasNoProperties.Base\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(Base, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"prop\\") + def prop(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"prop\\") + + @prop.setter + def prop(self, value: str) -> None: + jsii.set(self, \\"prop\\", value) + + +class Derived( + Base, + metaclass=jsii.JSIIMeta, + jsii_type=\\"jsii-calc.DerivedClassHasNoProperties.Derived\\", +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(Derived, self, []) + + +__all__ = [ + \\"Base\\", + \\"Derived\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/interface_in_namespace_includes_classes/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from .._jsii import * + + +class Foo( + metaclass=jsii.JSIIMeta, + jsii_type=\\"jsii-calc.InterfaceInNamespaceIncludesClasses.Foo\\", +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(Foo, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"bar\\") + def bar(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"bar\\") + + @bar.setter + def bar(self, value: typing.Optional[str]) -> None: + jsii.set(self, \\"bar\\", value) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.InterfaceInNamespaceIncludesClasses.Hello\\", + jsii_struct_bases=[], + name_mapping={\\"foo\\": \\"foo\\"}, +) +class Hello: + def __init__(self, *, foo: jsii.Number) -> None: + \\"\\"\\" + :param foo: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"foo\\": foo, + } + + @builtins.property + def foo(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"foo\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"Hello(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +__all__ = [ + \\"Foo\\", + \\"Hello\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/interface_in_namespace_only_interface/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from .._jsii import * + + +@jsii.data_type( + jsii_type=\\"jsii-calc.InterfaceInNamespaceOnlyInterface.Hello\\", + jsii_struct_bases=[], + name_mapping={\\"foo\\": \\"foo\\"}, +) +class Hello: + def __init__(self, *, foo: jsii.Number) -> None: + \\"\\"\\" + :param foo: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"foo\\": foo, + } + + @builtins.property + def foo(self) -> jsii.Number: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"foo\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"Hello(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +__all__ = [ + \\"Hello\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/py.typed 1`] = ` +Object { + Symbol(file): " +", +} +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/python_self/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from .._jsii import * + + +class ClassWithSelf( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.PythonSelf.ClassWithSelf\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self_, self: str) -> None: + \\"\\"\\" + :param self: - + + stability + :stability: experimental + \\"\\"\\" + jsii.create(ClassWithSelf, self_, [self]) + + @jsii.member(jsii_name=\\"method\\") + def method(self_, self: jsii.Number) -> str: + \\"\\"\\" + :param self: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self_, \\"method\\", [self]) + + @builtins.property + @jsii.member(jsii_name=\\"self\\") + def self(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"self\\") + + +class ClassWithSelfKwarg( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.PythonSelf.ClassWithSelfKwarg\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self_, *, self: str) -> None: + \\"\\"\\" + :param self: + + stability + :stability: experimental + \\"\\"\\" + props = StructWithSelf(self=self) + + jsii.create(ClassWithSelfKwarg, self_, [props]) + + @builtins.property + @jsii.member(jsii_name=\\"props\\") + def props(self) -> \\"StructWithSelf\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"props\\") + + +@jsii.interface(jsii_type=\\"jsii-calc.PythonSelf.IInterfaceWithSelf\\") +class IInterfaceWithSelf(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _IInterfaceWithSelfProxy + + @jsii.member(jsii_name=\\"method\\") + def method(self_, self: jsii.Number) -> str: + \\"\\"\\" + :param self: - + + stability + :stability: experimental + \\"\\"\\" + ... + + +class _IInterfaceWithSelfProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.PythonSelf.IInterfaceWithSelf\\" + + @jsii.member(jsii_name=\\"method\\") + def method(self_, self: jsii.Number) -> str: + \\"\\"\\" + :param self: - + + stability + :stability: experimental + \\"\\"\\" + return jsii.invoke(self_, \\"method\\", [self]) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.PythonSelf.StructWithSelf\\", + jsii_struct_bases=[], + name_mapping={\\"self\\": \\"self\\"}, +) +class StructWithSelf: + def __init__(self_, *, self: str) -> None: + \\"\\"\\" + :param self: + + stability + :stability: experimental + \\"\\"\\" + self_._values = { + \\"self\\": self, + } + + @builtins.property + def self(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"self\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"StructWithSelf(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +__all__ = [ + \\"ClassWithSelf\\", + \\"ClassWithSelfKwarg\\", + \\"IInterfaceWithSelf\\", + \\"StructWithSelf\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from .._jsii import * + +from .. import AllTypes as _AllTypes_b08307c5 +from .child import ( + SomeStruct as _SomeStruct_91627123, + SomeEnum as _SomeEnum_b2e41d92, + Awesomeness as _Awesomeness_d37a24df, + Goodness as _Goodness_2df26737, +) +from .nested_submodule.deeply_nested import INamespaced as _INamespaced_e2f386ad + + +@jsii.implements(_INamespaced_e2f386ad) +class MyClass(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.submodule.MyClass\\"): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self, *, prop: _SomeEnum_b2e41d92) -> None: + \\"\\"\\" + :param prop: + + stability + :stability: experimental + \\"\\"\\" + props = _SomeStruct_91627123(prop=prop) + + jsii.create(MyClass, self, [props]) + + @builtins.property + @jsii.member(jsii_name=\\"awesomeness\\") + def awesomeness(self) -> _Awesomeness_d37a24df: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"awesomeness\\") + + @builtins.property + @jsii.member(jsii_name=\\"definedAt\\") + def defined_at(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"definedAt\\") + + @builtins.property + @jsii.member(jsii_name=\\"goodness\\") + def goodness(self) -> _Goodness_2df26737: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"goodness\\") + + @builtins.property + @jsii.member(jsii_name=\\"props\\") + def props(self) -> _SomeStruct_91627123: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"props\\") + + @builtins.property + @jsii.member(jsii_name=\\"allTypes\\") + def all_types(self) -> typing.Optional[_AllTypes_b08307c5]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"allTypes\\") + + @all_types.setter + def all_types(self, value: typing.Optional[_AllTypes_b08307c5]) -> None: + jsii.set(self, \\"allTypes\\", value) + + +__all__ = [ + \\"MyClass\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/back_references/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from ..._jsii import * + +from .. import MyClass as _MyClass_a2fdc0b6 + + +@jsii.data_type( + jsii_type=\\"jsii-calc.submodule.back_references.MyClassReference\\", + jsii_struct_bases=[], + name_mapping={\\"reference\\": \\"reference\\"}, +) +class MyClassReference: + def __init__(self, *, reference: _MyClass_a2fdc0b6) -> None: + \\"\\"\\" + :param reference: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"reference\\": reference, + } + + @builtins.property + def reference(self) -> _MyClass_a2fdc0b6: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"reference\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"MyClassReference(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +__all__ = [ + \\"MyClassReference\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/child/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from ..._jsii import * + + +@jsii.enum(jsii_type=\\"jsii-calc.submodule.child.Awesomeness\\") +class Awesomeness(enum.Enum): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + AWESOME = \\"AWESOME\\" + \\"\\"\\"It was awesome! + + stability + :stability: experimental + \\"\\"\\" + + +@jsii.enum(jsii_type=\\"jsii-calc.submodule.child.Goodness\\") +class Goodness(enum.Enum): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + PRETTY_GOOD = \\"PRETTY_GOOD\\" + \\"\\"\\"It's pretty good. + + stability + :stability: experimental + \\"\\"\\" + REALLY_GOOD = \\"REALLY_GOOD\\" + \\"\\"\\"It's really good. + + stability + :stability: experimental + \\"\\"\\" + AMAZINGLY_GOOD = \\"AMAZINGLY_GOOD\\" + \\"\\"\\"It's amazingly good. + + stability + :stability: experimental + \\"\\"\\" + + +class InnerClass( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.submodule.child.InnerClass\\" +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(InnerClass, self, []) + + @jsii.python.classproperty + @jsii.member(jsii_name=\\"staticProp\\") + def STATIC_PROP(cls) -> \\"SomeStruct\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.sget(cls, \\"staticProp\\") + + +class OuterClass( + metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.submodule.child.OuterClass\\" +): + \\"\\"\\"Checks that classes can self-reference during initialization. + + see + :see: : https://github.com/aws/jsii/pull/1706 + stability + :stability: experimental + \\"\\"\\" + + def __init__(self) -> None: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + jsii.create(OuterClass, self, []) + + @builtins.property + @jsii.member(jsii_name=\\"innerClass\\") + def inner_class(self) -> \\"InnerClass\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"innerClass\\") + + +@jsii.enum(jsii_type=\\"jsii-calc.submodule.child.SomeEnum\\") +class SomeEnum(enum.Enum): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + SOME = \\"SOME\\" + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + +@jsii.data_type( + jsii_type=\\"jsii-calc.submodule.child.SomeStruct\\", + jsii_struct_bases=[], + name_mapping={\\"prop\\": \\"prop\\"}, +) +class SomeStruct: + def __init__(self, *, prop: \\"SomeEnum\\") -> None: + \\"\\"\\" + :param prop: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"prop\\": prop, + } + + @builtins.property + def prop(self) -> \\"SomeEnum\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"prop\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"SomeStruct(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.submodule.child.Structure\\", + jsii_struct_bases=[], + name_mapping={\\"bool\\": \\"bool\\"}, +) +class Structure: + def __init__(self, *, bool: bool) -> None: + \\"\\"\\" + :param bool: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"bool\\": bool, + } + + @builtins.property + def bool(self) -> bool: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"bool\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"Structure(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +@jsii.data_type( + jsii_type=\\"jsii-calc.submodule.child.KwargsProps\\", + jsii_struct_bases=[SomeStruct], + name_mapping={\\"prop\\": \\"prop\\", \\"extra\\": \\"extra\\"}, +) +class KwargsProps(SomeStruct): + def __init__(self, *, prop: \\"SomeEnum\\", extra: typing.Optional[str] = None) -> None: + \\"\\"\\" + :param prop: + :param extra: + + stability + :stability: experimental + \\"\\"\\" + self._values = { + \\"prop\\": prop, + } + if extra is not None: + self._values[\\"extra\\"] = extra + + @builtins.property + def prop(self) -> \\"SomeEnum\\": + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"prop\\") + + @builtins.property + def extra(self) -> typing.Optional[str]: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return self._values.get(\\"extra\\") + + def __eq__(self, rhs) -> bool: + return isinstance(rhs, self.__class__) and rhs._values == self._values + + def __ne__(self, rhs) -> bool: + return not (rhs == self) + + def __repr__(self) -> str: + return \\"KwargsProps(%s)\\" % \\", \\".join( + k + \\"=\\" + repr(v) for k, v in self._values.items() + ) + + +__all__ = [ + \\"Awesomeness\\", + \\"Goodness\\", + \\"InnerClass\\", + \\"KwargsProps\\", + \\"OuterClass\\", + \\"SomeEnum\\", + \\"SomeStruct\\", + \\"Structure\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/isolated/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from ..._jsii import * + +from ..child import KwargsProps as _KwargsProps_c7855dcf, SomeEnum as _SomeEnum_b2e41d92 + + +class Kwargs(metaclass=jsii.JSIIMeta, jsii_type=\\"jsii-calc.submodule.isolated.Kwargs\\"): + \\"\\"\\"Ensures imports are correctly registered for kwargs lifted properties from super-structs. + + stability + :stability: experimental + \\"\\"\\" + + @jsii.member(jsii_name=\\"method\\") + @builtins.classmethod + def method( + cls, *, extra: typing.Optional[str] = None, prop: _SomeEnum_b2e41d92 + ) -> bool: + \\"\\"\\" + :param extra: + :param prop: + + stability + :stability: experimental + \\"\\"\\" + props = _KwargsProps_c7855dcf(extra=extra, prop=prop) + + return jsii.sinvoke(cls, \\"method\\", [props]) + + +__all__ = [ + \\"Kwargs\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/nested_submodule/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from ..._jsii import * + +from ..child import Goodness as _Goodness_2df26737 +from .deeply_nested import INamespaced as _INamespaced_e2f386ad + + +@jsii.implements(_INamespaced_e2f386ad) +class Namespaced( + metaclass=jsii.JSIIAbstractClass, + jsii_type=\\"jsii-calc.submodule.nested_submodule.Namespaced\\", +): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _NamespacedProxy + + @builtins.property + @jsii.member(jsii_name=\\"definedAt\\") + def defined_at(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"definedAt\\") + + @builtins.property + @jsii.member(jsii_name=\\"goodness\\") + @abc.abstractmethod + def goodness(self) -> _Goodness_2df26737: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _NamespacedProxy(Namespaced): + @builtins.property + @jsii.member(jsii_name=\\"goodness\\") + def goodness(self) -> _Goodness_2df26737: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"goodness\\") + + +__all__ = [ + \\"Namespaced\\", +] + +publication.publish() +", +} +`; + +exports[`Generated code for "jsii-calc": /python/src/jsii_calc/submodule/nested_submodule/deeply_nested/__init__.py 1`] = ` +Object { + Symbol(file): "import abc +import builtins +import datetime +import enum +import typing + +import jsii +import jsii.compat +import publication + +from ...._jsii import * + + +@jsii.interface( + jsii_type=\\"jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced\\" +) +class INamespaced(jsii.compat.Protocol): + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + @builtins.staticmethod + def __jsii_proxy_class__(): + return _INamespacedProxy + + @builtins.property + @jsii.member(jsii_name=\\"definedAt\\") + def defined_at(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + ... + + +class _INamespacedProxy: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + + __jsii_type__ = \\"jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced\\" + + @builtins.property + @jsii.member(jsii_name=\\"definedAt\\") + def defined_at(self) -> str: + \\"\\"\\" + stability + :stability: experimental + \\"\\"\\" + return jsii.get(self, \\"definedAt\\") + + +__all__ = [ + \\"INamespaced\\", +] + +publication.publish() +", +} +`; diff --git a/packages/jsii-pacmak/test/build-test.sh b/packages/jsii-pacmak/test/build-test.sh index 383c885ed8..58899b8257 100755 --- a/packages/jsii-pacmak/test/build-test.sh +++ b/packages/jsii-pacmak/test/build-test.sh @@ -26,8 +26,13 @@ trap final_cleanup EXIT # Prepare Python venv to avoid depending on system stuff venv="${outdir}/.env" python3 -m venv ${venv} -. ${venv}/bin/activate -pip install pip~=20.0.2 setuptools~=46.1.3 wheel~=0.34.2 twine~=3.1.1 +if [ -f ${venv}/bin/activate ]; then + . ${venv}/bin/activate +else + # Hello Windows! + . ${venv}/Scripts/activate +fi +python3 -m pip install pip~=20.0.2 setuptools~=46.1.3 wheel~=0.34.2 twine~=3.1.1 # Single target, recursive build to a certain location clean_dists diff --git a/packages/jsii-pacmak/test/diff-test.sh b/packages/jsii-pacmak/test/diff-test.sh deleted file mode 100755 index 031c3a548b..0000000000 --- a/packages/jsii-pacmak/test/diff-test.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash -set -e -cd $(dirname $0) - -workdir="$(mktemp -d -t jsii-diff-test.XXXXXXXXXX)" -success=true - -function mktmpdir() { - local newdir="${workdir}/$RANDOM" - mkdir -p ${newdir} - echo ${newdir} -} - -function assert-generator() { - local module=$1 - local module_root="$(cd ../../${module} && pwd)" - - # creating reference tgz for module ${module} (to avoid binary diffs across platforms)... - local expected_tarball="${module_root}/$(cd ${module_root} && npm pack --ignore-scripts 2>/dev/null)" - local workdir=$(mktmpdir) - mv ${expected_tarball} ${workdir} - local expected_tarball="${workdir}/$(basename ${expected_tarball})" - - local outdir="$(mktmpdir)" - local original_expected="$PWD/expected.${module/@scope\//}" - local expected="$(mktmpdir)" - - if [ -d ${original_expected} ]; then - rsync -a ${original_expected}/ ${expected}/ - fi - - if [[ -d ${original_expected}/java/target ]]; then - # When IDEs automaticallu compile the java target, the diff-test may fail later on with a cryptic error message - # due to the existence of .settings / .projects / ... directories that aren't part of the expected outcome. This - # check is here to avoid the confusion. - echo "An IDE plugin seems to have eagerly tried to compile ${original_expected}/java. Please remove:" - echo " rm -rf ${original_expected}/java/target" - exit 1 - fi - - # put the real expected tarball instead of the placeholder - for expected_tarball_placeholder in $(find ${expected} -name "*.tgz" || true); do - rm -f ${expected_tarball_placeholder} - cp ${expected_tarball} ${expected_tarball_placeholder} - done - - echo "Running jsii-pacmak test for ${module}" - ../bin/jsii-pacmak --outdir ${outdir} ${module_root} --code-only --no-fingerprint - - if ! diff --strip-trailing-cr -arq ${outdir} ${expected}; then - if [ -n "${UPDATE_DIFF:-}" ]; then - echo "⚡️ UPDATE_DIFF is set, overwriting ${original_expected}" - rsync -av --delete ${outdir}/ ${original_expected}/ - else - echo - echo "------------------------------------------------------------------------" - echo " diff-test for pacmak generator ${module} failed" - echo "------------------------------------------------------------------------" - echo " To update expectation run:" - echo " rsync -av --delete ${outdir}/ ${original_expected}/" - echo " Or, execute this test again with:" - echo " UPDATE_DIFF=1" - echo "------------------------------------------------------------------------" - success=false - fi - fi - - # change the placeholder back (we do this after UPDATE_DIFF) - for tarball_placeholder in $(find ${original_expected} -name "*.tgz" || true); do - echo "Placeholder for the expected module tarball" > ${tarball_placeholder} - echo "The diff-test.sh harness will replace it with the real expected tarball" >> ${tarball_placeholder} - done -} - -assert-generator @scope/jsii-calc-base-of-base -assert-generator @scope/jsii-calc-base -assert-generator @scope/jsii-calc-lib -assert-generator jsii-calc - -if ${success}; then - # only remove working directory if tests pass. Otherwise, user might want to - # update their expectations. - rm -fr "${workdir}" -else - echo "SOME TESTS FAILED" - echo - echo "Execute this test again with:" - echo " UPDATE_DIFF=1" - echo - exit 1 -fi - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/.jsii b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/.jsii deleted file mode 100644 index 37b7c81aa4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/.jsii +++ /dev/null @@ -1,115 +0,0 @@ -{ - "author": { - "name": "Amazon Web Services", - "organization": true, - "roles": [ - "author" - ], - "url": "https://aws.amazon.com" - }, - "description": "An example transitive dependency for jsii-calc.", - "homepage": "https://github.com/aws/jsii", - "jsiiVersion": "0.0.0", - "license": "Apache-2.0", - "name": "@scope/jsii-calc-base-of-base", - "repository": { - "directory": "packages/@scope/jsii-calc-base-of-base", - "type": "git", - "url": "https://github.com/aws/jsii.git" - }, - "schema": "jsii/0.10.0", - "targets": { - "dotnet": { - "namespace": "Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace", - "packageId": "Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId" - }, - "java": { - "maven": { - "artifactId": "calculator-base-of-base", - "groupId": "software.amazon.jsii.tests" - }, - "package": "software.amazon.jsii.tests.calculator.baseofbase" - }, - "js": { - "npm": "@scope/jsii-calc-base-of-base" - }, - "python": { - "distName": "scope.jsii-calc-base-of-base", - "module": "scope.jsii_calc_base_of_base" - } - }, - "types": { - "@scope/jsii-calc-base-of-base.IVeryBaseInterface": { - "assembly": "@scope/jsii-calc-base-of-base", - "fqn": "@scope/jsii-calc-base-of-base.IVeryBaseInterface", - "kind": "interface", - "locationInModule": { - "filename": "lib/index.ts", - "line": 1 - }, - "methods": [ - { - "abstract": true, - "locationInModule": { - "filename": "lib/index.ts", - "line": 2 - }, - "name": "foo" - } - ], - "name": "IVeryBaseInterface" - }, - "@scope/jsii-calc-base-of-base.Very": { - "assembly": "@scope/jsii-calc-base-of-base", - "fqn": "@scope/jsii-calc-base-of-base.Very", - "initializer": {}, - "kind": "class", - "locationInModule": { - "filename": "lib/index.ts", - "line": 9 - }, - "methods": [ - { - "locationInModule": { - "filename": "lib/index.ts", - "line": 10 - }, - "name": "hey", - "returns": { - "type": { - "primitive": "number" - } - } - } - ], - "name": "Very" - }, - "@scope/jsii-calc-base-of-base.VeryBaseProps": { - "assembly": "@scope/jsii-calc-base-of-base", - "datatype": true, - "fqn": "@scope/jsii-calc-base-of-base.VeryBaseProps", - "kind": "interface", - "locationInModule": { - "filename": "lib/index.ts", - "line": 5 - }, - "name": "VeryBaseProps", - "properties": [ - { - "abstract": true, - "immutable": true, - "locationInModule": { - "filename": "lib/index.ts", - "line": 6 - }, - "name": "foo", - "type": { - "fqn": "@scope/jsii-calc-base-of-base.Very" - } - } - ] - } - }, - "version": "0.0.0", - "fingerprint": "v3mwSbKGQ2aa8g0DEKIeaEXh3csX7PX2MJJxHVRufhI=" -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId.csproj b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId.csproj deleted file mode 100644 index 2e640a2830..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId.csproj +++ /dev/null @@ -1,34 +0,0 @@ - - - - An example transitive dependency for jsii-calc. - Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId - Apache-2.0 - 0.0.0 - - Amazon Web Services - Amazon Web Services - en-US - https://github.com/aws/jsii - https://github.com/aws/jsii.git - git - - true - true - true - true - enable - snupkg - netcoreapp3.1 - - - - - - - - - 0612,0618 - - - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/IVeryBaseInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/IVeryBaseInterface.cs deleted file mode 100644 index 8b04d8e412..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/IVeryBaseInterface.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace -{ - [JsiiInterface(nativeType: typeof(IVeryBaseInterface), fullyQualifiedName: "@scope/jsii-calc-base-of-base.IVeryBaseInterface")] - public interface IVeryBaseInterface - { - [JsiiMethod(name: "foo")] - void Foo(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/IVeryBaseInterfaceProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/IVeryBaseInterfaceProxy.cs deleted file mode 100644 index b184490c98..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/IVeryBaseInterfaceProxy.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace -{ - [JsiiTypeProxy(nativeType: typeof(IVeryBaseInterface), fullyQualifiedName: "@scope/jsii-calc-base-of-base.IVeryBaseInterface")] - internal sealed class IVeryBaseInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.IVeryBaseInterface - { - private IVeryBaseInterfaceProxy(ByRefValue reference): base(reference) - { - } - - [JsiiMethod(name: "foo")] - public void Foo() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/IVeryBaseProps.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/IVeryBaseProps.cs deleted file mode 100644 index 6d05b140ea..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/IVeryBaseProps.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace -{ - [JsiiInterface(nativeType: typeof(IVeryBaseProps), fullyQualifiedName: "@scope/jsii-calc-base-of-base.VeryBaseProps")] - public interface IVeryBaseProps - { - [JsiiProperty(name: "foo", typeJson: "{\"fqn\":\"@scope/jsii-calc-base-of-base.Very\"}")] - Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very Foo - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/Internal/DependencyResolution/Anchor.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/Internal/DependencyResolution/Anchor.cs deleted file mode 100644 index b9f95337e7..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/Internal/DependencyResolution/Anchor.cs +++ /dev/null @@ -1,11 +0,0 @@ -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Internal.DependencyResolution -{ - public sealed class Anchor - { - public Anchor() - { - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/Very.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/Very.cs deleted file mode 100644 index 5581095168..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/Very.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace -{ - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very), fullyQualifiedName: "@scope/jsii-calc-base-of-base.Very")] - public class Very : DeputyBase - { - public Very(): base(new DeputyProps(new object[]{})) - { - } - - ///

Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Very(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Very(DeputyProps props): base(props) - { - } - - [JsiiMethod(name: "hey", returnsJson: "{\"type\":{\"primitive\":\"number\"}}")] - public virtual double Hey() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/VeryBaseProps.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/VeryBaseProps.cs deleted file mode 100644 index 156e210c43..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/VeryBaseProps.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace -{ - #pragma warning disable CS8618 - - [JsiiByValue(fqn: "@scope/jsii-calc-base-of-base.VeryBaseProps")] - public class VeryBaseProps : Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.IVeryBaseProps - { - [JsiiProperty(name: "foo", typeJson: "{\"fqn\":\"@scope/jsii-calc-base-of-base.Very\"}", isOverride: true)] - public Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very Foo - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/VeryBasePropsProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/VeryBasePropsProxy.cs deleted file mode 100644 index 96efe8a55e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseOfBaseNamespace/VeryBasePropsProxy.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace -{ - [JsiiTypeProxy(nativeType: typeof(IVeryBaseProps), fullyQualifiedName: "@scope/jsii-calc-base-of-base.VeryBaseProps")] - internal sealed class VeryBasePropsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.IVeryBaseProps - { - private VeryBasePropsProxy(ByRefValue reference): base(reference) - { - } - - [JsiiProperty(name: "foo", typeJson: "{\"fqn\":\"@scope/jsii-calc-base-of-base.Very\"}")] - public Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very Foo - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/AssemblyInfo.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/AssemblyInfo.cs deleted file mode 100644 index 69937feb8a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/AssemblyInfo.cs +++ /dev/null @@ -1,3 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -[assembly: JsiiAssembly("@scope/jsii-calc-base-of-base", "0.0.0", "scope-jsii-calc-base-of-base-0.0.0.tgz")] diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/scope-jsii-calc-base-of-base-0.0.0.tgz b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/scope-jsii-calc-base-of-base-0.0.0.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId/scope-jsii-calc-base-of-base-0.0.0.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/pom.xml b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/pom.xml deleted file mode 100644 index dc93f31b5f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/pom.xml +++ /dev/null @@ -1,144 +0,0 @@ - - - 4.0.0 - ${project.groupId}:${project.artifactId} - An example transitive dependency for jsii-calc. - https://github.com/aws/jsii - - - Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0 - repo - An OSI-approved license - - - - - Amazon Web Services - - author - - https://aws.amazon.com - - - - scm:git:https://github.com/aws/jsii.git - https://github.com/aws/jsii.git - - software.amazon.jsii.tests - calculator-base-of-base - 0.0.0 - jar - - UTF-8 - - - - software.amazon.jsii - jsii-runtime - [0.0.0,0.0.1) - - - org.jetbrains - annotations - [16.0.3,20.0.0) - - - - javax.annotation - javax.annotation-api - [1.3.2,1.4.0) - compile - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 1.8 - 1.8 - - - - org.apache.maven.plugins - maven-jar-plugin - 3.2.0 - - - true - - true - true - - - - - - org.apache.maven.plugins - maven-source-plugin - 3.2.1 - - - attach-sources - - jar - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.1.1 - - - attach-javadocs - - jar - - - - - false - protected - - **/$Module.java - - -J-XX:+TieredCompilation - -J-XX:TieredStopAtLevel=1 - - - - org.apache.maven.plugins - maven-enforcer-plugin - 3.0.0-M3 - - - enforce-maven - - enforce - - - - - 3.6 - - - - - - - - org.codehaus.mojo - versions-maven-plugin - 2.7 - - false - - - - - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/$Module.java b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/$Module.java deleted file mode 100644 index f183619c2f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/$Module.java +++ /dev/null @@ -1,67 +0,0 @@ -package software.amazon.jsii.tests.calculator.baseofbase; - -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.IOException; -import java.io.Reader; -import java.io.UncheckedIOException; - -import java.nio.charset.StandardCharsets; - -import java.util.HashMap; -import java.util.Map; - -import software.amazon.jsii.JsiiModule; - -public final class $Module extends JsiiModule { - private static final Map MODULE_TYPES = load(); - - private static Map load() { - final Map result = new HashMap<>(); - final ClassLoader cl = $Module.class.getClassLoader(); - try (final InputStream is = cl.getResourceAsStream("software/amazon/jsii/tests/calculator/baseofbase/$Module.txt"); - final Reader rd = new InputStreamReader(is, StandardCharsets.UTF_8); - final BufferedReader br = new BufferedReader(rd)) { - br.lines() - .filter(line -> !line.trim().isEmpty()) - .forEach(line -> { - final String[] parts = line.split("=", 2); - final String fqn = parts[0]; - final String className = parts[1]; - result.put(fqn, className); - }); - } - catch (final IOException exception) { - throw new UncheckedIOException(exception); - } - return result; - } - - private final Map> cache = new HashMap<>(); - - public $Module() { - super("@scope/jsii-calc-base-of-base", "0.0.0", $Module.class, "jsii-calc-base-of-base@0.0.0.jsii.tgz"); - } - - @Override - protected Class resolveClass(final String fqn) throws ClassNotFoundException { - if (!MODULE_TYPES.containsKey(fqn)) { - throw new ClassNotFoundException("Unknown JSII type: " + fqn); - } - String className = MODULE_TYPES.get(fqn); - if (!this.cache.containsKey(className)) { - this.cache.put(className, this.findClass(className)); - } - return this.cache.get(className); - } - - private Class findClass(final String binaryName) { - try { - return Class.forName(binaryName); - } - catch (final ClassNotFoundException exception) { - throw new RuntimeException(exception); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/IVeryBaseInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/IVeryBaseInterface.java deleted file mode 100644 index 98fe8c2b91..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/IVeryBaseInterface.java +++ /dev/null @@ -1,23 +0,0 @@ -package software.amazon.jsii.tests.calculator.baseofbase; - -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.baseofbase.$Module.class, fqn = "@scope/jsii-calc-base-of-base.IVeryBaseInterface") -@software.amazon.jsii.Jsii.Proxy(IVeryBaseInterface.Jsii$Proxy.class) -public interface IVeryBaseInterface extends software.amazon.jsii.JsiiSerializable { - - void foo(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.baseofbase.IVeryBaseInterface { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - @Override - public void foo() { - this.jsiiCall("foo", software.amazon.jsii.NativeType.VOID); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/Very.java b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/Very.java deleted file mode 100644 index e8f2c8b414..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/Very.java +++ /dev/null @@ -1,23 +0,0 @@ -package software.amazon.jsii.tests.calculator.baseofbase; - -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.baseofbase.$Module.class, fqn = "@scope/jsii-calc-base-of-base.Very") -public class Very extends software.amazon.jsii.JsiiObject { - - protected Very(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Very(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - public Very() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - public @org.jetbrains.annotations.NotNull java.lang.Number hey() { - return this.jsiiCall("hey", java.lang.Number.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/VeryBaseProps.java b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/VeryBaseProps.java deleted file mode 100644 index 4d0d210478..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/java/software/amazon/jsii/tests/calculator/baseofbase/VeryBaseProps.java +++ /dev/null @@ -1,104 +0,0 @@ -package software.amazon.jsii.tests.calculator.baseofbase; - -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.baseofbase.$Module.class, fqn = "@scope/jsii-calc-base-of-base.VeryBaseProps") -@software.amazon.jsii.Jsii.Proxy(VeryBaseProps.Jsii$Proxy.class) -public interface VeryBaseProps extends software.amazon.jsii.JsiiSerializable { - - @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.baseofbase.Very getFoo(); - - /** - * @return a {@link Builder} of {@link VeryBaseProps} - */ - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link VeryBaseProps} - */ - public static final class Builder implements software.amazon.jsii.Builder { - private software.amazon.jsii.tests.calculator.baseofbase.Very foo; - - /** - * Sets the value of {@link VeryBaseProps#getFoo} - * @param foo the value to be set. This parameter is required. - * @return {@code this} - */ - public Builder foo(software.amazon.jsii.tests.calculator.baseofbase.Very foo) { - this.foo = foo; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link VeryBaseProps} - * @throws NullPointerException if any required attribute was not provided - */ - @Override - public VeryBaseProps build() { - return new Jsii$Proxy(foo); - } - } - - /** - * An implementation for {@link VeryBaseProps} - */ - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements VeryBaseProps { - private final software.amazon.jsii.tests.calculator.baseofbase.Very foo; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.foo = this.jsiiGet("foo", software.amazon.jsii.tests.calculator.baseofbase.Very.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final software.amazon.jsii.tests.calculator.baseofbase.Very foo) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.foo = java.util.Objects.requireNonNull(foo, "foo is required"); - } - - @Override - public software.amazon.jsii.tests.calculator.baseofbase.Very getFoo() { - return this.foo; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("foo", om.valueToTree(this.getFoo())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("@scope/jsii-calc-base-of-base.VeryBaseProps")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - VeryBaseProps.Jsii$Proxy that = (VeryBaseProps.Jsii$Proxy) o; - - return this.foo.equals(that.foo); - } - - @Override - public int hashCode() { - int result = this.foo.hashCode(); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/resources/software/amazon/jsii/tests/calculator/baseofbase/$Module.txt b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/resources/software/amazon/jsii/tests/calculator/baseofbase/$Module.txt deleted file mode 100644 index 32b18eb5c2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/resources/software/amazon/jsii/tests/calculator/baseofbase/$Module.txt +++ /dev/null @@ -1,3 +0,0 @@ -@scope/jsii-calc-base-of-base.IVeryBaseInterface=software.amazon.jsii.tests.calculator.baseofbase.IVeryBaseInterface -@scope/jsii-calc-base-of-base.Very=software.amazon.jsii.tests.calculator.baseofbase.Very -@scope/jsii-calc-base-of-base.VeryBaseProps=software.amazon.jsii.tests.calculator.baseofbase.VeryBaseProps diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/resources/software/amazon/jsii/tests/calculator/baseofbase/jsii-calc-base-of-base@0.0.0.jsii.tgz b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/resources/software/amazon/jsii/tests/calculator/baseofbase/jsii-calc-base-of-base@0.0.0.jsii.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/java/src/main/resources/software/amazon/jsii/tests/calculator/baseofbase/jsii-calc-base-of-base@0.0.0.jsii.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/js/jsii-calc-base-of-base@0.0.0.jsii.tgz b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/js/jsii-calc-base-of-base@0.0.0.jsii.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/js/jsii-calc-base-of-base@0.0.0.jsii.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/MANIFEST.in b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/MANIFEST.in deleted file mode 100644 index bec201fc83..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/MANIFEST.in +++ /dev/null @@ -1 +0,0 @@ -include pyproject.toml diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/README.md b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/README.md deleted file mode 100644 index 8b13789179..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/README.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/pyproject.toml b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/pyproject.toml deleted file mode 100644 index 34ba8ead4b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/pyproject.toml +++ /dev/null @@ -1,3 +0,0 @@ -[build-system] -requires = ["setuptools >= 38.6.0", "wheel >= 0.31.0"] -build-backend = "setuptools.build_meta" diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/setup.py b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/setup.py deleted file mode 100644 index 4324f9ed11..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/setup.py +++ /dev/null @@ -1,56 +0,0 @@ -import json -import setuptools - -kwargs = json.loads( - """ -{ - "name": "scope.jsii-calc-base-of-base", - "version": "0.0.0", - "description": "An example transitive dependency for jsii-calc.", - "license": "Apache-2.0", - "url": "https://github.com/aws/jsii", - "long_description_content_type": "text/markdown", - "author": "Amazon Web Services", - "project_urls": { - "Source": "https://github.com/aws/jsii.git" - }, - "package_dir": { - "": "src" - }, - "packages": [ - "scope.jsii_calc_base_of_base", - "scope.jsii_calc_base_of_base._jsii" - ], - "package_data": { - "scope.jsii_calc_base_of_base._jsii": [ - "jsii-calc-base-of-base@0.0.0.jsii.tgz" - ], - "scope.jsii_calc_base_of_base": [ - "py.typed" - ] - }, - "python_requires": ">=3.6", - "install_requires": [ - "jsii>=0.0.0, <0.0.1", - "publication>=0.0.3" - ], - "classifiers": [ - "Intended Audience :: Developers", - "Operating System :: OS Independent", - "Programming Language :: JavaScript", - "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Typing :: Typed", - "License :: OSI Approved" - ] -} -""" -) - -with open("README.md") as fp: - kwargs["long_description"] = fp.read() - - -setuptools.setup(**kwargs) diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/src/scope/jsii_calc_base_of_base/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/src/scope/jsii_calc_base_of_base/__init__.py deleted file mode 100644 index d2b682a31d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/src/scope/jsii_calc_base_of_base/__init__.py +++ /dev/null @@ -1,78 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from ._jsii import * - - -@jsii.interface(jsii_type="@scope/jsii-calc-base-of-base.IVeryBaseInterface") -class IVeryBaseInterface(jsii.compat.Protocol): - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IVeryBaseInterfaceProxy - - @jsii.member(jsii_name="foo") - def foo(self) -> None: - ... - - -class _IVeryBaseInterfaceProxy: - __jsii_type__ = "@scope/jsii-calc-base-of-base.IVeryBaseInterface" - - @jsii.member(jsii_name="foo") - def foo(self) -> None: - return jsii.invoke(self, "foo", []) - - -class Very(metaclass=jsii.JSIIMeta, jsii_type="@scope/jsii-calc-base-of-base.Very"): - def __init__(self) -> None: - jsii.create(Very, self, []) - - @jsii.member(jsii_name="hey") - def hey(self) -> jsii.Number: - return jsii.invoke(self, "hey", []) - - -@jsii.data_type( - jsii_type="@scope/jsii-calc-base-of-base.VeryBaseProps", - jsii_struct_bases=[], - name_mapping={"foo": "foo"}, -) -class VeryBaseProps: - def __init__(self, *, foo: "Very") -> None: - """ - :param foo: - - """ - self._values = { - "foo": foo, - } - - @builtins.property - def foo(self) -> "Very": - return self._values.get("foo") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "VeryBaseProps(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -__all__ = [ - "IVeryBaseInterface", - "Very", - "VeryBaseProps", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/src/scope/jsii_calc_base_of_base/_jsii/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/src/scope/jsii_calc_base_of_base/_jsii/__init__.py deleted file mode 100644 index 90b633e998..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/src/scope/jsii_calc_base_of_base/_jsii/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -__jsii_assembly__ = jsii.JSIIAssembly.load( - "@scope/jsii-calc-base-of-base", - "0.0.0", - __name__[0:-6], - "jsii-calc-base-of-base@0.0.0.jsii.tgz", -) - -__all__ = [ - "__jsii_assembly__", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/src/scope/jsii_calc_base_of_base/_jsii/jsii-calc-base-of-base@0.0.0.jsii.tgz b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/src/scope/jsii_calc_base_of_base/_jsii/jsii-calc-base-of-base@0.0.0.jsii.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/src/scope/jsii_calc_base_of_base/_jsii/jsii-calc-base-of-base@0.0.0.jsii.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/src/scope/jsii_calc_base_of_base/py.typed b/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/src/scope/jsii_calc_base_of_base/py.typed deleted file mode 100644 index 8b13789179..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base-of-base/python/src/scope/jsii_calc_base_of_base/py.typed +++ /dev/null @@ -1 +0,0 @@ - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/.jsii b/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/.jsii deleted file mode 100644 index 37b4544eec..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/.jsii +++ /dev/null @@ -1,155 +0,0 @@ -{ - "author": { - "name": "Amazon Web Services", - "organization": true, - "roles": [ - "author" - ], - "url": "https://aws.amazon.com" - }, - "dependencies": { - "@scope/jsii-calc-base-of-base": "^0.0.0" - }, - "dependencyClosure": { - "@scope/jsii-calc-base-of-base": { - "targets": { - "dotnet": { - "namespace": "Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace", - "packageId": "Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId" - }, - "java": { - "maven": { - "artifactId": "calculator-base-of-base", - "groupId": "software.amazon.jsii.tests" - }, - "package": "software.amazon.jsii.tests.calculator.baseofbase" - }, - "js": { - "npm": "@scope/jsii-calc-base-of-base" - }, - "python": { - "distName": "scope.jsii-calc-base-of-base", - "module": "scope.jsii_calc_base_of_base" - } - } - } - }, - "description": "An example direct dependency for jsii-calc.", - "homepage": "https://github.com/aws/jsii", - "jsiiVersion": "0.0.0", - "license": "Apache-2.0", - "name": "@scope/jsii-calc-base", - "repository": { - "directory": "packages/@scope/jsii-calc-base", - "type": "git", - "url": "https://github.com/aws/jsii.git" - }, - "schema": "jsii/0.10.0", - "targets": { - "dotnet": { - "namespace": "Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace", - "packageId": "Amazon.JSII.Tests.CalculatorPackageId.BasePackageId" - }, - "java": { - "maven": { - "artifactId": "calculator-base", - "groupId": "software.amazon.jsii.tests" - }, - "package": "software.amazon.jsii.tests.calculator.base" - }, - "js": { - "npm": "@scope/jsii-calc-base" - }, - "python": { - "distName": "scope.jsii-calc-base", - "module": "scope.jsii_calc_base" - } - }, - "types": { - "@scope/jsii-calc-base.Base": { - "abstract": true, - "assembly": "@scope/jsii-calc-base", - "docs": { - "summary": "A base class." - }, - "fqn": "@scope/jsii-calc-base.Base", - "initializer": {}, - "kind": "class", - "locationInModule": { - "filename": "lib/index.ts", - "line": 6 - }, - "methods": [ - { - "docs": { - "returns": "the name of the class (to verify native type names are created for derived classes)." - }, - "locationInModule": { - "filename": "lib/index.ts", - "line": 10 - }, - "name": "typeName", - "returns": { - "type": { - "primitive": "any" - } - } - } - ], - "name": "Base" - }, - "@scope/jsii-calc-base.BaseProps": { - "assembly": "@scope/jsii-calc-base", - "datatype": true, - "fqn": "@scope/jsii-calc-base.BaseProps", - "interfaces": [ - "@scope/jsii-calc-base-of-base.VeryBaseProps" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/index.ts", - "line": 15 - }, - "name": "BaseProps", - "properties": [ - { - "abstract": true, - "immutable": true, - "locationInModule": { - "filename": "lib/index.ts", - "line": 16 - }, - "name": "bar", - "type": { - "primitive": "string" - } - } - ] - }, - "@scope/jsii-calc-base.IBaseInterface": { - "assembly": "@scope/jsii-calc-base", - "fqn": "@scope/jsii-calc-base.IBaseInterface", - "interfaces": [ - "@scope/jsii-calc-base-of-base.IVeryBaseInterface" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/index.ts", - "line": 19 - }, - "methods": [ - { - "abstract": true, - "locationInModule": { - "filename": "lib/index.ts", - "line": 20 - }, - "name": "bar" - } - ], - "name": "IBaseInterface" - } - }, - "version": "0.0.0", - "fingerprint": "ttHhQ5EzgjW0lybCNSKOfqilJ04kp4VK3arcpRl3rBM=" -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId.csproj b/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId.csproj deleted file mode 100644 index 6df81f8e66..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId.csproj +++ /dev/null @@ -1,35 +0,0 @@ - - - - An example direct dependency for jsii-calc. - Amazon.JSII.Tests.CalculatorPackageId.BasePackageId - Apache-2.0 - 0.0.0 - - Amazon Web Services - Amazon Web Services - en-US - https://github.com/aws/jsii - https://github.com/aws/jsii.git - git - - true - true - true - true - enable - snupkg - netcoreapp3.1 - - - - - - - - - - 0612,0618 - - - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/Base.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/Base.cs deleted file mode 100644 index 7c246b6788..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/Base.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace -{ - /// A base class. - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Base), fullyQualifiedName: "@scope/jsii-calc-base.Base")] - public abstract class Base : DeputyBase - { - protected Base(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Base(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Base(DeputyProps props): base(props) - { - } - - /// the name of the class (to verify native type names are created for derived classes). - [JsiiMethod(name: "typeName", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public virtual object TypeName() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/BaseProps.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/BaseProps.cs deleted file mode 100644 index 2e16c03730..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/BaseProps.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace -{ - #pragma warning disable CS8618 - - [JsiiByValue(fqn: "@scope/jsii-calc-base.BaseProps")] - public class BaseProps : Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.IBaseProps - { - [JsiiProperty(name: "bar", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string Bar - { - get; - set; - } - - [JsiiProperty(name: "foo", typeJson: "{\"fqn\":\"@scope/jsii-calc-base-of-base.Very\"}", isOverride: true)] - public Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very Foo - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/BasePropsProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/BasePropsProxy.cs deleted file mode 100644 index 87883eb6b8..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/BasePropsProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace -{ - [JsiiTypeProxy(nativeType: typeof(IBaseProps), fullyQualifiedName: "@scope/jsii-calc-base.BaseProps")] - internal sealed class BasePropsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.IBaseProps - { - private BasePropsProxy(ByRefValue reference): base(reference) - { - } - - [JsiiProperty(name: "bar", typeJson: "{\"primitive\":\"string\"}")] - public string Bar - { - get => GetInstanceProperty(); - } - - [JsiiProperty(name: "foo", typeJson: "{\"fqn\":\"@scope/jsii-calc-base-of-base.Very\"}")] - public Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very Foo - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/BaseProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/BaseProxy.cs deleted file mode 100644 index d55a255ce7..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/BaseProxy.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace -{ - /// A base class. - [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Base), fullyQualifiedName: "@scope/jsii-calc-base.Base")] - internal sealed class BaseProxy : Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Base - { - private BaseProxy(ByRefValue reference): base(reference) - { - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/IBaseInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/IBaseInterface.cs deleted file mode 100644 index 133a9026ca..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/IBaseInterface.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace -{ - [JsiiInterface(nativeType: typeof(IBaseInterface), fullyQualifiedName: "@scope/jsii-calc-base.IBaseInterface")] - public interface IBaseInterface : Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.IVeryBaseInterface - { - [JsiiMethod(name: "bar")] - void Bar(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/IBaseInterfaceProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/IBaseInterfaceProxy.cs deleted file mode 100644 index 34023d96d3..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/IBaseInterfaceProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace -{ - [JsiiTypeProxy(nativeType: typeof(IBaseInterface), fullyQualifiedName: "@scope/jsii-calc-base.IBaseInterface")] - internal sealed class IBaseInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.IBaseInterface - { - private IBaseInterfaceProxy(ByRefValue reference): base(reference) - { - } - - [JsiiMethod(name: "bar")] - public void Bar() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - [JsiiMethod(name: "foo")] - public void Foo() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/IBaseProps.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/IBaseProps.cs deleted file mode 100644 index 7bfd86579c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/IBaseProps.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace -{ - [JsiiInterface(nativeType: typeof(IBaseProps), fullyQualifiedName: "@scope/jsii-calc-base.BaseProps")] - public interface IBaseProps : Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.IVeryBaseProps - { - [JsiiProperty(name: "bar", typeJson: "{\"primitive\":\"string\"}")] - string Bar - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/Internal/DependencyResolution/Anchor.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/Internal/DependencyResolution/Anchor.cs deleted file mode 100644 index c15eade3ea..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseNamespace/Internal/DependencyResolution/Anchor.cs +++ /dev/null @@ -1,12 +0,0 @@ -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Internal.DependencyResolution -{ - public sealed class Anchor - { - public Anchor() - { - new Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Internal.DependencyResolution.Anchor(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/AssemblyInfo.cs b/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/AssemblyInfo.cs deleted file mode 100644 index b1214dabf5..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/AssemblyInfo.cs +++ /dev/null @@ -1,3 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -[assembly: JsiiAssembly("@scope/jsii-calc-base", "0.0.0", "scope-jsii-calc-base-0.0.0.tgz")] diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/scope-jsii-calc-base-0.0.0.tgz b/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/scope-jsii-calc-base-0.0.0.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/dotnet/Amazon.JSII.Tests.CalculatorPackageId.BasePackageId/scope-jsii-calc-base-0.0.0.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/pom.xml b/packages/jsii-pacmak/test/expected.jsii-calc-base/java/pom.xml deleted file mode 100644 index bfad9315a2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/pom.xml +++ /dev/null @@ -1,149 +0,0 @@ - - - 4.0.0 - ${project.groupId}:${project.artifactId} - An example direct dependency for jsii-calc. - https://github.com/aws/jsii - - - Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0 - repo - An OSI-approved license - - - - - Amazon Web Services - - author - - https://aws.amazon.com - - - - scm:git:https://github.com/aws/jsii.git - https://github.com/aws/jsii.git - - software.amazon.jsii.tests - calculator-base - 0.0.0 - jar - - UTF-8 - - - - software.amazon.jsii.tests - calculator-base-of-base - [0.0.0,0.0.1) - - - software.amazon.jsii - jsii-runtime - [0.0.0,0.0.1) - - - org.jetbrains - annotations - [16.0.3,20.0.0) - - - - javax.annotation - javax.annotation-api - [1.3.2,1.4.0) - compile - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 1.8 - 1.8 - - - - org.apache.maven.plugins - maven-jar-plugin - 3.2.0 - - - true - - true - true - - - - - - org.apache.maven.plugins - maven-source-plugin - 3.2.1 - - - attach-sources - - jar - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.1.1 - - - attach-javadocs - - jar - - - - - false - protected - - **/$Module.java - - -J-XX:+TieredCompilation - -J-XX:TieredStopAtLevel=1 - - - - org.apache.maven.plugins - maven-enforcer-plugin - 3.0.0-M3 - - - enforce-maven - - enforce - - - - - 3.6 - - - - - - - - org.codehaus.mojo - versions-maven-plugin - 2.7 - - false - - - - - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/java/software/amazon/jsii/tests/calculator/base/$Module.java b/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/java/software/amazon/jsii/tests/calculator/base/$Module.java deleted file mode 100644 index 99a7a6a8a0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/java/software/amazon/jsii/tests/calculator/base/$Module.java +++ /dev/null @@ -1,75 +0,0 @@ -package software.amazon.jsii.tests.calculator.base; - -import static java.util.Arrays.asList; - -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.IOException; -import java.io.Reader; -import java.io.UncheckedIOException; - -import java.nio.charset.StandardCharsets; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import software.amazon.jsii.JsiiModule; - -public final class $Module extends JsiiModule { - private static final Map MODULE_TYPES = load(); - - private static Map load() { - final Map result = new HashMap<>(); - final ClassLoader cl = $Module.class.getClassLoader(); - try (final InputStream is = cl.getResourceAsStream("software/amazon/jsii/tests/calculator/base/$Module.txt"); - final Reader rd = new InputStreamReader(is, StandardCharsets.UTF_8); - final BufferedReader br = new BufferedReader(rd)) { - br.lines() - .filter(line -> !line.trim().isEmpty()) - .forEach(line -> { - final String[] parts = line.split("=", 2); - final String fqn = parts[0]; - final String className = parts[1]; - result.put(fqn, className); - }); - } - catch (final IOException exception) { - throw new UncheckedIOException(exception); - } - return result; - } - - private final Map> cache = new HashMap<>(); - - public $Module() { - super("@scope/jsii-calc-base", "0.0.0", $Module.class, "jsii-calc-base@0.0.0.jsii.tgz"); - } - - @Override - public List> getDependencies() { - return asList(software.amazon.jsii.tests.calculator.baseofbase.$Module.class); - } - - @Override - protected Class resolveClass(final String fqn) throws ClassNotFoundException { - if (!MODULE_TYPES.containsKey(fqn)) { - throw new ClassNotFoundException("Unknown JSII type: " + fqn); - } - String className = MODULE_TYPES.get(fqn); - if (!this.cache.containsKey(className)) { - this.cache.put(className, this.findClass(className)); - } - return this.cache.get(className); - } - - private Class findClass(final String binaryName) { - try { - return Class.forName(binaryName); - } - catch (final ClassNotFoundException exception) { - throw new RuntimeException(exception); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/java/software/amazon/jsii/tests/calculator/base/Base.java b/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/java/software/amazon/jsii/tests/calculator/base/Base.java deleted file mode 100644 index 577805c9f7..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/java/software/amazon/jsii/tests/calculator/base/Base.java +++ /dev/null @@ -1,38 +0,0 @@ -package software.amazon.jsii.tests.calculator.base; - -/** - * A base class. - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.base.$Module.class, fqn = "@scope/jsii-calc-base.Base") -public abstract class Base extends software.amazon.jsii.JsiiObject { - - protected Base(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Base(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - protected Base() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * @return the name of the class (to verify native type names are created for derived classes). - */ - public @org.jetbrains.annotations.NotNull java.lang.Object typeName() { - return this.jsiiCall("typeName", java.lang.Object.class); - } - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.base.Base { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/java/software/amazon/jsii/tests/calculator/base/BaseProps.java b/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/java/software/amazon/jsii/tests/calculator/base/BaseProps.java deleted file mode 100644 index 838567c962..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/java/software/amazon/jsii/tests/calculator/base/BaseProps.java +++ /dev/null @@ -1,126 +0,0 @@ -package software.amazon.jsii.tests.calculator.base; - -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.base.$Module.class, fqn = "@scope/jsii-calc-base.BaseProps") -@software.amazon.jsii.Jsii.Proxy(BaseProps.Jsii$Proxy.class) -public interface BaseProps extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.baseofbase.VeryBaseProps { - - @org.jetbrains.annotations.NotNull java.lang.String getBar(); - - /** - * @return a {@link Builder} of {@link BaseProps} - */ - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link BaseProps} - */ - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String bar; - private software.amazon.jsii.tests.calculator.baseofbase.Very foo; - - /** - * Sets the value of {@link BaseProps#getBar} - * @param bar the value to be set. This parameter is required. - * @return {@code this} - */ - public Builder bar(java.lang.String bar) { - this.bar = bar; - return this; - } - - /** - * Sets the value of {@link BaseProps#getFoo} - * @param foo the value to be set. This parameter is required. - * @return {@code this} - */ - public Builder foo(software.amazon.jsii.tests.calculator.baseofbase.Very foo) { - this.foo = foo; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link BaseProps} - * @throws NullPointerException if any required attribute was not provided - */ - @Override - public BaseProps build() { - return new Jsii$Proxy(bar, foo); - } - } - - /** - * An implementation for {@link BaseProps} - */ - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements BaseProps { - private final java.lang.String bar; - private final software.amazon.jsii.tests.calculator.baseofbase.Very foo; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.bar = this.jsiiGet("bar", java.lang.String.class); - this.foo = this.jsiiGet("foo", software.amazon.jsii.tests.calculator.baseofbase.Very.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String bar, final software.amazon.jsii.tests.calculator.baseofbase.Very foo) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.bar = java.util.Objects.requireNonNull(bar, "bar is required"); - this.foo = java.util.Objects.requireNonNull(foo, "foo is required"); - } - - @Override - public java.lang.String getBar() { - return this.bar; - } - - @Override - public software.amazon.jsii.tests.calculator.baseofbase.Very getFoo() { - return this.foo; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("bar", om.valueToTree(this.getBar())); - data.set("foo", om.valueToTree(this.getFoo())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("@scope/jsii-calc-base.BaseProps")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - BaseProps.Jsii$Proxy that = (BaseProps.Jsii$Proxy) o; - - if (!bar.equals(that.bar)) return false; - return this.foo.equals(that.foo); - } - - @Override - public int hashCode() { - int result = this.bar.hashCode(); - result = 31 * result + (this.foo.hashCode()); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/java/software/amazon/jsii/tests/calculator/base/IBaseInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/java/software/amazon/jsii/tests/calculator/base/IBaseInterface.java deleted file mode 100644 index bee182d187..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/java/software/amazon/jsii/tests/calculator/base/IBaseInterface.java +++ /dev/null @@ -1,28 +0,0 @@ -package software.amazon.jsii.tests.calculator.base; - -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.base.$Module.class, fqn = "@scope/jsii-calc-base.IBaseInterface") -@software.amazon.jsii.Jsii.Proxy(IBaseInterface.Jsii$Proxy.class) -public interface IBaseInterface extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.baseofbase.IVeryBaseInterface { - - void bar(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.base.IBaseInterface { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - @Override - public void bar() { - this.jsiiCall("bar", software.amazon.jsii.NativeType.VOID); - } - - @Override - public void foo() { - this.jsiiCall("foo", software.amazon.jsii.NativeType.VOID); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/resources/software/amazon/jsii/tests/calculator/base/$Module.txt b/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/resources/software/amazon/jsii/tests/calculator/base/$Module.txt deleted file mode 100644 index e2f84e5c8e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/resources/software/amazon/jsii/tests/calculator/base/$Module.txt +++ /dev/null @@ -1,3 +0,0 @@ -@scope/jsii-calc-base.Base=software.amazon.jsii.tests.calculator.base.Base -@scope/jsii-calc-base.BaseProps=software.amazon.jsii.tests.calculator.base.BaseProps -@scope/jsii-calc-base.IBaseInterface=software.amazon.jsii.tests.calculator.base.IBaseInterface diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/resources/software/amazon/jsii/tests/calculator/base/jsii-calc-base@0.0.0.jsii.tgz b/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/resources/software/amazon/jsii/tests/calculator/base/jsii-calc-base@0.0.0.jsii.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/java/src/main/resources/software/amazon/jsii/tests/calculator/base/jsii-calc-base@0.0.0.jsii.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/js/jsii-calc-base@0.0.0.jsii.tgz b/packages/jsii-pacmak/test/expected.jsii-calc-base/js/jsii-calc-base@0.0.0.jsii.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/js/jsii-calc-base@0.0.0.jsii.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/MANIFEST.in b/packages/jsii-pacmak/test/expected.jsii-calc-base/python/MANIFEST.in deleted file mode 100644 index bec201fc83..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/MANIFEST.in +++ /dev/null @@ -1 +0,0 @@ -include pyproject.toml diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/README.md b/packages/jsii-pacmak/test/expected.jsii-calc-base/python/README.md deleted file mode 100644 index 8b13789179..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/README.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/pyproject.toml b/packages/jsii-pacmak/test/expected.jsii-calc-base/python/pyproject.toml deleted file mode 100644 index 34ba8ead4b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/pyproject.toml +++ /dev/null @@ -1,3 +0,0 @@ -[build-system] -requires = ["setuptools >= 38.6.0", "wheel >= 0.31.0"] -build-backend = "setuptools.build_meta" diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/setup.py b/packages/jsii-pacmak/test/expected.jsii-calc-base/python/setup.py deleted file mode 100644 index f608ca3c5a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/setup.py +++ /dev/null @@ -1,57 +0,0 @@ -import json -import setuptools - -kwargs = json.loads( - """ -{ - "name": "scope.jsii-calc-base", - "version": "0.0.0", - "description": "An example direct dependency for jsii-calc.", - "license": "Apache-2.0", - "url": "https://github.com/aws/jsii", - "long_description_content_type": "text/markdown", - "author": "Amazon Web Services", - "project_urls": { - "Source": "https://github.com/aws/jsii.git" - }, - "package_dir": { - "": "src" - }, - "packages": [ - "scope.jsii_calc_base", - "scope.jsii_calc_base._jsii" - ], - "package_data": { - "scope.jsii_calc_base._jsii": [ - "jsii-calc-base@0.0.0.jsii.tgz" - ], - "scope.jsii_calc_base": [ - "py.typed" - ] - }, - "python_requires": ">=3.6", - "install_requires": [ - "jsii>=0.0.0, <0.0.1", - "publication>=0.0.3", - "scope.jsii-calc-base-of-base>=0.0.0, <0.0.1" - ], - "classifiers": [ - "Intended Audience :: Developers", - "Operating System :: OS Independent", - "Programming Language :: JavaScript", - "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Typing :: Typed", - "License :: OSI Approved" - ] -} -""" -) - -with open("README.md") as fp: - kwargs["long_description"] = fp.read() - - -setuptools.setup(**kwargs) diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/src/scope/jsii_calc_base/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc-base/python/src/scope/jsii_calc_base/__init__.py deleted file mode 100644 index 683f41190d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/src/scope/jsii_calc_base/__init__.py +++ /dev/null @@ -1,104 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from ._jsii import * - -import scope.jsii_calc_base_of_base - - -class Base(metaclass=jsii.JSIIAbstractClass, jsii_type="@scope/jsii-calc-base.Base"): - """A base class.""" - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _BaseProxy - - def __init__(self) -> None: - jsii.create(Base, self, []) - - @jsii.member(jsii_name="typeName") - def type_name(self) -> typing.Any: - """ - return - :return: the name of the class (to verify native type names are created for derived classes). - """ - return jsii.invoke(self, "typeName", []) - - -class _BaseProxy(Base): - pass - - -@jsii.data_type( - jsii_type="@scope/jsii-calc-base.BaseProps", - jsii_struct_bases=[scope.jsii_calc_base_of_base.VeryBaseProps], - name_mapping={"foo": "foo", "bar": "bar"}, -) -class BaseProps(scope.jsii_calc_base_of_base.VeryBaseProps): - def __init__(self, *, foo: scope.jsii_calc_base_of_base.Very, bar: str) -> None: - """ - :param foo: - - :param bar: - - """ - self._values = { - "foo": foo, - "bar": bar, - } - - @builtins.property - def foo(self) -> scope.jsii_calc_base_of_base.Very: - return self._values.get("foo") - - @builtins.property - def bar(self) -> str: - return self._values.get("bar") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "BaseProps(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -@jsii.interface(jsii_type="@scope/jsii-calc-base.IBaseInterface") -class IBaseInterface( - scope.jsii_calc_base_of_base.IVeryBaseInterface, jsii.compat.Protocol -): - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IBaseInterfaceProxy - - @jsii.member(jsii_name="bar") - def bar(self) -> None: - ... - - -class _IBaseInterfaceProxy( - jsii.proxy_for(scope.jsii_calc_base_of_base.IVeryBaseInterface) -): - __jsii_type__ = "@scope/jsii-calc-base.IBaseInterface" - - @jsii.member(jsii_name="bar") - def bar(self) -> None: - return jsii.invoke(self, "bar", []) - - -__all__ = [ - "Base", - "BaseProps", - "IBaseInterface", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/src/scope/jsii_calc_base/_jsii/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc-base/python/src/scope/jsii_calc_base/_jsii/__init__.py deleted file mode 100644 index d30dbc6e00..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/src/scope/jsii_calc_base/_jsii/__init__.py +++ /dev/null @@ -1,21 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -import scope.jsii_calc_base_of_base._jsii - -__jsii_assembly__ = jsii.JSIIAssembly.load( - "@scope/jsii-calc-base", "0.0.0", __name__[0:-6], "jsii-calc-base@0.0.0.jsii.tgz" -) - -__all__ = [ - "__jsii_assembly__", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/src/scope/jsii_calc_base/_jsii/jsii-calc-base@0.0.0.jsii.tgz b/packages/jsii-pacmak/test/expected.jsii-calc-base/python/src/scope/jsii_calc_base/_jsii/jsii-calc-base@0.0.0.jsii.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/src/scope/jsii_calc_base/_jsii/jsii-calc-base@0.0.0.jsii.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/src/scope/jsii_calc_base/py.typed b/packages/jsii-pacmak/test/expected.jsii-calc-base/python/src/scope/jsii_calc_base/py.typed deleted file mode 100644 index 8b13789179..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-base/python/src/scope/jsii_calc_base/py.typed +++ /dev/null @@ -1 +0,0 @@ - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/.jsii b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/.jsii deleted file mode 100644 index ab9b6e0c47..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/.jsii +++ /dev/null @@ -1,680 +0,0 @@ -{ - "author": { - "name": "Amazon Web Services", - "organization": true, - "roles": [ - "author" - ], - "url": "https://aws.amazon.com" - }, - "dependencies": { - "@scope/jsii-calc-base": "^0.0.0", - "@scope/jsii-calc-base-of-base": "^0.0.0" - }, - "dependencyClosure": { - "@scope/jsii-calc-base": { - "targets": { - "dotnet": { - "namespace": "Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace", - "packageId": "Amazon.JSII.Tests.CalculatorPackageId.BasePackageId" - }, - "java": { - "maven": { - "artifactId": "calculator-base", - "groupId": "software.amazon.jsii.tests" - }, - "package": "software.amazon.jsii.tests.calculator.base" - }, - "js": { - "npm": "@scope/jsii-calc-base" - }, - "python": { - "distName": "scope.jsii-calc-base", - "module": "scope.jsii_calc_base" - } - } - }, - "@scope/jsii-calc-base-of-base": { - "targets": { - "dotnet": { - "namespace": "Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace", - "packageId": "Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId" - }, - "java": { - "maven": { - "artifactId": "calculator-base-of-base", - "groupId": "software.amazon.jsii.tests" - }, - "package": "software.amazon.jsii.tests.calculator.baseofbase" - }, - "js": { - "npm": "@scope/jsii-calc-base-of-base" - }, - "python": { - "distName": "scope.jsii-calc-base-of-base", - "module": "scope.jsii_calc_base_of_base" - } - } - } - }, - "description": "A simple calcuator library built on JSII.", - "docs": { - "deprecated": "Really just deprecated for shows...", - "stability": "deprecated" - }, - "homepage": "https://github.com/aws/jsii", - "jsiiVersion": "0.0.0", - "license": "Apache-2.0", - "name": "@scope/jsii-calc-lib", - "repository": { - "directory": "packages/@scope/jsii-calc-lib", - "type": "git", - "url": "https://github.com/aws/jsii.git" - }, - "schema": "jsii/0.10.0", - "submodules": { - "@scope/jsii-calc-lib.submodule": { - "locationInModule": { - "filename": "lib/index.ts", - "line": 112 - }, - "targets": { - "dotnet": { - "namespace": "Amazon.JSII.Tests.CustomSubmoduleName" - }, - "java": { - "package": "software.amazon.jsii.tests.calculator.custom_submodule_name" - }, - "python": { - "module": "scope.jsii_calc_lib.custom_submodule_name" - } - } - } - }, - "targets": { - "dotnet": { - "namespace": "Amazon.JSII.Tests.CalculatorNamespace.LibNamespace", - "packageId": "Amazon.JSII.Tests.CalculatorPackageId.LibPackageId", - "versionSuffix": "-devpreview" - }, - "java": { - "maven": { - "artifactId": "calculator-lib", - "groupId": "software.amazon.jsii.tests", - "versionSuffix": ".DEVPREVIEW" - }, - "package": "software.amazon.jsii.tests.calculator.lib" - }, - "js": { - "npm": "@scope/jsii-calc-lib" - }, - "python": { - "distName": "scope.jsii-calc-lib", - "module": "scope.jsii_calc_lib" - } - }, - "types": { - "@scope/jsii-calc-lib.EnumFromScopedModule": { - "assembly": "@scope/jsii-calc-lib", - "docs": { - "remarks": "See awslabs/jsii#138", - "stability": "deprecated", - "summary": "Check that enums from \\@scoped packages can be references." - }, - "fqn": "@scope/jsii-calc-lib.EnumFromScopedModule", - "kind": "enum", - "locationInModule": { - "filename": "lib/index.ts", - "line": 97 - }, - "members": [ - { - "docs": { - "stability": "deprecated" - }, - "name": "VALUE1" - }, - { - "docs": { - "stability": "deprecated" - }, - "name": "VALUE2" - } - ], - "name": "EnumFromScopedModule" - }, - "@scope/jsii-calc-lib.IDoublable": { - "assembly": "@scope/jsii-calc-lib", - "docs": { - "stability": "deprecated", - "summary": "The general contract for a concrete number." - }, - "fqn": "@scope/jsii-calc-lib.IDoublable", - "kind": "interface", - "locationInModule": { - "filename": "lib/index.ts", - "line": 23 - }, - "name": "IDoublable", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "deprecated" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/index.ts", - "line": 24 - }, - "name": "doubleValue", - "type": { - "primitive": "number" - } - } - ] - }, - "@scope/jsii-calc-lib.IFriendly": { - "assembly": "@scope/jsii-calc-lib", - "docs": { - "remarks": "These classes can be greeted with\na \"hello\" or \"goodbye\" blessing and they will respond back in a fun and friendly manner.", - "stability": "deprecated", - "summary": "Applies to classes that are considered friendly." - }, - "fqn": "@scope/jsii-calc-lib.IFriendly", - "kind": "interface", - "locationInModule": { - "filename": "lib/index.ts", - "line": 58 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "deprecated", - "summary": "Say hello!" - }, - "locationInModule": { - "filename": "lib/index.ts", - "line": 62 - }, - "name": "hello", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "IFriendly" - }, - "@scope/jsii-calc-lib.IThreeLevelsInterface": { - "assembly": "@scope/jsii-calc-lib", - "docs": { - "remarks": "Their presence validates that .NET/Java/jsii-reflect can track all fields\nfar enough up the tree.", - "stability": "deprecated", - "summary": "Interface that inherits from packages 2 levels up the tree." - }, - "fqn": "@scope/jsii-calc-lib.IThreeLevelsInterface", - "interfaces": [ - "@scope/jsii-calc-base.IBaseInterface" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/index.ts", - "line": 108 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "deprecated" - }, - "locationInModule": { - "filename": "lib/index.ts", - "line": 109 - }, - "name": "baz" - } - ], - "name": "IThreeLevelsInterface" - }, - "@scope/jsii-calc-lib.MyFirstStruct": { - "assembly": "@scope/jsii-calc-lib", - "datatype": true, - "docs": { - "stability": "deprecated", - "summary": "This is the first struct we have created in jsii." - }, - "fqn": "@scope/jsii-calc-lib.MyFirstStruct", - "kind": "interface", - "locationInModule": { - "filename": "lib/index.ts", - "line": 68 - }, - "name": "MyFirstStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "deprecated", - "summary": "An awesome number value." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/index.ts", - "line": 77 - }, - "name": "anumber", - "type": { - "primitive": "number" - } - }, - { - "abstract": true, - "docs": { - "stability": "deprecated", - "summary": "A string value." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/index.ts", - "line": 72 - }, - "name": "astring", - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "deprecated" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/index.ts", - "line": 78 - }, - "name": "firstOptional", - "optional": true, - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - } - ] - }, - "@scope/jsii-calc-lib.Number": { - "assembly": "@scope/jsii-calc-lib", - "base": "@scope/jsii-calc-lib.Value", - "docs": { - "stability": "deprecated", - "summary": "Represents a concrete number." - }, - "fqn": "@scope/jsii-calc-lib.Number", - "initializer": { - "docs": { - "stability": "deprecated", - "summary": "Creates a Number object." - }, - "locationInModule": { - "filename": "lib/index.ts", - "line": 35 - }, - "parameters": [ - { - "docs": { - "summary": "The number." - }, - "name": "value", - "type": { - "primitive": "number" - } - } - ] - }, - "interfaces": [ - "@scope/jsii-calc-lib.IDoublable" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/index.ts", - "line": 30 - }, - "name": "Number", - "properties": [ - { - "docs": { - "stability": "deprecated", - "summary": "The number multiplied by 2." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/index.ts", - "line": 42 - }, - "name": "doubleValue", - "overrides": "@scope/jsii-calc-lib.IDoublable", - "type": { - "primitive": "number" - } - }, - { - "docs": { - "stability": "deprecated", - "summary": "The number." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/index.ts", - "line": 35 - }, - "name": "value", - "overrides": "@scope/jsii-calc-lib.Value", - "type": { - "primitive": "number" - } - } - ] - }, - "@scope/jsii-calc-lib.Operation": { - "abstract": true, - "assembly": "@scope/jsii-calc-lib", - "base": "@scope/jsii-calc-lib.Value", - "docs": { - "stability": "deprecated", - "summary": "Represents an operation on values." - }, - "fqn": "@scope/jsii-calc-lib.Operation", - "initializer": {}, - "kind": "class", - "locationInModule": { - "filename": "lib/index.ts", - "line": 50 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "deprecated", - "summary": "String representation of the value." - }, - "locationInModule": { - "filename": "lib/index.ts", - "line": 51 - }, - "name": "toString", - "overrides": "@scope/jsii-calc-lib.Value", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "Operation" - }, - "@scope/jsii-calc-lib.StructWithOnlyOptionals": { - "assembly": "@scope/jsii-calc-lib", - "datatype": true, - "docs": { - "stability": "deprecated", - "summary": "This is a struct with only optional properties." - }, - "fqn": "@scope/jsii-calc-lib.StructWithOnlyOptionals", - "kind": "interface", - "locationInModule": { - "filename": "lib/index.ts", - "line": 84 - }, - "name": "StructWithOnlyOptionals", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "deprecated", - "summary": "The first optional!" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/index.ts", - "line": 88 - }, - "name": "optional1", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "deprecated" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/index.ts", - "line": 89 - }, - "name": "optional2", - "optional": true, - "type": { - "primitive": "number" - } - }, - { - "abstract": true, - "docs": { - "stability": "deprecated" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/index.ts", - "line": 90 - }, - "name": "optional3", - "optional": true, - "type": { - "primitive": "boolean" - } - } - ] - }, - "@scope/jsii-calc-lib.Value": { - "abstract": true, - "assembly": "@scope/jsii-calc-lib", - "base": "@scope/jsii-calc-base.Base", - "docs": { - "stability": "deprecated", - "summary": "Abstract class which represents a numeric value." - }, - "fqn": "@scope/jsii-calc-lib.Value", - "initializer": {}, - "kind": "class", - "locationInModule": { - "filename": "lib/index.ts", - "line": 6 - }, - "methods": [ - { - "docs": { - "stability": "deprecated", - "summary": "String representation of the value." - }, - "locationInModule": { - "filename": "lib/index.ts", - "line": 15 - }, - "name": "toString", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "Value", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "deprecated", - "summary": "The value." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/index.ts", - "line": 10 - }, - "name": "value", - "type": { - "primitive": "number" - } - } - ] - }, - "@scope/jsii-calc-lib.submodule.IReflectable": { - "assembly": "@scope/jsii-calc-lib", - "docs": { - "stability": "deprecated" - }, - "fqn": "@scope/jsii-calc-lib.submodule.IReflectable", - "kind": "interface", - "locationInModule": { - "filename": "lib/submodule/index.ts", - "line": 1 - }, - "name": "IReflectable", - "namespace": "submodule", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "deprecated" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/index.ts", - "line": 2 - }, - "name": "entries", - "type": { - "collection": { - "elementtype": { - "fqn": "@scope/jsii-calc-lib.submodule.ReflectableEntry" - }, - "kind": "array" - } - } - } - ] - }, - "@scope/jsii-calc-lib.submodule.ReflectableEntry": { - "assembly": "@scope/jsii-calc-lib", - "datatype": true, - "docs": { - "stability": "deprecated" - }, - "fqn": "@scope/jsii-calc-lib.submodule.ReflectableEntry", - "kind": "interface", - "locationInModule": { - "filename": "lib/submodule/index.ts", - "line": 5 - }, - "name": "ReflectableEntry", - "namespace": "submodule", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "deprecated" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/index.ts", - "line": 6 - }, - "name": "key", - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "deprecated" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/index.ts", - "line": 7 - }, - "name": "value", - "type": { - "primitive": "any" - } - } - ] - }, - "@scope/jsii-calc-lib.submodule.Reflector": { - "assembly": "@scope/jsii-calc-lib", - "docs": { - "stability": "deprecated" - }, - "fqn": "@scope/jsii-calc-lib.submodule.Reflector", - "initializer": { - "docs": { - "stability": "deprecated" - }, - "locationInModule": { - "filename": "lib/submodule/index.ts", - "line": 11 - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/submodule/index.ts", - "line": 10 - }, - "methods": [ - { - "docs": { - "stability": "deprecated" - }, - "locationInModule": { - "filename": "lib/submodule/index.ts", - "line": 13 - }, - "name": "asMap", - "parameters": [ - { - "name": "reflectable", - "type": { - "fqn": "@scope/jsii-calc-lib.submodule.IReflectable" - } - } - ], - "returns": { - "type": { - "collection": { - "elementtype": { - "primitive": "any" - }, - "kind": "map" - } - } - } - } - ], - "name": "Reflector", - "namespace": "submodule" - } - }, - "version": "0.0.0", - "fingerprint": "fVfpIK7xUajlT1zkHIJ8uYJPvy0gLgEe5BM8afu1mVg=" -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId.csproj b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId.csproj deleted file mode 100644 index ab48cbd8c8..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId.csproj +++ /dev/null @@ -1,36 +0,0 @@ - - - - A simple calcuator library built on JSII. (Stability: Deprecated) - Amazon.JSII.Tests.CalculatorPackageId.LibPackageId - Apache-2.0 - 0.0.0-devpreview - - Amazon Web Services - Amazon Web Services - en-US - https://github.com/aws/jsii - https://github.com/aws/jsii.git - git - - true - true - true - true - enable - snupkg - netcoreapp3.1 - - - - - - - - - - - 0612,0618 - - - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/EnumFromScopedModule.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/EnumFromScopedModule.cs deleted file mode 100644 index d8fe0d6101..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/EnumFromScopedModule.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// Check that enums from \@scoped packages can be references. - /// - /// See awslabs/jsii#138 - /// - /// Stability: Deprecated - /// - [JsiiEnum(nativeType: typeof(EnumFromScopedModule), fullyQualifiedName: "@scope/jsii-calc-lib.EnumFromScopedModule")] - [System.Obsolete()] - public enum EnumFromScopedModule - { - /// - /// Stability: Deprecated - /// - [JsiiEnumMember(name: "VALUE1")] - [System.Obsolete()] - VALUE1, - /// - /// Stability: Deprecated - /// - [JsiiEnumMember(name: "VALUE2")] - [System.Obsolete()] - VALUE2 - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IDoublable.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IDoublable.cs deleted file mode 100644 index 0b72de37a3..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IDoublable.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// The general contract for a concrete number. - /// - /// Stability: Deprecated - /// - [JsiiInterface(nativeType: typeof(IDoublable), fullyQualifiedName: "@scope/jsii-calc-lib.IDoublable")] - [System.Obsolete()] - public interface IDoublable - { - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "doubleValue", typeJson: "{\"primitive\":\"number\"}")] - [System.Obsolete()] - double DoubleValue - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IDoublableProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IDoublableProxy.cs deleted file mode 100644 index 0397f3d6a6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IDoublableProxy.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// The general contract for a concrete number. - /// - /// Stability: Deprecated - /// - [JsiiTypeProxy(nativeType: typeof(IDoublable), fullyQualifiedName: "@scope/jsii-calc-lib.IDoublable")] - [System.Obsolete()] - internal sealed class IDoublableProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IDoublable - { - private IDoublableProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "doubleValue", typeJson: "{\"primitive\":\"number\"}")] - [System.Obsolete()] - public double DoubleValue - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IFriendly.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IFriendly.cs deleted file mode 100644 index 3d6a4a1dc2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IFriendly.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// Applies to classes that are considered friendly. - /// - /// These classes can be greeted with - /// a "hello" or "goodbye" blessing and they will respond back in a fun and friendly manner. - /// - /// Stability: Deprecated - /// - [JsiiInterface(nativeType: typeof(IFriendly), fullyQualifiedName: "@scope/jsii-calc-lib.IFriendly")] - [System.Obsolete()] - public interface IFriendly - { - /// Say hello! - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "hello", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - [System.Obsolete()] - string Hello(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IFriendlyProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IFriendlyProxy.cs deleted file mode 100644 index f326f6bec1..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IFriendlyProxy.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// Applies to classes that are considered friendly. - /// - /// These classes can be greeted with - /// a "hello" or "goodbye" blessing and they will respond back in a fun and friendly manner. - /// - /// Stability: Deprecated - /// - [JsiiTypeProxy(nativeType: typeof(IFriendly), fullyQualifiedName: "@scope/jsii-calc-lib.IFriendly")] - [System.Obsolete()] - internal sealed class IFriendlyProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly - { - private IFriendlyProxy(ByRefValue reference): base(reference) - { - } - - /// Say hello! - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "hello", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - [System.Obsolete()] - public string Hello() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IMyFirstStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IMyFirstStruct.cs deleted file mode 100644 index bbcfb4b507..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IMyFirstStruct.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// This is the first struct we have created in jsii. - /// - /// Stability: Deprecated - /// - [JsiiInterface(nativeType: typeof(IMyFirstStruct), fullyQualifiedName: "@scope/jsii-calc-lib.MyFirstStruct")] - [System.Obsolete()] - public interface IMyFirstStruct - { - /// An awesome number value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "anumber", typeJson: "{\"primitive\":\"number\"}")] - [System.Obsolete()] - double Anumber - { - get; - } - - /// A string value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "astring", typeJson: "{\"primitive\":\"string\"}")] - [System.Obsolete()] - string Astring - { - get; - } - - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "firstOptional", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}", isOptional: true)] - [System.Obsolete()] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string[]? FirstOptional - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IStructWithOnlyOptionals.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IStructWithOnlyOptionals.cs deleted file mode 100644 index e34ad6d126..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IStructWithOnlyOptionals.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// This is a struct with only optional properties. - /// - /// Stability: Deprecated - /// - [JsiiInterface(nativeType: typeof(IStructWithOnlyOptionals), fullyQualifiedName: "@scope/jsii-calc-lib.StructWithOnlyOptionals")] - [System.Obsolete()] - public interface IStructWithOnlyOptionals - { - /// The first optional! - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "optional1", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [System.Obsolete()] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? Optional1 - { - get - { - return null; - } - } - - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "optional2", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - [System.Obsolete()] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - double? Optional2 - { - get - { - return null; - } - } - - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "optional3", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true)] - [System.Obsolete()] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - bool? Optional3 - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IThreeLevelsInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IThreeLevelsInterface.cs deleted file mode 100644 index f7f1d12c86..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IThreeLevelsInterface.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// Interface that inherits from packages 2 levels up the tree. - /// - /// Their presence validates that .NET/Java/jsii-reflect can track all fields - /// far enough up the tree. - /// - /// Stability: Deprecated - /// - [JsiiInterface(nativeType: typeof(IThreeLevelsInterface), fullyQualifiedName: "@scope/jsii-calc-lib.IThreeLevelsInterface")] - [System.Obsolete()] - public interface IThreeLevelsInterface : Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.IBaseInterface - { - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "baz")] - [System.Obsolete()] - void Baz(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IThreeLevelsInterfaceProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IThreeLevelsInterfaceProxy.cs deleted file mode 100644 index 1387748f36..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/IThreeLevelsInterfaceProxy.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// Interface that inherits from packages 2 levels up the tree. - /// - /// Their presence validates that .NET/Java/jsii-reflect can track all fields - /// far enough up the tree. - /// - /// Stability: Deprecated - /// - [JsiiTypeProxy(nativeType: typeof(IThreeLevelsInterface), fullyQualifiedName: "@scope/jsii-calc-lib.IThreeLevelsInterface")] - [System.Obsolete()] - internal sealed class IThreeLevelsInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IThreeLevelsInterface - { - private IThreeLevelsInterfaceProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "baz")] - [System.Obsolete()] - public void Baz() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - [JsiiMethod(name: "bar")] - public void Bar() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - [JsiiMethod(name: "foo")] - public void Foo() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Internal/DependencyResolution/Anchor.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Internal/DependencyResolution/Anchor.cs deleted file mode 100644 index 3b887c9da6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Internal/DependencyResolution/Anchor.cs +++ /dev/null @@ -1,13 +0,0 @@ -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Internal.DependencyResolution -{ - public sealed class Anchor - { - public Anchor() - { - new Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Internal.DependencyResolution.Anchor(); - new Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Internal.DependencyResolution.Anchor(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/MyFirstStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/MyFirstStruct.cs deleted file mode 100644 index 5e32c5bd76..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/MyFirstStruct.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - #pragma warning disable CS8618 - - /// This is the first struct we have created in jsii. - /// - /// Stability: Deprecated - /// - [JsiiByValue(fqn: "@scope/jsii-calc-lib.MyFirstStruct")] - public class MyFirstStruct : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct - { - /// An awesome number value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "anumber", typeJson: "{\"primitive\":\"number\"}", isOverride: true)] - [System.Obsolete()] - public double Anumber - { - get; - set; - } - - /// A string value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "astring", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - [System.Obsolete()] - public string Astring - { - get; - set; - } - - /// - /// Stability: Deprecated - /// - [JsiiOptional] - [JsiiProperty(name: "firstOptional", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}", isOptional: true, isOverride: true)] - [System.Obsolete()] - public string[]? FirstOptional - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/MyFirstStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/MyFirstStructProxy.cs deleted file mode 100644 index 4ce1eab9f0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/MyFirstStructProxy.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// This is the first struct we have created in jsii. - /// - /// Stability: Deprecated - /// - [JsiiTypeProxy(nativeType: typeof(IMyFirstStruct), fullyQualifiedName: "@scope/jsii-calc-lib.MyFirstStruct")] - [System.Obsolete()] - internal sealed class MyFirstStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct - { - private MyFirstStructProxy(ByRefValue reference): base(reference) - { - } - - /// An awesome number value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "anumber", typeJson: "{\"primitive\":\"number\"}")] - [System.Obsolete()] - public double Anumber - { - get => GetInstanceProperty(); - } - - /// A string value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "astring", typeJson: "{\"primitive\":\"string\"}")] - [System.Obsolete()] - public string Astring - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Deprecated - /// - [JsiiOptional] - [JsiiProperty(name: "firstOptional", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}", isOptional: true)] - [System.Obsolete()] - public string[]? FirstOptional - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Number.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Number.cs deleted file mode 100644 index 00456a3b2a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Number.cs +++ /dev/null @@ -1,63 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// Represents a concrete number. - /// - /// Stability: Deprecated - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Number), fullyQualifiedName: "@scope/jsii-calc-lib.Number", parametersJson: "[{\"docs\":{\"summary\":\"The number.\"},\"name\":\"value\",\"type\":{\"primitive\":\"number\"}}]")] - [System.Obsolete()] - public class Number : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IDoublable - { - /// Creates a Number object. - /// The number. - /// - /// Stability: Deprecated - /// - [System.Obsolete()] - public Number(double @value): base(new DeputyProps(new object[]{@value})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.Obsolete()] - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Number(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.Obsolete()] - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Number(DeputyProps props): base(props) - { - } - - /// The number multiplied by 2. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "doubleValue", typeJson: "{\"primitive\":\"number\"}")] - [System.Obsolete()] - public virtual double DoubleValue - { - get => GetInstanceProperty(); - } - - /// The number. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"number\"}")] - [System.Obsolete()] - public override double Value - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Operation.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Operation.cs deleted file mode 100644 index e8ec34fbab..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Operation.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// Represents an operation on values. - /// - /// Stability: Deprecated - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Operation), fullyQualifiedName: "@scope/jsii-calc-lib.Operation")] - [System.Obsolete()] - public abstract class Operation : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ - { - protected Operation(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Operation(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Operation(DeputyProps props): base(props) - { - } - - /// String representation of the value. - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "toString", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - [System.Obsolete()] - public override abstract string ToString(); - - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/OperationProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/OperationProxy.cs deleted file mode 100644 index 961231dd4e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/OperationProxy.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// Represents an operation on values. - /// - /// Stability: Deprecated - /// - [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Operation), fullyQualifiedName: "@scope/jsii-calc-lib.Operation")] - [System.Obsolete()] - internal sealed class OperationProxy : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Operation - { - private OperationProxy(ByRefValue reference): base(reference) - { - } - - /// The value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"number\"}")] - [System.Obsolete()] - public override double Value - { - get => GetInstanceProperty(); - } - - /// String representation of the value. - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "toString", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - [System.Obsolete()] - public override string ToString() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/StructWithOnlyOptionals.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/StructWithOnlyOptionals.cs deleted file mode 100644 index 6c98d38d00..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/StructWithOnlyOptionals.cs +++ /dev/null @@ -1,51 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// This is a struct with only optional properties. - /// - /// Stability: Deprecated - /// - [JsiiByValue(fqn: "@scope/jsii-calc-lib.StructWithOnlyOptionals")] - public class StructWithOnlyOptionals : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IStructWithOnlyOptionals - { - /// The first optional! - /// - /// Stability: Deprecated - /// - [JsiiOptional] - [JsiiProperty(name: "optional1", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - [System.Obsolete()] - public string? Optional1 - { - get; - set; - } - - /// - /// Stability: Deprecated - /// - [JsiiOptional] - [JsiiProperty(name: "optional2", typeJson: "{\"primitive\":\"number\"}", isOptional: true, isOverride: true)] - [System.Obsolete()] - public double? Optional2 - { - get; - set; - } - - /// - /// Stability: Deprecated - /// - [JsiiOptional] - [JsiiProperty(name: "optional3", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true, isOverride: true)] - [System.Obsolete()] - public bool? Optional3 - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/StructWithOnlyOptionalsProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/StructWithOnlyOptionalsProxy.cs deleted file mode 100644 index 71da5a9773..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/StructWithOnlyOptionalsProxy.cs +++ /dev/null @@ -1,53 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// This is a struct with only optional properties. - /// - /// Stability: Deprecated - /// - [JsiiTypeProxy(nativeType: typeof(IStructWithOnlyOptionals), fullyQualifiedName: "@scope/jsii-calc-lib.StructWithOnlyOptionals")] - [System.Obsolete()] - internal sealed class StructWithOnlyOptionalsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IStructWithOnlyOptionals - { - private StructWithOnlyOptionalsProxy(ByRefValue reference): base(reference) - { - } - - /// The first optional! - /// - /// Stability: Deprecated - /// - [JsiiOptional] - [JsiiProperty(name: "optional1", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [System.Obsolete()] - public string? Optional1 - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Deprecated - /// - [JsiiOptional] - [JsiiProperty(name: "optional2", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - [System.Obsolete()] - public double? Optional2 - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Deprecated - /// - [JsiiOptional] - [JsiiProperty(name: "optional3", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true)] - [System.Obsolete()] - public bool? Optional3 - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/ValueProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/ValueProxy.cs deleted file mode 100644 index 8f028413aa..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/ValueProxy.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// Abstract class which represents a numeric value. - /// - /// Stability: Deprecated - /// - [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_), fullyQualifiedName: "@scope/jsii-calc-lib.Value")] - [System.Obsolete()] - internal sealed class ValueProxy : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ - { - private ValueProxy(ByRefValue reference): base(reference) - { - } - - /// The value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"number\"}")] - [System.Obsolete()] - public override double Value - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Value_.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Value_.cs deleted file mode 100644 index 959732b439..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CalculatorNamespace/LibNamespace/Value_.cs +++ /dev/null @@ -1,55 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.LibNamespace -{ - /// Abstract class which represents a numeric value. - /// - /// Stability: Deprecated - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_), fullyQualifiedName: "@scope/jsii-calc-lib.Value")] - [System.Obsolete()] - public abstract class Value_ : Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Base - { - protected Value_(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Value_(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Value_(DeputyProps props): base(props) - { - } - - /// String representation of the value. - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "toString", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - [System.Obsolete()] - public override string ToString() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// The value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"number\"}")] - [System.Obsolete()] - public abstract double Value - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/IReflectable.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/IReflectable.cs deleted file mode 100644 index 0fa74b3b3c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/IReflectable.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CustomSubmoduleName -{ - /// - /// Stability: Deprecated - /// - [JsiiInterface(nativeType: typeof(IReflectable), fullyQualifiedName: "@scope/jsii-calc-lib.submodule.IReflectable")] - [System.Obsolete()] - public interface IReflectable - { - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "entries", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@scope/jsii-calc-lib.submodule.ReflectableEntry\"},\"kind\":\"array\"}}")] - [System.Obsolete()] - Amazon.JSII.Tests.CustomSubmoduleName.IReflectableEntry[] Entries - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/IReflectableEntry.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/IReflectableEntry.cs deleted file mode 100644 index e8d40a0c60..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/IReflectableEntry.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CustomSubmoduleName -{ - /// - /// Stability: Deprecated - /// - [JsiiInterface(nativeType: typeof(IReflectableEntry), fullyQualifiedName: "@scope/jsii-calc-lib.submodule.ReflectableEntry")] - [System.Obsolete()] - public interface IReflectableEntry - { - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "key", typeJson: "{\"primitive\":\"string\"}")] - [System.Obsolete()] - string Key - { - get; - } - - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"any\"}")] - [System.Obsolete()] - object Value - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/IReflectableProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/IReflectableProxy.cs deleted file mode 100644 index e045a295a0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/IReflectableProxy.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CustomSubmoduleName -{ - /// - /// Stability: Deprecated - /// - [JsiiTypeProxy(nativeType: typeof(IReflectable), fullyQualifiedName: "@scope/jsii-calc-lib.submodule.IReflectable")] - [System.Obsolete()] - internal sealed class IReflectableProxy : DeputyBase, Amazon.JSII.Tests.CustomSubmoduleName.IReflectable - { - private IReflectableProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "entries", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@scope/jsii-calc-lib.submodule.ReflectableEntry\"},\"kind\":\"array\"}}")] - [System.Obsolete()] - public Amazon.JSII.Tests.CustomSubmoduleName.IReflectableEntry[] Entries - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/ReflectableEntry.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/ReflectableEntry.cs deleted file mode 100644 index 7a7be17288..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/ReflectableEntry.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CustomSubmoduleName -{ - #pragma warning disable CS8618 - - /// - /// Stability: Deprecated - /// - [JsiiByValue(fqn: "@scope/jsii-calc-lib.submodule.ReflectableEntry")] - public class ReflectableEntry : Amazon.JSII.Tests.CustomSubmoduleName.IReflectableEntry - { - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "key", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - [System.Obsolete()] - public string Key - { - get; - set; - } - - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"any\"}", isOverride: true)] - [System.Obsolete()] - public object Value - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/ReflectableEntryProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/ReflectableEntryProxy.cs deleted file mode 100644 index 5c118fb5b7..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/ReflectableEntryProxy.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CustomSubmoduleName -{ - /// - /// Stability: Deprecated - /// - [JsiiTypeProxy(nativeType: typeof(IReflectableEntry), fullyQualifiedName: "@scope/jsii-calc-lib.submodule.ReflectableEntry")] - [System.Obsolete()] - internal sealed class ReflectableEntryProxy : DeputyBase, Amazon.JSII.Tests.CustomSubmoduleName.IReflectableEntry - { - private ReflectableEntryProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "key", typeJson: "{\"primitive\":\"string\"}")] - [System.Obsolete()] - public string Key - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"any\"}")] - [System.Obsolete()] - public object Value - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/Reflector.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/Reflector.cs deleted file mode 100644 index f4603846c0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/Amazon/JSII/Tests/CustomSubmoduleName/Reflector.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CustomSubmoduleName -{ - /// - /// Stability: Deprecated - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CustomSubmoduleName.Reflector), fullyQualifiedName: "@scope/jsii-calc-lib.submodule.Reflector")] - [System.Obsolete()] - public class Reflector : DeputyBase - { - /// - /// Stability: Deprecated - /// - [System.Obsolete()] - public Reflector(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.Obsolete()] - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Reflector(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.Obsolete()] - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Reflector(DeputyProps props): base(props) - { - } - - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "asMap", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"map\"}}}", parametersJson: "[{\"name\":\"reflectable\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.submodule.IReflectable\"}}]")] - [System.Obsolete()] - public virtual System.Collections.Generic.IDictionary AsMap(Amazon.JSII.Tests.CustomSubmoduleName.IReflectable reflectable) - { - return InvokeInstanceMethod>(new System.Type[]{typeof(Amazon.JSII.Tests.CustomSubmoduleName.IReflectable)}, new object[]{reflectable}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/AssemblyInfo.cs b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/AssemblyInfo.cs deleted file mode 100644 index 6fc0181843..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/AssemblyInfo.cs +++ /dev/null @@ -1,3 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -[assembly: JsiiAssembly("@scope/jsii-calc-lib", "0.0.0", "scope-jsii-calc-lib-0.0.0.tgz")] diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/scope-jsii-calc-lib-0.0.0.tgz b/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/scope-jsii-calc-lib-0.0.0.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/dotnet/Amazon.JSII.Tests.CalculatorPackageId.LibPackageId/scope-jsii-calc-lib-0.0.0.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/pom.xml b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/pom.xml deleted file mode 100644 index 9affcca2d3..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/pom.xml +++ /dev/null @@ -1,154 +0,0 @@ - - - 4.0.0 - ${project.groupId}:${project.artifactId} - A simple calcuator library built on JSII. - https://github.com/aws/jsii - - - Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0 - repo - An OSI-approved license - - - - - Amazon Web Services - - author - - https://aws.amazon.com - - - - scm:git:https://github.com/aws/jsii.git - https://github.com/aws/jsii.git - - software.amazon.jsii.tests - calculator-lib - 0.0.0.DEVPREVIEW - jar - - UTF-8 - - - - software.amazon.jsii.tests - calculator-base - [0.0.0,0.0.1) - - - software.amazon.jsii.tests - calculator-base-of-base - [0.0.0,0.0.1) - - - software.amazon.jsii - jsii-runtime - [0.0.0,0.0.1) - - - org.jetbrains - annotations - [16.0.3,20.0.0) - - - - javax.annotation - javax.annotation-api - [1.3.2,1.4.0) - compile - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 1.8 - 1.8 - - - - org.apache.maven.plugins - maven-jar-plugin - 3.2.0 - - - true - - true - true - - - - - - org.apache.maven.plugins - maven-source-plugin - 3.2.1 - - - attach-sources - - jar - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.1.1 - - - attach-javadocs - - jar - - - - - false - protected - - **/$Module.java - - -J-XX:+TieredCompilation - -J-XX:TieredStopAtLevel=1 - - - - org.apache.maven.plugins - maven-enforcer-plugin - 3.0.0-M3 - - - enforce-maven - - enforce - - - - - 3.6 - - - - - - - - org.codehaus.mojo - versions-maven-plugin - 2.7 - - false - - - - - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/custom_submodule_name/IReflectable.java b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/custom_submodule_name/IReflectable.java deleted file mode 100644 index c7d669f933..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/custom_submodule_name/IReflectable.java +++ /dev/null @@ -1,35 +0,0 @@ -package software.amazon.jsii.tests.calculator.custom_submodule_name; - -/** - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = "@scope/jsii-calc-lib.submodule.IReflectable") -@software.amazon.jsii.Jsii.Proxy(IReflectable.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -public interface IReflectable extends software.amazon.jsii.JsiiSerializable { - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @org.jetbrains.annotations.NotNull java.util.List getEntries(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.custom_submodule_name.IReflectable { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public @org.jetbrains.annotations.NotNull java.util.List getEntries() { - return java.util.Collections.unmodifiableList(this.jsiiGet("entries", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.custom_submodule_name.ReflectableEntry.class)))); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/custom_submodule_name/ReflectableEntry.java b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/custom_submodule_name/ReflectableEntry.java deleted file mode 100644 index 2edd2ecbe2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/custom_submodule_name/ReflectableEntry.java +++ /dev/null @@ -1,152 +0,0 @@ -package software.amazon.jsii.tests.calculator.custom_submodule_name; - -/** - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = "@scope/jsii-calc-lib.submodule.ReflectableEntry") -@software.amazon.jsii.Jsii.Proxy(ReflectableEntry.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -public interface ReflectableEntry extends software.amazon.jsii.JsiiSerializable { - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @org.jetbrains.annotations.NotNull java.lang.String getKey(); - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @org.jetbrains.annotations.NotNull java.lang.Object getValue(); - - /** - * @return a {@link Builder} of {@link ReflectableEntry} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link ReflectableEntry} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String key; - private java.lang.Object value; - - /** - * Sets the value of {@link ReflectableEntry#getKey} - * @param key the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public Builder key(java.lang.String key) { - this.key = key; - return this; - } - - /** - * Sets the value of {@link ReflectableEntry#getValue} - * @param value the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public Builder value(java.lang.Object value) { - this.value = value; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link ReflectableEntry} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public ReflectableEntry build() { - return new Jsii$Proxy(key, value); - } - } - - /** - * An implementation for {@link ReflectableEntry} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ReflectableEntry { - private final java.lang.String key; - private final java.lang.Object value; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.key = this.jsiiGet("key", java.lang.String.class); - this.value = this.jsiiGet("value", java.lang.Object.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String key, final java.lang.Object value) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.key = java.util.Objects.requireNonNull(key, "key is required"); - this.value = java.util.Objects.requireNonNull(value, "value is required"); - } - - @Override - public java.lang.String getKey() { - return this.key; - } - - @Override - public java.lang.Object getValue() { - return this.value; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("key", om.valueToTree(this.getKey())); - data.set("value", om.valueToTree(this.getValue())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("@scope/jsii-calc-lib.submodule.ReflectableEntry")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - ReflectableEntry.Jsii$Proxy that = (ReflectableEntry.Jsii$Proxy) o; - - if (!key.equals(that.key)) return false; - return this.value.equals(that.value); - } - - @Override - public int hashCode() { - int result = this.key.hashCode(); - result = 31 * result + (this.value.hashCode()); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/custom_submodule_name/Reflector.java b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/custom_submodule_name/Reflector.java deleted file mode 100644 index 2bb2f08828..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/custom_submodule_name/Reflector.java +++ /dev/null @@ -1,36 +0,0 @@ -package software.amazon.jsii.tests.calculator.custom_submodule_name; - -/** - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = "@scope/jsii-calc-lib.submodule.Reflector") -public class Reflector extends software.amazon.jsii.JsiiObject { - - protected Reflector(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Reflector(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public Reflector() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * @param reflectable This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public @org.jetbrains.annotations.NotNull java.util.Map asMap(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.custom_submodule_name.IReflectable reflectable) { - return java.util.Collections.unmodifiableMap(this.jsiiCall("asMap", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)), new Object[] { java.util.Objects.requireNonNull(reflectable, "reflectable is required") })); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/$Module.java b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/$Module.java deleted file mode 100644 index 925fda7434..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/$Module.java +++ /dev/null @@ -1,75 +0,0 @@ -package software.amazon.jsii.tests.calculator.lib; - -import static java.util.Arrays.asList; - -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.IOException; -import java.io.Reader; -import java.io.UncheckedIOException; - -import java.nio.charset.StandardCharsets; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import software.amazon.jsii.JsiiModule; - -public final class $Module extends JsiiModule { - private static final Map MODULE_TYPES = load(); - - private static Map load() { - final Map result = new HashMap<>(); - final ClassLoader cl = $Module.class.getClassLoader(); - try (final InputStream is = cl.getResourceAsStream("software/amazon/jsii/tests/calculator/lib/$Module.txt"); - final Reader rd = new InputStreamReader(is, StandardCharsets.UTF_8); - final BufferedReader br = new BufferedReader(rd)) { - br.lines() - .filter(line -> !line.trim().isEmpty()) - .forEach(line -> { - final String[] parts = line.split("=", 2); - final String fqn = parts[0]; - final String className = parts[1]; - result.put(fqn, className); - }); - } - catch (final IOException exception) { - throw new UncheckedIOException(exception); - } - return result; - } - - private final Map> cache = new HashMap<>(); - - public $Module() { - super("@scope/jsii-calc-lib", "0.0.0", $Module.class, "jsii-calc-lib@0.0.0.jsii.tgz"); - } - - @Override - public List> getDependencies() { - return asList(software.amazon.jsii.tests.calculator.base.$Module.class, software.amazon.jsii.tests.calculator.baseofbase.$Module.class); - } - - @Override - protected Class resolveClass(final String fqn) throws ClassNotFoundException { - if (!MODULE_TYPES.containsKey(fqn)) { - throw new ClassNotFoundException("Unknown JSII type: " + fqn); - } - String className = MODULE_TYPES.get(fqn); - if (!this.cache.containsKey(className)) { - this.cache.put(className, this.findClass(className)); - } - return this.cache.get(className); - } - - private Class findClass(final String binaryName) { - try { - return Class.forName(binaryName); - } - catch (final ClassNotFoundException exception) { - throw new RuntimeException(exception); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/EnumFromScopedModule.java b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/EnumFromScopedModule.java deleted file mode 100644 index 008363dcb5..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/EnumFromScopedModule.java +++ /dev/null @@ -1,23 +0,0 @@ -package software.amazon.jsii.tests.calculator.lib; - -/** - * Check that enums from \@scoped packages can be references. - *

- * See awslabs/jsii#138 - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = "@scope/jsii-calc-lib.EnumFromScopedModule") -public enum EnumFromScopedModule { - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - VALUE1, - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - VALUE2, -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/IDoublable.java b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/IDoublable.java deleted file mode 100644 index 4b24b5f7a0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/IDoublable.java +++ /dev/null @@ -1,36 +0,0 @@ -package software.amazon.jsii.tests.calculator.lib; - -/** - * The general contract for a concrete number. - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = "@scope/jsii-calc-lib.IDoublable") -@software.amazon.jsii.Jsii.Proxy(IDoublable.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -public interface IDoublable extends software.amazon.jsii.JsiiSerializable { - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @org.jetbrains.annotations.NotNull java.lang.Number getDoubleValue(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.lib.IDoublable { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public @org.jetbrains.annotations.NotNull java.lang.Number getDoubleValue() { - return this.jsiiGet("doubleValue", java.lang.Number.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/IFriendly.java b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/IFriendly.java deleted file mode 100644 index 1bb67fdd01..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/IFriendly.java +++ /dev/null @@ -1,41 +0,0 @@ -package software.amazon.jsii.tests.calculator.lib; - -/** - * Applies to classes that are considered friendly. - *

- * These classes can be greeted with - * a "hello" or "goodbye" blessing and they will respond back in a fun and friendly manner. - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = "@scope/jsii-calc-lib.IFriendly") -@software.amazon.jsii.Jsii.Proxy(IFriendly.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -public interface IFriendly extends software.amazon.jsii.JsiiSerializable { - - /** - * Say hello! - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @org.jetbrains.annotations.NotNull java.lang.String hello(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.lib.IFriendly { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * Say hello! - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public @org.jetbrains.annotations.NotNull java.lang.String hello() { - return this.jsiiCall("hello", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/IThreeLevelsInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/IThreeLevelsInterface.java deleted file mode 100644 index 85f3d4e55c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/IThreeLevelsInterface.java +++ /dev/null @@ -1,49 +0,0 @@ -package software.amazon.jsii.tests.calculator.lib; - -/** - * Interface that inherits from packages 2 levels up the tree. - *

- * Their presence validates that .NET/Java/jsii-reflect can track all fields - * far enough up the tree. - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = "@scope/jsii-calc-lib.IThreeLevelsInterface") -@software.amazon.jsii.Jsii.Proxy(IThreeLevelsInterface.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -public interface IThreeLevelsInterface extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.base.IBaseInterface { - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - void baz(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.lib.IThreeLevelsInterface { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public void baz() { - this.jsiiCall("baz", software.amazon.jsii.NativeType.VOID); - } - - @Override - public void bar() { - this.jsiiCall("bar", software.amazon.jsii.NativeType.VOID); - } - - @Override - public void foo() { - this.jsiiCall("foo", software.amazon.jsii.NativeType.VOID); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/MyFirstStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/MyFirstStruct.java deleted file mode 100644 index 68367b93d9..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/MyFirstStruct.java +++ /dev/null @@ -1,189 +0,0 @@ -package software.amazon.jsii.tests.calculator.lib; - -/** - * This is the first struct we have created in jsii. - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = "@scope/jsii-calc-lib.MyFirstStruct") -@software.amazon.jsii.Jsii.Proxy(MyFirstStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -public interface MyFirstStruct extends software.amazon.jsii.JsiiSerializable { - - /** - * An awesome number value. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @org.jetbrains.annotations.NotNull java.lang.Number getAnumber(); - - /** - * A string value. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @org.jetbrains.annotations.NotNull java.lang.String getAstring(); - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - default @org.jetbrains.annotations.Nullable java.util.List getFirstOptional() { - return null; - } - - /** - * @return a {@link Builder} of {@link MyFirstStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link MyFirstStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.Number anumber; - private java.lang.String astring; - private java.util.List firstOptional; - - /** - * Sets the value of {@link MyFirstStruct#getAnumber} - * @param anumber An awesome number value. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public Builder anumber(java.lang.Number anumber) { - this.anumber = anumber; - return this; - } - - /** - * Sets the value of {@link MyFirstStruct#getAstring} - * @param astring A string value. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public Builder astring(java.lang.String astring) { - this.astring = astring; - return this; - } - - /** - * Sets the value of {@link MyFirstStruct#getFirstOptional} - * @param firstOptional the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public Builder firstOptional(java.util.List firstOptional) { - this.firstOptional = firstOptional; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link MyFirstStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public MyFirstStruct build() { - return new Jsii$Proxy(anumber, astring, firstOptional); - } - } - - /** - * An implementation for {@link MyFirstStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements MyFirstStruct { - private final java.lang.Number anumber; - private final java.lang.String astring; - private final java.util.List firstOptional; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.anumber = this.jsiiGet("anumber", java.lang.Number.class); - this.astring = this.jsiiGet("astring", java.lang.String.class); - this.firstOptional = this.jsiiGet("firstOptional", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.Number anumber, final java.lang.String astring, final java.util.List firstOptional) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.anumber = java.util.Objects.requireNonNull(anumber, "anumber is required"); - this.astring = java.util.Objects.requireNonNull(astring, "astring is required"); - this.firstOptional = firstOptional; - } - - @Override - public java.lang.Number getAnumber() { - return this.anumber; - } - - @Override - public java.lang.String getAstring() { - return this.astring; - } - - @Override - public java.util.List getFirstOptional() { - return this.firstOptional; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("anumber", om.valueToTree(this.getAnumber())); - data.set("astring", om.valueToTree(this.getAstring())); - if (this.getFirstOptional() != null) { - data.set("firstOptional", om.valueToTree(this.getFirstOptional())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("@scope/jsii-calc-lib.MyFirstStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - MyFirstStruct.Jsii$Proxy that = (MyFirstStruct.Jsii$Proxy) o; - - if (!anumber.equals(that.anumber)) return false; - if (!astring.equals(that.astring)) return false; - return this.firstOptional != null ? this.firstOptional.equals(that.firstOptional) : that.firstOptional == null; - } - - @Override - public int hashCode() { - int result = this.anumber.hashCode(); - result = 31 * result + (this.astring.hashCode()); - result = 31 * result + (this.firstOptional != null ? this.firstOptional.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/Number.java b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/Number.java deleted file mode 100644 index 453a262f1e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/Number.java +++ /dev/null @@ -1,51 +0,0 @@ -package software.amazon.jsii.tests.calculator.lib; - -/** - * Represents a concrete number. - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = "@scope/jsii-calc-lib.Number") -public class Number extends software.amazon.jsii.tests.calculator.lib.Value implements software.amazon.jsii.tests.calculator.lib.IDoublable { - - protected Number(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Number(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * Creates a Number object. - *

- * @param value The number. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public Number(final @org.jetbrains.annotations.NotNull java.lang.Number value) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(value, "value is required") }); - } - - /** - * The number multiplied by 2. - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public @org.jetbrains.annotations.NotNull java.lang.Number getDoubleValue() { - return this.jsiiGet("doubleValue", java.lang.Number.class); - } - - /** - * The number. - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { - return this.jsiiGet("value", java.lang.Number.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/Operation.java b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/Operation.java deleted file mode 100644 index 12c1e5ff1d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/Operation.java +++ /dev/null @@ -1,61 +0,0 @@ -package software.amazon.jsii.tests.calculator.lib; - -/** - * Represents an operation on values. - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = "@scope/jsii-calc-lib.Operation") -public abstract class Operation extends software.amazon.jsii.tests.calculator.lib.Value { - - protected Operation(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Operation(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - protected Operation() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * String representation of the value. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public abstract @org.jetbrains.annotations.NotNull java.lang.String toString(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.lib.Operation { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * The value. - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { - return this.jsiiGet("value", java.lang.Number.class); - } - - /** - * String representation of the value. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public @org.jetbrains.annotations.NotNull java.lang.String toString() { - return this.jsiiCall("toString", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/StructWithOnlyOptionals.java b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/StructWithOnlyOptionals.java deleted file mode 100644 index 689d9354ce..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/StructWithOnlyOptionals.java +++ /dev/null @@ -1,196 +0,0 @@ -package software.amazon.jsii.tests.calculator.lib; - -/** - * This is a struct with only optional properties. - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = "@scope/jsii-calc-lib.StructWithOnlyOptionals") -@software.amazon.jsii.Jsii.Proxy(StructWithOnlyOptionals.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -public interface StructWithOnlyOptionals extends software.amazon.jsii.JsiiSerializable { - - /** - * The first optional! - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - default @org.jetbrains.annotations.Nullable java.lang.String getOptional1() { - return null; - } - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - default @org.jetbrains.annotations.Nullable java.lang.Number getOptional2() { - return null; - } - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - default @org.jetbrains.annotations.Nullable java.lang.Boolean getOptional3() { - return null; - } - - /** - * @return a {@link Builder} of {@link StructWithOnlyOptionals} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link StructWithOnlyOptionals} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String optional1; - private java.lang.Number optional2; - private java.lang.Boolean optional3; - - /** - * Sets the value of {@link StructWithOnlyOptionals#getOptional1} - * @param optional1 The first optional!. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public Builder optional1(java.lang.String optional1) { - this.optional1 = optional1; - return this; - } - - /** - * Sets the value of {@link StructWithOnlyOptionals#getOptional2} - * @param optional2 the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public Builder optional2(java.lang.Number optional2) { - this.optional2 = optional2; - return this; - } - - /** - * Sets the value of {@link StructWithOnlyOptionals#getOptional3} - * @param optional3 the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public Builder optional3(java.lang.Boolean optional3) { - this.optional3 = optional3; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link StructWithOnlyOptionals} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public StructWithOnlyOptionals build() { - return new Jsii$Proxy(optional1, optional2, optional3); - } - } - - /** - * An implementation for {@link StructWithOnlyOptionals} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StructWithOnlyOptionals { - private final java.lang.String optional1; - private final java.lang.Number optional2; - private final java.lang.Boolean optional3; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.optional1 = this.jsiiGet("optional1", java.lang.String.class); - this.optional2 = this.jsiiGet("optional2", java.lang.Number.class); - this.optional3 = this.jsiiGet("optional3", java.lang.Boolean.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String optional1, final java.lang.Number optional2, final java.lang.Boolean optional3) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.optional1 = optional1; - this.optional2 = optional2; - this.optional3 = optional3; - } - - @Override - public java.lang.String getOptional1() { - return this.optional1; - } - - @Override - public java.lang.Number getOptional2() { - return this.optional2; - } - - @Override - public java.lang.Boolean getOptional3() { - return this.optional3; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - if (this.getOptional1() != null) { - data.set("optional1", om.valueToTree(this.getOptional1())); - } - if (this.getOptional2() != null) { - data.set("optional2", om.valueToTree(this.getOptional2())); - } - if (this.getOptional3() != null) { - data.set("optional3", om.valueToTree(this.getOptional3())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("@scope/jsii-calc-lib.StructWithOnlyOptionals")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - StructWithOnlyOptionals.Jsii$Proxy that = (StructWithOnlyOptionals.Jsii$Proxy) o; - - if (this.optional1 != null ? !this.optional1.equals(that.optional1) : that.optional1 != null) return false; - if (this.optional2 != null ? !this.optional2.equals(that.optional2) : that.optional2 != null) return false; - return this.optional3 != null ? this.optional3.equals(that.optional3) : that.optional3 == null; - } - - @Override - public int hashCode() { - int result = this.optional1 != null ? this.optional1.hashCode() : 0; - result = 31 * result + (this.optional2 != null ? this.optional2.hashCode() : 0); - result = 31 * result + (this.optional3 != null ? this.optional3.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/Value.java b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/Value.java deleted file mode 100644 index 64f0c0a6d7..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/Value.java +++ /dev/null @@ -1,59 +0,0 @@ -package software.amazon.jsii.tests.calculator.lib; - -/** - * Abstract class which represents a numeric value. - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.lib.$Module.class, fqn = "@scope/jsii-calc-lib.Value") -public abstract class Value extends software.amazon.jsii.tests.calculator.base.Base { - - protected Value(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Value(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - protected Value() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * String representation of the value. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public @org.jetbrains.annotations.NotNull java.lang.String toString() { - return this.jsiiCall("toString", java.lang.String.class); - } - - /** - * The value. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public abstract @org.jetbrains.annotations.NotNull java.lang.Number getValue(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.lib.Value { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * The value. - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { - return this.jsiiGet("value", java.lang.Number.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/package-info.java b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/package-info.java deleted file mode 100644 index 788e3a3524..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/java/software/amazon/jsii/tests/calculator/lib/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -/** - * - * Deprecated: Really just deprecated for shows... - */ -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -package software.amazon.jsii.tests.calculator.lib; diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/resources/software/amazon/jsii/tests/calculator/lib/$Module.txt b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/resources/software/amazon/jsii/tests/calculator/lib/$Module.txt deleted file mode 100644 index 760699dfd9..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/resources/software/amazon/jsii/tests/calculator/lib/$Module.txt +++ /dev/null @@ -1,12 +0,0 @@ -@scope/jsii-calc-lib.EnumFromScopedModule=software.amazon.jsii.tests.calculator.lib.EnumFromScopedModule -@scope/jsii-calc-lib.IDoublable=software.amazon.jsii.tests.calculator.lib.IDoublable -@scope/jsii-calc-lib.IFriendly=software.amazon.jsii.tests.calculator.lib.IFriendly -@scope/jsii-calc-lib.IThreeLevelsInterface=software.amazon.jsii.tests.calculator.lib.IThreeLevelsInterface -@scope/jsii-calc-lib.MyFirstStruct=software.amazon.jsii.tests.calculator.lib.MyFirstStruct -@scope/jsii-calc-lib.Number=software.amazon.jsii.tests.calculator.lib.Number -@scope/jsii-calc-lib.Operation=software.amazon.jsii.tests.calculator.lib.Operation -@scope/jsii-calc-lib.StructWithOnlyOptionals=software.amazon.jsii.tests.calculator.lib.StructWithOnlyOptionals -@scope/jsii-calc-lib.Value=software.amazon.jsii.tests.calculator.lib.Value -@scope/jsii-calc-lib.submodule.IReflectable=software.amazon.jsii.tests.calculator.custom_submodule_name.IReflectable -@scope/jsii-calc-lib.submodule.ReflectableEntry=software.amazon.jsii.tests.calculator.custom_submodule_name.ReflectableEntry -@scope/jsii-calc-lib.submodule.Reflector=software.amazon.jsii.tests.calculator.custom_submodule_name.Reflector diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/resources/software/amazon/jsii/tests/calculator/lib/jsii-calc-lib@0.0.0.jsii.tgz b/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/resources/software/amazon/jsii/tests/calculator/lib/jsii-calc-lib@0.0.0.jsii.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/java/src/main/resources/software/amazon/jsii/tests/calculator/lib/jsii-calc-lib@0.0.0.jsii.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/js/jsii-calc-lib@0.0.0.jsii.tgz b/packages/jsii-pacmak/test/expected.jsii-calc-lib/js/jsii-calc-lib@0.0.0.jsii.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/js/jsii-calc-lib@0.0.0.jsii.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/MANIFEST.in b/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/MANIFEST.in deleted file mode 100644 index bec201fc83..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/MANIFEST.in +++ /dev/null @@ -1 +0,0 @@ -include pyproject.toml diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/README.md b/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/README.md deleted file mode 100644 index 8b13789179..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/README.md +++ /dev/null @@ -1 +0,0 @@ - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/pyproject.toml b/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/pyproject.toml deleted file mode 100644 index 34ba8ead4b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/pyproject.toml +++ /dev/null @@ -1,3 +0,0 @@ -[build-system] -requires = ["setuptools >= 38.6.0", "wheel >= 0.31.0"] -build-backend = "setuptools.build_meta" diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/setup.py b/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/setup.py deleted file mode 100644 index 0b2215d3ba..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/setup.py +++ /dev/null @@ -1,60 +0,0 @@ -import json -import setuptools - -kwargs = json.loads( - """ -{ - "name": "scope.jsii-calc-lib", - "version": "0.0.0", - "description": "A simple calcuator library built on JSII.", - "license": "Apache-2.0", - "url": "https://github.com/aws/jsii", - "long_description_content_type": "text/markdown", - "author": "Amazon Web Services", - "project_urls": { - "Source": "https://github.com/aws/jsii.git" - }, - "package_dir": { - "": "src" - }, - "packages": [ - "scope.jsii_calc_lib", - "scope.jsii_calc_lib._jsii", - "scope.jsii_calc_lib.custom_submodule_name" - ], - "package_data": { - "scope.jsii_calc_lib._jsii": [ - "jsii-calc-lib@0.0.0.jsii.tgz" - ], - "scope.jsii_calc_lib": [ - "py.typed" - ] - }, - "python_requires": ">=3.6", - "install_requires": [ - "jsii>=0.0.0, <0.0.1", - "publication>=0.0.3", - "scope.jsii-calc-base>=0.0.0, <0.0.1", - "scope.jsii-calc-base-of-base>=0.0.0, <0.0.1" - ], - "classifiers": [ - "Intended Audience :: Developers", - "Operating System :: OS Independent", - "Programming Language :: JavaScript", - "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Typing :: Typed", - "Development Status :: 7 - Inactive", - "License :: OSI Approved" - ] -} -""" -) - -with open("README.md") as fp: - kwargs["long_description"] = fp.read() - - -setuptools.setup(**kwargs) diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/__init__.py deleted file mode 100644 index a367b1995f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/__init__.py +++ /dev/null @@ -1,453 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from ._jsii import * - -import scope.jsii_calc_base - - -@jsii.enum(jsii_type="@scope/jsii-calc-lib.EnumFromScopedModule") -class EnumFromScopedModule(enum.Enum): - """Check that enums from @scoped packages can be references. - - See awslabs/jsii#138 - - stability - :stability: deprecated - """ - - VALUE1 = "VALUE1" - """ - stability - :stability: deprecated - """ - VALUE2 = "VALUE2" - """ - stability - :stability: deprecated - """ - - -@jsii.interface(jsii_type="@scope/jsii-calc-lib.IDoublable") -class IDoublable(jsii.compat.Protocol): - """The general contract for a concrete number. - - stability - :stability: deprecated - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IDoublableProxy - - @builtins.property - @jsii.member(jsii_name="doubleValue") - def double_value(self) -> jsii.Number: - """ - stability - :stability: deprecated - """ - ... - - -class _IDoublableProxy: - """The general contract for a concrete number. - - stability - :stability: deprecated - """ - - __jsii_type__ = "@scope/jsii-calc-lib.IDoublable" - - @builtins.property - @jsii.member(jsii_name="doubleValue") - def double_value(self) -> jsii.Number: - """ - stability - :stability: deprecated - """ - return jsii.get(self, "doubleValue") - - -@jsii.interface(jsii_type="@scope/jsii-calc-lib.IFriendly") -class IFriendly(jsii.compat.Protocol): - """Applies to classes that are considered friendly. - - These classes can be greeted with - a "hello" or "goodbye" blessing and they will respond back in a fun and friendly manner. - - stability - :stability: deprecated - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IFriendlyProxy - - @jsii.member(jsii_name="hello") - def hello(self) -> str: - """Say hello! - - stability - :stability: deprecated - """ - ... - - -class _IFriendlyProxy: - """Applies to classes that are considered friendly. - - These classes can be greeted with - a "hello" or "goodbye" blessing and they will respond back in a fun and friendly manner. - - stability - :stability: deprecated - """ - - __jsii_type__ = "@scope/jsii-calc-lib.IFriendly" - - @jsii.member(jsii_name="hello") - def hello(self) -> str: - """Say hello! - - stability - :stability: deprecated - """ - return jsii.invoke(self, "hello", []) - - -@jsii.interface(jsii_type="@scope/jsii-calc-lib.IThreeLevelsInterface") -class IThreeLevelsInterface(scope.jsii_calc_base.IBaseInterface, jsii.compat.Protocol): - """Interface that inherits from packages 2 levels up the tree. - - Their presence validates that .NET/Java/jsii-reflect can track all fields - far enough up the tree. - - stability - :stability: deprecated - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IThreeLevelsInterfaceProxy - - @jsii.member(jsii_name="baz") - def baz(self) -> None: - """ - stability - :stability: deprecated - """ - ... - - -class _IThreeLevelsInterfaceProxy(jsii.proxy_for(scope.jsii_calc_base.IBaseInterface)): - """Interface that inherits from packages 2 levels up the tree. - - Their presence validates that .NET/Java/jsii-reflect can track all fields - far enough up the tree. - - stability - :stability: deprecated - """ - - __jsii_type__ = "@scope/jsii-calc-lib.IThreeLevelsInterface" - - @jsii.member(jsii_name="baz") - def baz(self) -> None: - """ - stability - :stability: deprecated - """ - return jsii.invoke(self, "baz", []) - - -@jsii.data_type( - jsii_type="@scope/jsii-calc-lib.MyFirstStruct", - jsii_struct_bases=[], - name_mapping={ - "anumber": "anumber", - "astring": "astring", - "first_optional": "firstOptional", - }, -) -class MyFirstStruct: - def __init__( - self, - *, - anumber: jsii.Number, - astring: str, - first_optional: typing.Optional[typing.List[str]] = None, - ) -> None: - """This is the first struct we have created in jsii. - - :param anumber: An awesome number value. - :param astring: A string value. - :param first_optional: - - stability - :stability: deprecated - """ - self._values = { - "anumber": anumber, - "astring": astring, - } - if first_optional is not None: - self._values["first_optional"] = first_optional - - @builtins.property - def anumber(self) -> jsii.Number: - """An awesome number value. - - stability - :stability: deprecated - """ - return self._values.get("anumber") - - @builtins.property - def astring(self) -> str: - """A string value. - - stability - :stability: deprecated - """ - return self._values.get("astring") - - @builtins.property - def first_optional(self) -> typing.Optional[typing.List[str]]: - """ - stability - :stability: deprecated - """ - return self._values.get("first_optional") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "MyFirstStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -@jsii.data_type( - jsii_type="@scope/jsii-calc-lib.StructWithOnlyOptionals", - jsii_struct_bases=[], - name_mapping={ - "optional1": "optional1", - "optional2": "optional2", - "optional3": "optional3", - }, -) -class StructWithOnlyOptionals: - def __init__( - self, - *, - optional1: typing.Optional[str] = None, - optional2: typing.Optional[jsii.Number] = None, - optional3: typing.Optional[bool] = None, - ) -> None: - """This is a struct with only optional properties. - - :param optional1: The first optional! - :param optional2: - :param optional3: - - stability - :stability: deprecated - """ - self._values = {} - if optional1 is not None: - self._values["optional1"] = optional1 - if optional2 is not None: - self._values["optional2"] = optional2 - if optional3 is not None: - self._values["optional3"] = optional3 - - @builtins.property - def optional1(self) -> typing.Optional[str]: - """The first optional! - - stability - :stability: deprecated - """ - return self._values.get("optional1") - - @builtins.property - def optional2(self) -> typing.Optional[jsii.Number]: - """ - stability - :stability: deprecated - """ - return self._values.get("optional2") - - @builtins.property - def optional3(self) -> typing.Optional[bool]: - """ - stability - :stability: deprecated - """ - return self._values.get("optional3") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "StructWithOnlyOptionals(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class Value( - scope.jsii_calc_base.Base, - metaclass=jsii.JSIIAbstractClass, - jsii_type="@scope/jsii-calc-lib.Value", -): - """Abstract class which represents a numeric value. - - stability - :stability: deprecated - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _ValueProxy - - def __init__(self) -> None: - jsii.create(Value, self, []) - - @jsii.member(jsii_name="toString") - def to_string(self) -> str: - """String representation of the value. - - stability - :stability: deprecated - """ - return jsii.invoke(self, "toString", []) - - @builtins.property - @jsii.member(jsii_name="value") - @abc.abstractmethod - def value(self) -> jsii.Number: - """The value. - - stability - :stability: deprecated - """ - ... - - -class _ValueProxy(Value, jsii.proxy_for(scope.jsii_calc_base.Base)): - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> jsii.Number: - """The value. - - stability - :stability: deprecated - """ - return jsii.get(self, "value") - - -@jsii.implements(IDoublable) -class Number(Value, metaclass=jsii.JSIIMeta, jsii_type="@scope/jsii-calc-lib.Number"): - """Represents a concrete number. - - stability - :stability: deprecated - """ - - def __init__(self, value: jsii.Number) -> None: - """Creates a Number object. - - :param value: The number. - - stability - :stability: deprecated - """ - jsii.create(Number, self, [value]) - - @builtins.property - @jsii.member(jsii_name="doubleValue") - def double_value(self) -> jsii.Number: - """The number multiplied by 2. - - stability - :stability: deprecated - """ - return jsii.get(self, "doubleValue") - - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> jsii.Number: - """The number. - - stability - :stability: deprecated - """ - return jsii.get(self, "value") - - -class Operation( - Value, metaclass=jsii.JSIIAbstractClass, jsii_type="@scope/jsii-calc-lib.Operation" -): - """Represents an operation on values. - - stability - :stability: deprecated - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _OperationProxy - - def __init__(self) -> None: - jsii.create(Operation, self, []) - - @jsii.member(jsii_name="toString") - @abc.abstractmethod - def to_string(self) -> str: - """String representation of the value. - - stability - :stability: deprecated - """ - ... - - -class _OperationProxy(Operation, jsii.proxy_for(Value)): - @jsii.member(jsii_name="toString") - def to_string(self) -> str: - """String representation of the value. - - stability - :stability: deprecated - """ - return jsii.invoke(self, "toString", []) - - -__all__ = [ - "EnumFromScopedModule", - "IDoublable", - "IFriendly", - "IThreeLevelsInterface", - "MyFirstStruct", - "Number", - "Operation", - "StructWithOnlyOptionals", - "Value", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/_jsii/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/_jsii/__init__.py deleted file mode 100644 index 6cb9cd7a1a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/_jsii/__init__.py +++ /dev/null @@ -1,22 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -import scope.jsii_calc_base._jsii -import scope.jsii_calc_base_of_base._jsii - -__jsii_assembly__ = jsii.JSIIAssembly.load( - "@scope/jsii-calc-lib", "0.0.0", __name__[0:-6], "jsii-calc-lib@0.0.0.jsii.tgz" -) - -__all__ = [ - "__jsii_assembly__", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/_jsii/jsii-calc-lib@0.0.0.jsii.tgz b/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/_jsii/jsii-calc-lib@0.0.0.jsii.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/_jsii/jsii-calc-lib@0.0.0.jsii.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/custom_submodule_name/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/custom_submodule_name/__init__.py deleted file mode 100644 index db94b547ea..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/custom_submodule_name/__init__.py +++ /dev/null @@ -1,132 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from .._jsii import * - - -@jsii.interface(jsii_type="@scope/jsii-calc-lib.submodule.IReflectable") -class IReflectable(jsii.compat.Protocol): - """ - stability - :stability: deprecated - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IReflectableProxy - - @builtins.property - @jsii.member(jsii_name="entries") - def entries(self) -> typing.List["ReflectableEntry"]: - """ - stability - :stability: deprecated - """ - ... - - -class _IReflectableProxy: - """ - stability - :stability: deprecated - """ - - __jsii_type__ = "@scope/jsii-calc-lib.submodule.IReflectable" - - @builtins.property - @jsii.member(jsii_name="entries") - def entries(self) -> typing.List["ReflectableEntry"]: - """ - stability - :stability: deprecated - """ - return jsii.get(self, "entries") - - -@jsii.data_type( - jsii_type="@scope/jsii-calc-lib.submodule.ReflectableEntry", - jsii_struct_bases=[], - name_mapping={"key": "key", "value": "value"}, -) -class ReflectableEntry: - def __init__(self, *, key: str, value: typing.Any) -> None: - """ - :param key: - :param value: - - stability - :stability: deprecated - """ - self._values = { - "key": key, - "value": value, - } - - @builtins.property - def key(self) -> str: - """ - stability - :stability: deprecated - """ - return self._values.get("key") - - @builtins.property - def value(self) -> typing.Any: - """ - stability - :stability: deprecated - """ - return self._values.get("value") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "ReflectableEntry(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class Reflector( - metaclass=jsii.JSIIMeta, jsii_type="@scope/jsii-calc-lib.submodule.Reflector" -): - """ - stability - :stability: deprecated - """ - - def __init__(self) -> None: - """ - stability - :stability: deprecated - """ - jsii.create(Reflector, self, []) - - @jsii.member(jsii_name="asMap") - def as_map(self, reflectable: "IReflectable") -> typing.Mapping[str, typing.Any]: - """ - :param reflectable: - - - stability - :stability: deprecated - """ - return jsii.invoke(self, "asMap", [reflectable]) - - -__all__ = [ - "IReflectable", - "ReflectableEntry", - "Reflector", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/py.typed b/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/py.typed deleted file mode 100644 index 8b13789179..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc-lib/python/src/scope/jsii_calc_lib/py.typed +++ /dev/null @@ -1 +0,0 @@ - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/.jsii b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/.jsii deleted file mode 100644 index 9652ef283f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/.jsii +++ /dev/null @@ -1,13726 +0,0 @@ -{ - "author": { - "name": "Amazon Web Services", - "organization": true, - "roles": [ - "author" - ], - "url": "https://aws.amazon.com" - }, - "bundled": { - "@fixtures/jsii-calc-bundled": "^0.19.0" - }, - "contributors": [ - { - "name": "Elad Ben-Israel", - "roles": [ - "maintainer" - ], - "url": "https://github.com/eladb" - }, - { - "name": "Rico Huijbers", - "roles": [ - "maintainer" - ], - "url": "https://github.com/rix0rrr" - }, - { - "name": "Romain Marcadier-Muller", - "roles": [ - "maintainer" - ], - "url": "https://github.com/RomainMuller" - } - ], - "dependencies": { - "@scope/jsii-calc-base": "^0.0.0", - "@scope/jsii-calc-base-of-base": "^0.0.0", - "@scope/jsii-calc-lib": "^0.0.0" - }, - "dependencyClosure": { - "@scope/jsii-calc-base": { - "targets": { - "dotnet": { - "namespace": "Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace", - "packageId": "Amazon.JSII.Tests.CalculatorPackageId.BasePackageId" - }, - "java": { - "maven": { - "artifactId": "calculator-base", - "groupId": "software.amazon.jsii.tests" - }, - "package": "software.amazon.jsii.tests.calculator.base" - }, - "js": { - "npm": "@scope/jsii-calc-base" - }, - "python": { - "distName": "scope.jsii-calc-base", - "module": "scope.jsii_calc_base" - } - } - }, - "@scope/jsii-calc-base-of-base": { - "targets": { - "dotnet": { - "namespace": "Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace", - "packageId": "Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId" - }, - "java": { - "maven": { - "artifactId": "calculator-base-of-base", - "groupId": "software.amazon.jsii.tests" - }, - "package": "software.amazon.jsii.tests.calculator.baseofbase" - }, - "js": { - "npm": "@scope/jsii-calc-base-of-base" - }, - "python": { - "distName": "scope.jsii-calc-base-of-base", - "module": "scope.jsii_calc_base_of_base" - } - } - }, - "@scope/jsii-calc-lib": { - "submodules": { - "@scope/jsii-calc-lib.submodule": { - "locationInModule": { - "filename": "lib/index.ts", - "line": 112 - }, - "targets": { - "dotnet": { - "namespace": "Amazon.JSII.Tests.CustomSubmoduleName" - }, - "java": { - "package": "software.amazon.jsii.tests.calculator.custom_submodule_name" - }, - "python": { - "module": "scope.jsii_calc_lib.custom_submodule_name" - } - } - } - }, - "targets": { - "dotnet": { - "namespace": "Amazon.JSII.Tests.CalculatorNamespace.LibNamespace", - "packageId": "Amazon.JSII.Tests.CalculatorPackageId.LibPackageId", - "versionSuffix": "-devpreview" - }, - "java": { - "maven": { - "artifactId": "calculator-lib", - "groupId": "software.amazon.jsii.tests", - "versionSuffix": ".DEVPREVIEW" - }, - "package": "software.amazon.jsii.tests.calculator.lib" - }, - "js": { - "npm": "@scope/jsii-calc-lib" - }, - "python": { - "distName": "scope.jsii-calc-lib", - "module": "scope.jsii_calc_lib" - } - } - } - }, - "description": "A simple calcuator built on JSII.", - "docs": { - "stability": "experimental" - }, - "homepage": "https://github.com/aws/jsii", - "jsiiVersion": "0.0.0", - "keywords": [ - "aws", - "jsii", - "test" - ], - "license": "Apache-2.0", - "metadata": { - "jsii:boolean": true, - "jsii:number": 1337, - "jsii:object": { - "string": "yes!" - } - }, - "name": "jsii-calc", - "readme": { - "markdown": "# jsii Calculator\n\nThis library is used to demonstrate and test the features of JSII\n\n## How to use running sum API:\n\nFirst, create a calculator:\n\n```ts\nconst calculator = new calc.Calculator();\n```\n\nThen call some operations:\n\n\n```ts fixture=with-calculator\ncalculator.add(10);\n```\n\n## Code Samples\n\n```ts\n/* This is totes a magic comment in here, just you wait! */\nconst foo = 'bar';\n```\n" - }, - "repository": { - "directory": "packages/jsii-calc", - "type": "git", - "url": "https://github.com/aws/jsii.git" - }, - "schema": "jsii/0.10.0", - "submodules": { - "@scope/jsii-calc-lib.submodule": { - "locationInModule": { - "filename": "../@scope/jsii-calc-lib/build/index.d.ts", - "line": 94 - } - }, - "jsii-calc.DerivedClassHasNoProperties": { - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 325 - } - }, - "jsii-calc.InterfaceInNamespaceIncludesClasses": { - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1206 - } - }, - "jsii-calc.InterfaceInNamespaceOnlyInterface": { - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1199 - } - }, - "jsii-calc.PythonSelf": { - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1090 - } - }, - "jsii-calc.composition": { - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 134 - } - }, - "jsii-calc.submodule": { - "locationInModule": { - "filename": "lib/index.ts", - "line": 8 - } - }, - "jsii-calc.submodule.back_references": { - "locationInModule": { - "filename": "lib/submodule/index.ts", - "line": 5 - } - }, - "jsii-calc.submodule.child": { - "locationInModule": { - "filename": "lib/submodule/index.ts", - "line": 1 - } - }, - "jsii-calc.submodule.isolated": { - "locationInModule": { - "filename": "lib/submodule/index.ts", - "line": 2 - } - }, - "jsii-calc.submodule.nested_submodule": { - "locationInModule": { - "filename": "lib/submodule/nested_submodule.ts", - "line": 4 - } - }, - "jsii-calc.submodule.nested_submodule.deeplyNested": { - "locationInModule": { - "filename": "lib/submodule/nested_submodule.ts", - "line": 6 - } - } - }, - "targets": { - "dotnet": { - "iconUrl": "https://sdk-for-net.amazonwebservices.com/images/AWSLogo128x128.png", - "namespace": "Amazon.JSII.Tests.CalculatorNamespace", - "packageId": "Amazon.JSII.Tests.CalculatorPackageId" - }, - "java": { - "maven": { - "artifactId": "calculator", - "groupId": "software.amazon.jsii.tests" - }, - "package": "software.amazon.jsii.tests.calculator" - }, - "js": { - "npm": "jsii-calc" - }, - "python": { - "distName": "jsii-calc", - "module": "jsii_calc" - } - }, - "types": { - "jsii-calc.AbstractClass": { - "abstract": true, - "assembly": "jsii-calc", - "base": "jsii-calc.AbstractClassBase", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.AbstractClass", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "interfaces": [ - "jsii-calc.IInterfaceImplementedByAbstractClass" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1250 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1256 - }, - "name": "abstractMethod", - "parameters": [ - { - "name": "name", - "type": { - "primitive": "string" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1252 - }, - "name": "nonAbstractMethod", - "returns": { - "type": { - "primitive": "number" - } - } - } - ], - "name": "AbstractClass", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1258 - }, - "name": "propFromInterface", - "overrides": "jsii-calc.IInterfaceImplementedByAbstractClass", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.AbstractClassBase": { - "abstract": true, - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.AbstractClassBase", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1246 - }, - "name": "AbstractClassBase", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1247 - }, - "name": "abstractProperty", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.AbstractClassReturner": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.AbstractClassReturner", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1273 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1274 - }, - "name": "giveMeAbstract", - "returns": { - "type": { - "fqn": "jsii-calc.AbstractClass" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1278 - }, - "name": "giveMeInterface", - "returns": { - "type": { - "fqn": "jsii-calc.IInterfaceImplementedByAbstractClass" - } - } - } - ], - "name": "AbstractClassReturner", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1282 - }, - "name": "returnAbstractFromProperty", - "type": { - "fqn": "jsii-calc.AbstractClassBase" - } - } - ] - }, - "jsii-calc.AbstractSuite": { - "abstract": true, - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Ensures abstract members implementations correctly register overrides in various languages." - }, - "fqn": "jsii-calc.AbstractSuite", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 411 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 413 - }, - "name": "someMethod", - "parameters": [ - { - "name": "str", - "type": { - "primitive": "string" - } - } - ], - "protected": true, - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "Sets `seed` to `this.property`, then calls `someMethod` with `this.property` and returns the result." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 419 - }, - "name": "workItAll", - "parameters": [ - { - "docs": { - "summary": "a `string`." - }, - "name": "seed", - "type": { - "primitive": "string" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "AbstractSuite", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 412 - }, - "name": "property", - "protected": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.Add": { - "assembly": "jsii-calc", - "base": "jsii-calc.BinaryOperation", - "docs": { - "stability": "experimental", - "summary": "The \"+\" binary operation." - }, - "fqn": "jsii-calc.Add", - "initializer": { - "docs": { - "stability": "experimental", - "summary": "Creates a BinaryOperation." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 49 - }, - "parameters": [ - { - "docs": { - "summary": "Left-hand side operand." - }, - "name": "lhs", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - }, - { - "docs": { - "summary": "Right-hand side operand." - }, - "name": "rhs", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 61 - }, - "methods": [ - { - "docs": { - "stability": "experimental", - "summary": "String representation of the value." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 66 - }, - "name": "toString", - "overrides": "@scope/jsii-calc-lib.Operation", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "Add", - "properties": [ - { - "docs": { - "stability": "experimental", - "summary": "The value." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 62 - }, - "name": "value", - "overrides": "@scope/jsii-calc-lib.Value", - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.AllTypes": { - "assembly": "jsii-calc", - "docs": { - "remarks": "The setters will validate\nthat the value set is of the expected type and throw otherwise.", - "stability": "experimental", - "summary": "This class includes property for all types supported by jsii." - }, - "fqn": "jsii-calc.AllTypes", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 63 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 232 - }, - "name": "anyIn", - "parameters": [ - { - "name": "inp", - "type": { - "primitive": "any" - } - } - ] - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 224 - }, - "name": "anyOut", - "returns": { - "type": { - "primitive": "any" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 220 - }, - "name": "enumMethod", - "parameters": [ - { - "name": "value", - "type": { - "fqn": "jsii-calc.StringEnum" - } - } - ], - "returns": { - "type": { - "fqn": "jsii-calc.StringEnum" - } - } - } - ], - "name": "AllTypes", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 216 - }, - "name": "enumPropertyValue", - "type": { - "primitive": "number" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 180 - }, - "name": "anyArrayProperty", - "type": { - "collection": { - "elementtype": { - "primitive": "any" - }, - "kind": "array" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 181 - }, - "name": "anyMapProperty", - "type": { - "collection": { - "elementtype": { - "primitive": "any" - }, - "kind": "map" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 179 - }, - "name": "anyProperty", - "type": { - "primitive": "any" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 165 - }, - "name": "arrayProperty", - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 68 - }, - "name": "booleanProperty", - "type": { - "primitive": "boolean" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 114 - }, - "name": "dateProperty", - "type": { - "primitive": "date" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 200 - }, - "name": "enumProperty", - "type": { - "fqn": "jsii-calc.AllTypesEnum" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 133 - }, - "name": "jsonProperty", - "type": { - "primitive": "json" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 150 - }, - "name": "mapProperty", - "type": { - "collection": { - "elementtype": { - "fqn": "@scope/jsii-calc-lib.Number" - }, - "kind": "map" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 99 - }, - "name": "numberProperty", - "type": { - "primitive": "number" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 83 - }, - "name": "stringProperty", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 192 - }, - "name": "unionArrayProperty", - "type": { - "collection": { - "elementtype": { - "union": { - "types": [ - { - "primitive": "number" - }, - { - "fqn": "@scope/jsii-calc-lib.Value" - } - ] - } - }, - "kind": "array" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 193 - }, - "name": "unionMapProperty", - "type": { - "collection": { - "elementtype": { - "union": { - "types": [ - { - "primitive": "string" - }, - { - "primitive": "number" - }, - { - "fqn": "@scope/jsii-calc-lib.Number" - } - ] - } - }, - "kind": "map" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 191 - }, - "name": "unionProperty", - "type": { - "union": { - "types": [ - { - "primitive": "string" - }, - { - "primitive": "number" - }, - { - "fqn": "jsii-calc.Multiply" - }, - { - "fqn": "@scope/jsii-calc-lib.Number" - } - ] - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 186 - }, - "name": "unknownArrayProperty", - "type": { - "collection": { - "elementtype": { - "primitive": "any" - }, - "kind": "array" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 187 - }, - "name": "unknownMapProperty", - "type": { - "collection": { - "elementtype": { - "primitive": "any" - }, - "kind": "map" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 185 - }, - "name": "unknownProperty", - "type": { - "primitive": "any" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 197 - }, - "name": "optionalEnumValue", - "optional": true, - "type": { - "fqn": "jsii-calc.StringEnum" - } - } - ] - }, - "jsii-calc.AllTypesEnum": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.AllTypesEnum", - "kind": "enum", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 33 - }, - "members": [ - { - "docs": { - "stability": "experimental" - }, - "name": "MY_ENUM_VALUE" - }, - { - "docs": { - "stability": "experimental" - }, - "name": "YOUR_ENUM_VALUE" - }, - { - "docs": { - "stability": "experimental" - }, - "name": "THIS_IS_GREAT" - } - ], - "name": "AllTypesEnum" - }, - "jsii-calc.AllowedMethodNames": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.AllowedMethodNames", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 615 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 623 - }, - "name": "getBar", - "parameters": [ - { - "name": "_p1", - "type": { - "primitive": "string" - } - }, - { - "name": "_p2", - "type": { - "primitive": "number" - } - } - ] - }, - { - "docs": { - "stability": "experimental", - "summary": "getXxx() is not allowed (see negatives), but getXxx(a, ...) is okay." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 619 - }, - "name": "getFoo", - "parameters": [ - { - "name": "withParam", - "type": { - "primitive": "string" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 634 - }, - "name": "setBar", - "parameters": [ - { - "name": "_x", - "type": { - "primitive": "string" - } - }, - { - "name": "_y", - "type": { - "primitive": "number" - } - }, - { - "name": "_z", - "type": { - "primitive": "boolean" - } - } - ] - }, - { - "docs": { - "stability": "experimental", - "summary": "setFoo(x) is not allowed (see negatives), but setXxx(a, b, ...) is okay." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 630 - }, - "name": "setFoo", - "parameters": [ - { - "name": "_x", - "type": { - "primitive": "string" - } - }, - { - "name": "_y", - "type": { - "primitive": "number" - } - } - ] - } - ], - "name": "AllowedMethodNames" - }, - "jsii-calc.AmbiguousParameters": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.AmbiguousParameters", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2683 - }, - "parameters": [ - { - "name": "scope", - "type": { - "fqn": "jsii-calc.Bell" - } - }, - { - "name": "props", - "type": { - "fqn": "jsii-calc.StructParameterType" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2682 - }, - "name": "AmbiguousParameters", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2685 - }, - "name": "props", - "type": { - "fqn": "jsii-calc.StructParameterType" - } - }, - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2684 - }, - "name": "scope", - "type": { - "fqn": "jsii-calc.Bell" - } - } - ] - }, - "jsii-calc.AnonymousImplementationProvider": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.AnonymousImplementationProvider", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "interfaces": [ - "jsii-calc.IAnonymousImplementationProvider" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2212 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2216 - }, - "name": "provideAsClass", - "overrides": "jsii-calc.IAnonymousImplementationProvider", - "returns": { - "type": { - "fqn": "jsii-calc.Implementation" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2220 - }, - "name": "provideAsInterface", - "overrides": "jsii-calc.IAnonymousImplementationProvider", - "returns": { - "type": { - "fqn": "jsii-calc.IAnonymouslyImplementMe" - } - } - } - ], - "name": "AnonymousImplementationProvider" - }, - "jsii-calc.AsyncVirtualMethods": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.AsyncVirtualMethods", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 333 - }, - "methods": [ - { - "async": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 334 - }, - "name": "callMe", - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "async": true, - "docs": { - "stability": "experimental", - "summary": "Just calls \"overrideMeToo\"." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 353 - }, - "name": "callMe2", - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "async": true, - "docs": { - "remarks": "This is a \"double promise\" situation, which\nmeans that callbacks are not going to be available immediate, but only\nafter an \"immediates\" cycle.", - "stability": "experimental", - "summary": "This method calls the \"callMe\" async method indirectly, which will then invoke a virtual method." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 363 - }, - "name": "callMeDoublePromise", - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 371 - }, - "name": "dontOverrideMe", - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "async": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 342 - }, - "name": "overrideMe", - "parameters": [ - { - "name": "mult", - "type": { - "primitive": "number" - } - } - ], - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "async": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 346 - }, - "name": "overrideMeToo", - "returns": { - "type": { - "primitive": "number" - } - } - } - ], - "name": "AsyncVirtualMethods" - }, - "jsii-calc.AugmentableClass": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.AugmentableClass", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1539 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1540 - }, - "name": "methodOne" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1546 - }, - "name": "methodTwo" - } - ], - "name": "AugmentableClass" - }, - "jsii-calc.BaseJsii976": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.BaseJsii976", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2477 - }, - "name": "BaseJsii976" - }, - "jsii-calc.Bell": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.Bell", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "interfaces": [ - "jsii-calc.IBell" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2421 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2424 - }, - "name": "ring", - "overrides": "jsii-calc.IBell" - } - ], - "name": "Bell", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2422 - }, - "name": "rung", - "type": { - "primitive": "boolean" - } - } - ] - }, - "jsii-calc.BinaryOperation": { - "abstract": true, - "assembly": "jsii-calc", - "base": "@scope/jsii-calc-lib.Operation", - "docs": { - "stability": "experimental", - "summary": "Represents an operation with two operands." - }, - "fqn": "jsii-calc.BinaryOperation", - "initializer": { - "docs": { - "stability": "experimental", - "summary": "Creates a BinaryOperation." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 49 - }, - "parameters": [ - { - "docs": { - "summary": "Left-hand side operand." - }, - "name": "lhs", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - }, - { - "docs": { - "summary": "Right-hand side operand." - }, - "name": "rhs", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - } - ] - }, - "interfaces": [ - "@scope/jsii-calc-lib.IFriendly" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 43 - }, - "methods": [ - { - "docs": { - "stability": "experimental", - "summary": "Say hello!" - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 53 - }, - "name": "hello", - "overrides": "@scope/jsii-calc-lib.IFriendly", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "BinaryOperation", - "properties": [ - { - "docs": { - "stability": "experimental", - "summary": "Left-hand side operand." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 49 - }, - "name": "lhs", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - }, - { - "docs": { - "stability": "experimental", - "summary": "Right-hand side operand." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 49 - }, - "name": "rhs", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - } - ] - }, - "jsii-calc.Calculator": { - "assembly": "jsii-calc", - "base": "jsii-calc.composition.CompositeOperation", - "docs": { - "example": "const calculator = new calc.Calculator();\ncalculator.add(5);\ncalculator.mul(3);\nconsole.log(calculator.expression.value);", - "remarks": "Here's how you use it:\n\n```ts\nconst calculator = new calc.Calculator();\ncalculator.add(5);\ncalculator.mul(3);\nconsole.log(calculator.expression.value);\n```\n\nI will repeat this example again, but in an @example tag.", - "stability": "experimental", - "summary": "A calculator which maintains a current value and allows adding operations." - }, - "fqn": "jsii-calc.Calculator", - "initializer": { - "docs": { - "stability": "experimental", - "summary": "Creates a Calculator object." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 287 - }, - "parameters": [ - { - "docs": { - "summary": "Initialization properties." - }, - "name": "props", - "optional": true, - "type": { - "fqn": "jsii-calc.CalculatorProps" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 282 - }, - "methods": [ - { - "docs": { - "stability": "experimental", - "summary": "Adds a number to the current value." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 320 - }, - "name": "add", - "parameters": [ - { - "name": "value", - "type": { - "primitive": "number" - } - } - ] - }, - { - "docs": { - "stability": "experimental", - "summary": "Multiplies the current value by a number." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 327 - }, - "name": "mul", - "parameters": [ - { - "name": "value", - "type": { - "primitive": "number" - } - } - ] - }, - { - "docs": { - "stability": "experimental", - "summary": "Negates the current value." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 341 - }, - "name": "neg" - }, - { - "docs": { - "stability": "experimental", - "summary": "Raises the current value by a power." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 334 - }, - "name": "pow", - "parameters": [ - { - "name": "value", - "type": { - "primitive": "number" - } - } - ] - }, - { - "docs": { - "stability": "experimental", - "summary": "Returns teh value of the union property (if defined)." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 360 - }, - "name": "readUnionValue", - "returns": { - "type": { - "primitive": "number" - } - } - } - ], - "name": "Calculator", - "properties": [ - { - "docs": { - "stability": "experimental", - "summary": "Returns the expression." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 348 - }, - "name": "expression", - "overrides": "jsii-calc.composition.CompositeOperation", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - }, - { - "docs": { - "stability": "experimental", - "summary": "A log of all operations." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 310 - }, - "name": "operationsLog", - "type": { - "collection": { - "elementtype": { - "fqn": "@scope/jsii-calc-lib.Value" - }, - "kind": "array" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "A map of per operation name of all operations performed." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 305 - }, - "name": "operationsMap", - "type": { - "collection": { - "elementtype": { - "collection": { - "elementtype": { - "fqn": "@scope/jsii-calc-lib.Value" - }, - "kind": "array" - } - }, - "kind": "map" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "The current value." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 300 - }, - "name": "curr", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - }, - { - "docs": { - "stability": "experimental", - "summary": "The maximum value allows in this calculator." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 315 - }, - "name": "maxValue", - "optional": true, - "type": { - "primitive": "number" - } - }, - { - "docs": { - "stability": "experimental", - "summary": "Example of a property that accepts a union of types." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 355 - }, - "name": "unionProperty", - "optional": true, - "type": { - "union": { - "types": [ - { - "fqn": "jsii-calc.Add" - }, - { - "fqn": "jsii-calc.Multiply" - }, - { - "fqn": "jsii-calc.Power" - } - ] - } - } - } - ] - }, - "jsii-calc.CalculatorProps": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental", - "summary": "Properties for Calculator." - }, - "fqn": "jsii-calc.CalculatorProps", - "kind": "interface", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 243 - }, - "name": "CalculatorProps", - "properties": [ - { - "abstract": true, - "docs": { - "default": "0", - "remarks": "NOTE: Any number works here, it's fine.", - "stability": "experimental", - "summary": "The initial value of the calculator." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 251 - }, - "name": "initialValue", - "optional": true, - "type": { - "primitive": "number" - } - }, - { - "abstract": true, - "docs": { - "default": "none", - "stability": "experimental", - "summary": "The maximum value the calculator can store." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 258 - }, - "name": "maximumValue", - "optional": true, - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.ChildStruct982": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ChildStruct982", - "interfaces": [ - "jsii-calc.ParentStruct982" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2501 - }, - "name": "ChildStruct982", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2502 - }, - "name": "bar", - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.ClassThatImplementsTheInternalInterface": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ClassThatImplementsTheInternalInterface", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "interfaces": [ - "jsii-calc.INonInternalInterface" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1802 - }, - "name": "ClassThatImplementsTheInternalInterface", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1806 - }, - "name": "a", - "overrides": "jsii-calc.IAnotherPublicInterface", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1807 - }, - "name": "b", - "overrides": "jsii-calc.INonInternalInterface", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1808 - }, - "name": "c", - "overrides": "jsii-calc.INonInternalInterface", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1809 - }, - "name": "d", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.ClassThatImplementsThePrivateInterface": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ClassThatImplementsThePrivateInterface", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "interfaces": [ - "jsii-calc.INonInternalInterface" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1812 - }, - "name": "ClassThatImplementsThePrivateInterface", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1814 - }, - "name": "a", - "overrides": "jsii-calc.IAnotherPublicInterface", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1815 - }, - "name": "b", - "overrides": "jsii-calc.INonInternalInterface", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1816 - }, - "name": "c", - "overrides": "jsii-calc.INonInternalInterface", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1817 - }, - "name": "e", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.ClassWithCollections": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ClassWithCollections", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2118 - }, - "parameters": [ - { - "name": "map", - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "map" - } - } - }, - { - "name": "array", - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2108 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2123 - }, - "name": "createAList", - "returns": { - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2127 - }, - "name": "createAMap", - "returns": { - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "map" - } - } - }, - "static": true - } - ], - "name": "ClassWithCollections", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2116 - }, - "name": "staticArray", - "static": true, - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2112 - }, - "name": "staticMap", - "static": true, - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "map" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2110 - }, - "name": "array", - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2109 - }, - "name": "map", - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "map" - } - } - } - ] - }, - "jsii-calc.ClassWithDocs": { - "assembly": "jsii-calc", - "docs": { - "custom": { - "customAttribute": "hasAValue" - }, - "example": "function anExample() {\n}", - "remarks": "The docs are great. They're a bunch of tags.", - "see": "https://aws.amazon.com/", - "stability": "stable", - "summary": "This class has docs." - }, - "fqn": "jsii-calc.ClassWithDocs", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1885 - }, - "name": "ClassWithDocs" - }, - "jsii-calc.ClassWithJavaReservedWords": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ClassWithJavaReservedWords", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2058 - }, - "parameters": [ - { - "name": "int", - "type": { - "primitive": "string" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2055 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2062 - }, - "name": "import", - "parameters": [ - { - "name": "assert", - "type": { - "primitive": "string" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "ClassWithJavaReservedWords", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2056 - }, - "name": "int", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.ClassWithMutableObjectLiteralProperty": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ClassWithMutableObjectLiteralProperty", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1293 - }, - "name": "ClassWithMutableObjectLiteralProperty", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1294 - }, - "name": "mutableObject", - "type": { - "fqn": "jsii-calc.IMutableObjectLiteral" - } - } - ] - }, - "jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Class that implements interface properties automatically, but using a private constructor." - }, - "fqn": "jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties", - "interfaces": [ - "jsii-calc.IInterfaceWithProperties" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1320 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1322 - }, - "name": "create", - "parameters": [ - { - "name": "readOnlyString", - "type": { - "primitive": "string" - } - }, - { - "name": "readWriteString", - "type": { - "primitive": "string" - } - } - ], - "returns": { - "type": { - "fqn": "jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties" - } - }, - "static": true - } - ], - "name": "ClassWithPrivateConstructorAndAutomaticProperties", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1330 - }, - "name": "readOnlyString", - "overrides": "jsii-calc.IInterfaceWithProperties", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1331 - }, - "name": "readWriteString", - "overrides": "jsii-calc.IInterfaceWithProperties", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.ConfusingToJackson": { - "assembly": "jsii-calc", - "docs": { - "see": "https://github.com/aws/aws-cdk/issues/4080", - "stability": "experimental", - "summary": "This tries to confuse Jackson by having overloaded property setters." - }, - "fqn": "jsii-calc.ConfusingToJackson", - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2640 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2641 - }, - "name": "makeInstance", - "returns": { - "type": { - "fqn": "jsii-calc.ConfusingToJackson" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2645 - }, - "name": "makeStructInstance", - "returns": { - "type": { - "fqn": "jsii-calc.ConfusingToJacksonStruct" - } - }, - "static": true - } - ], - "name": "ConfusingToJackson", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2649 - }, - "name": "unionProperty", - "optional": true, - "type": { - "union": { - "types": [ - { - "fqn": "@scope/jsii-calc-lib.IFriendly" - }, - { - "collection": { - "elementtype": { - "union": { - "types": [ - { - "fqn": "@scope/jsii-calc-lib.IFriendly" - }, - { - "fqn": "jsii-calc.AbstractClass" - } - ] - } - }, - "kind": "array" - } - } - ] - } - } - } - ] - }, - "jsii-calc.ConfusingToJacksonStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ConfusingToJacksonStruct", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2653 - }, - "name": "ConfusingToJacksonStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2654 - }, - "name": "unionProperty", - "optional": true, - "type": { - "union": { - "types": [ - { - "fqn": "@scope/jsii-calc-lib.IFriendly" - }, - { - "collection": { - "elementtype": { - "union": { - "types": [ - { - "fqn": "@scope/jsii-calc-lib.IFriendly" - }, - { - "fqn": "jsii-calc.AbstractClass" - } - ] - } - }, - "kind": "array" - } - } - ] - } - } - } - ] - }, - "jsii-calc.ConstructorPassesThisOut": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ConstructorPassesThisOut", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1842 - }, - "parameters": [ - { - "name": "consumer", - "type": { - "fqn": "jsii-calc.PartiallyInitializedThisConsumer" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1841 - }, - "name": "ConstructorPassesThisOut" - }, - "jsii-calc.Constructors": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.Constructors", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1587 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1604 - }, - "name": "hiddenInterface", - "returns": { - "type": { - "fqn": "jsii-calc.IPublicInterface" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1608 - }, - "name": "hiddenInterfaces", - "returns": { - "type": { - "collection": { - "elementtype": { - "fqn": "jsii-calc.IPublicInterface" - }, - "kind": "array" - } - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1612 - }, - "name": "hiddenSubInterfaces", - "returns": { - "type": { - "collection": { - "elementtype": { - "fqn": "jsii-calc.IPublicInterface" - }, - "kind": "array" - } - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1588 - }, - "name": "makeClass", - "returns": { - "type": { - "fqn": "jsii-calc.PublicClass" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1592 - }, - "name": "makeInterface", - "returns": { - "type": { - "fqn": "jsii-calc.IPublicInterface" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1596 - }, - "name": "makeInterface2", - "returns": { - "type": { - "fqn": "jsii-calc.IPublicInterface2" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1600 - }, - "name": "makeInterfaces", - "returns": { - "type": { - "collection": { - "elementtype": { - "fqn": "jsii-calc.IPublicInterface" - }, - "kind": "array" - } - } - }, - "static": true - } - ], - "name": "Constructors" - }, - "jsii-calc.ConsumePureInterface": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ConsumePureInterface", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2664 - }, - "parameters": [ - { - "name": "delegate", - "type": { - "fqn": "jsii-calc.IStructReturningDelegate" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2663 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2666 - }, - "name": "workItBaby", - "returns": { - "type": { - "fqn": "jsii-calc.StructB" - } - } - } - ], - "name": "ConsumePureInterface" - }, - "jsii-calc.ConsumerCanRingBell": { - "assembly": "jsii-calc", - "docs": { - "remarks": "Check that if a JSII consumer implements IConsumerWithInterfaceParam, they can call\nthe method on the argument that they're passed...", - "stability": "experimental", - "summary": "Test calling back to consumers that implement interfaces." - }, - "fqn": "jsii-calc.ConsumerCanRingBell", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2306 - }, - "methods": [ - { - "docs": { - "remarks": "Returns whether the bell was rung.", - "stability": "experimental", - "summary": "...if the interface is implemented using an object literal." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2312 - }, - "name": "staticImplementedByObjectLiteral", - "parameters": [ - { - "name": "ringer", - "type": { - "fqn": "jsii-calc.IBellRinger" - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - }, - "static": true - }, - { - "docs": { - "remarks": "Return whether the bell was rung.", - "stability": "experimental", - "summary": "...if the interface is implemented using a private class." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2338 - }, - "name": "staticImplementedByPrivateClass", - "parameters": [ - { - "name": "ringer", - "type": { - "fqn": "jsii-calc.IBellRinger" - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - }, - "static": true - }, - { - "docs": { - "remarks": "Return whether the bell was rung.", - "stability": "experimental", - "summary": "...if the interface is implemented using a public class." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2327 - }, - "name": "staticImplementedByPublicClass", - "parameters": [ - { - "name": "ringer", - "type": { - "fqn": "jsii-calc.IBellRinger" - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - }, - "static": true - }, - { - "docs": { - "remarks": "Return whether the bell was rung.", - "stability": "experimental", - "summary": "If the parameter is a concrete class instead of an interface." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2349 - }, - "name": "staticWhenTypedAsClass", - "parameters": [ - { - "name": "ringer", - "type": { - "fqn": "jsii-calc.IConcreteBellRinger" - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - }, - "static": true - }, - { - "docs": { - "remarks": "Returns whether the bell was rung.", - "stability": "experimental", - "summary": "...if the interface is implemented using an object literal." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2359 - }, - "name": "implementedByObjectLiteral", - "parameters": [ - { - "name": "ringer", - "type": { - "fqn": "jsii-calc.IBellRinger" - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - } - }, - { - "docs": { - "remarks": "Return whether the bell was rung.", - "stability": "experimental", - "summary": "...if the interface is implemented using a private class." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2385 - }, - "name": "implementedByPrivateClass", - "parameters": [ - { - "name": "ringer", - "type": { - "fqn": "jsii-calc.IBellRinger" - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - } - }, - { - "docs": { - "remarks": "Return whether the bell was rung.", - "stability": "experimental", - "summary": "...if the interface is implemented using a public class." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2374 - }, - "name": "implementedByPublicClass", - "parameters": [ - { - "name": "ringer", - "type": { - "fqn": "jsii-calc.IBellRinger" - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - } - }, - { - "docs": { - "remarks": "Return whether the bell was rung.", - "stability": "experimental", - "summary": "If the parameter is a concrete class instead of an interface." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2396 - }, - "name": "whenTypedAsClass", - "parameters": [ - { - "name": "ringer", - "type": { - "fqn": "jsii-calc.IConcreteBellRinger" - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - } - } - ], - "name": "ConsumerCanRingBell" - }, - "jsii-calc.ConsumersOfThisCrazyTypeSystem": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ConsumersOfThisCrazyTypeSystem", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1820 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1821 - }, - "name": "consumeAnotherPublicInterface", - "parameters": [ - { - "name": "obj", - "type": { - "fqn": "jsii-calc.IAnotherPublicInterface" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1825 - }, - "name": "consumeNonInternalInterface", - "parameters": [ - { - "name": "obj", - "type": { - "fqn": "jsii-calc.INonInternalInterface" - } - } - ], - "returns": { - "type": { - "primitive": "any" - } - } - } - ], - "name": "ConsumersOfThisCrazyTypeSystem" - }, - "jsii-calc.DataRenderer": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Verifies proper type handling through dynamic overrides." - }, - "fqn": "jsii-calc.DataRenderer", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1981 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1982 - }, - "name": "render", - "parameters": [ - { - "name": "data", - "optional": true, - "type": { - "fqn": "@scope/jsii-calc-lib.MyFirstStruct" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1988 - }, - "name": "renderArbitrary", - "parameters": [ - { - "name": "data", - "type": { - "collection": { - "elementtype": { - "primitive": "any" - }, - "kind": "map" - } - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1992 - }, - "name": "renderMap", - "parameters": [ - { - "name": "map", - "type": { - "collection": { - "elementtype": { - "primitive": "any" - }, - "kind": "map" - } - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "DataRenderer" - }, - "jsii-calc.DefaultedConstructorArgument": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.DefaultedConstructorArgument", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 318 - }, - "parameters": [ - { - "name": "arg1", - "optional": true, - "type": { - "primitive": "number" - } - }, - { - "name": "arg2", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "name": "arg3", - "optional": true, - "type": { - "primitive": "date" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 317 - }, - "name": "DefaultedConstructorArgument", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 319 - }, - "name": "arg1", - "type": { - "primitive": "number" - } - }, - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 321 - }, - "name": "arg3", - "type": { - "primitive": "date" - } - }, - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 320 - }, - "name": "arg2", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.Demonstrate982": { - "assembly": "jsii-calc", - "docs": { - "remarks": "call #takeThis() -> An ObjectRef will be provisioned for the value (it'll be re-used!)\n2. call #takeThisToo() -> The ObjectRef from before will need to be down-cased to the ParentStruct982 type", - "stability": "experimental", - "summary": "1." - }, - "fqn": "jsii-calc.Demonstrate982", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2508 - }, - "methods": [ - { - "docs": { - "stability": "experimental", - "summary": "It's dangerous to go alone!" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2515 - }, - "name": "takeThis", - "returns": { - "type": { - "fqn": "jsii-calc.ChildStruct982" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental", - "summary": "It's dangerous to go alone!" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2520 - }, - "name": "takeThisToo", - "returns": { - "type": { - "fqn": "jsii-calc.ParentStruct982" - } - }, - "static": true - } - ], - "name": "Demonstrate982" - }, - "jsii-calc.DeprecatedClass": { - "assembly": "jsii-calc", - "docs": { - "deprecated": "a pretty boring class", - "stability": "deprecated" - }, - "fqn": "jsii-calc.DeprecatedClass", - "initializer": { - "docs": { - "deprecated": "this constructor is \"just\" okay", - "stability": "deprecated" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 95 - }, - "parameters": [ - { - "name": "readonlyString", - "type": { - "primitive": "string" - } - }, - { - "name": "mutableNumber", - "optional": true, - "type": { - "primitive": "number" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 89 - }, - "methods": [ - { - "docs": { - "deprecated": "it was a bad idea", - "stability": "deprecated" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 100 - }, - "name": "method" - } - ], - "name": "DeprecatedClass", - "properties": [ - { - "docs": { - "deprecated": "this is not always \"wazoo\", be ready to be disappointed", - "stability": "deprecated" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 91 - }, - "name": "readonlyProperty", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "deprecated": "shouldn't have been mutable", - "stability": "deprecated" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 93 - }, - "name": "mutableProperty", - "optional": true, - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.DeprecatedEnum": { - "assembly": "jsii-calc", - "docs": { - "deprecated": "your deprecated selection of bad options", - "stability": "deprecated" - }, - "fqn": "jsii-calc.DeprecatedEnum", - "kind": "enum", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 105 - }, - "members": [ - { - "docs": { - "deprecated": "option A is not great", - "stability": "deprecated" - }, - "name": "OPTION_A" - }, - { - "docs": { - "deprecated": "option B is kinda bad, too", - "stability": "deprecated" - }, - "name": "OPTION_B" - } - ], - "name": "DeprecatedEnum" - }, - "jsii-calc.DeprecatedStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "deprecated": "it just wraps a string", - "stability": "deprecated" - }, - "fqn": "jsii-calc.DeprecatedStruct", - "kind": "interface", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 77 - }, - "name": "DeprecatedStruct", - "properties": [ - { - "abstract": true, - "docs": { - "deprecated": "well, yeah", - "stability": "deprecated" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 79 - }, - "name": "readonlyProperty", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.DerivedClassHasNoProperties.Base": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.DerivedClassHasNoProperties.Base", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 326 - }, - "name": "Base", - "namespace": "DerivedClassHasNoProperties", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 327 - }, - "name": "prop", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.DerivedClassHasNoProperties.Derived": { - "assembly": "jsii-calc", - "base": "jsii-calc.DerivedClassHasNoProperties.Base", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.DerivedClassHasNoProperties.Derived", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 330 - }, - "name": "Derived", - "namespace": "DerivedClassHasNoProperties" - }, - "jsii-calc.DerivedStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental", - "summary": "A struct which derives from another struct." - }, - "fqn": "jsii-calc.DerivedStruct", - "interfaces": [ - "@scope/jsii-calc-lib.MyFirstStruct" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 541 - }, - "name": "DerivedStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 547 - }, - "name": "anotherRequired", - "type": { - "primitive": "date" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 546 - }, - "name": "bool", - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "An example of a non primitive property." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 545 - }, - "name": "nonPrimitive", - "type": { - "fqn": "jsii-calc.DoubleTrouble" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "This is optional." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 553 - }, - "name": "anotherOptional", - "optional": true, - "type": { - "collection": { - "elementtype": { - "fqn": "@scope/jsii-calc-lib.Value" - }, - "kind": "map" - } - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 549 - }, - "name": "optionalAny", - "optional": true, - "type": { - "primitive": "any" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 548 - }, - "name": "optionalArray", - "optional": true, - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - } - ] - }, - "jsii-calc.DiamondInheritanceBaseLevelStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.DiamondInheritanceBaseLevelStruct", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2026 - }, - "name": "DiamondInheritanceBaseLevelStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2027 - }, - "name": "baseLevelProperty", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.DiamondInheritanceFirstMidLevelStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.DiamondInheritanceFirstMidLevelStruct", - "interfaces": [ - "jsii-calc.DiamondInheritanceBaseLevelStruct" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2030 - }, - "name": "DiamondInheritanceFirstMidLevelStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2032 - }, - "name": "firstMidLevelProperty", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.DiamondInheritanceSecondMidLevelStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.DiamondInheritanceSecondMidLevelStruct", - "interfaces": [ - "jsii-calc.DiamondInheritanceBaseLevelStruct" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2035 - }, - "name": "DiamondInheritanceSecondMidLevelStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2037 - }, - "name": "secondMidLevelProperty", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.DiamondInheritanceTopLevelStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.DiamondInheritanceTopLevelStruct", - "interfaces": [ - "jsii-calc.DiamondInheritanceFirstMidLevelStruct", - "jsii-calc.DiamondInheritanceSecondMidLevelStruct" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2040 - }, - "name": "DiamondInheritanceTopLevelStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2043 - }, - "name": "topLevelProperty", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.DisappointingCollectionSource": { - "assembly": "jsii-calc", - "docs": { - "remarks": "This source of collections is disappointing - it'll always give you nothing :(", - "stability": "experimental", - "summary": "Verifies that null/undefined can be returned for optional collections." - }, - "fqn": "jsii-calc.DisappointingCollectionSource", - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2530 - }, - "name": "DisappointingCollectionSource", - "properties": [ - { - "const": true, - "docs": { - "remarks": "(Nah, just a billion dollars mistake!)", - "stability": "experimental", - "summary": "Some List of strings, maybe?" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2532 - }, - "name": "maybeList", - "optional": true, - "static": true, - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - }, - { - "const": true, - "docs": { - "remarks": "(Nah, just a billion dollars mistake!)", - "stability": "experimental", - "summary": "Some Map of strings to numbers, maybe?" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2534 - }, - "name": "maybeMap", - "optional": true, - "static": true, - "type": { - "collection": { - "elementtype": { - "primitive": "number" - }, - "kind": "map" - } - } - } - ] - }, - "jsii-calc.DoNotOverridePrivates": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.DoNotOverridePrivates", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1297 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1312 - }, - "name": "changePrivatePropertyValue", - "parameters": [ - { - "name": "newValue", - "type": { - "primitive": "string" - } - } - ] - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1304 - }, - "name": "privateMethodValue", - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1308 - }, - "name": "privatePropertyValue", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "DoNotOverridePrivates" - }, - "jsii-calc.DoNotRecognizeAnyAsOptional": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "jsii#284: do not recognize \"any\" as an optional argument." - }, - "fqn": "jsii-calc.DoNotRecognizeAnyAsOptional", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1353 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1354 - }, - "name": "method", - "parameters": [ - { - "name": "_requiredAny", - "type": { - "primitive": "any" - } - }, - { - "name": "_optionalAny", - "optional": true, - "type": { - "primitive": "any" - } - }, - { - "name": "_optionalString", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - } - ], - "name": "DoNotRecognizeAnyAsOptional" - }, - "jsii-calc.DocumentedClass": { - "assembly": "jsii-calc", - "docs": { - "remarks": "This is the meat of the TSDoc comment. It may contain\nmultiple lines and multiple paragraphs.\n\nMultiple paragraphs are separated by an empty line.", - "stability": "stable", - "summary": "Here's the first line of the TSDoc comment." - }, - "fqn": "jsii-calc.DocumentedClass", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/documented.ts", - "line": 11 - }, - "methods": [ - { - "docs": { - "remarks": "This will print out a friendly greeting intended for\nthe indicated person.", - "returns": "A number that everyone knows very well", - "stability": "stable", - "summary": "Greet the indicated person." - }, - "locationInModule": { - "filename": "lib/documented.ts", - "line": 21 - }, - "name": "greet", - "parameters": [ - { - "docs": { - "summary": "The person to be greeted." - }, - "name": "greetee", - "optional": true, - "type": { - "fqn": "jsii-calc.Greetee" - } - } - ], - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "Say ¡Hola!" - }, - "locationInModule": { - "filename": "lib/documented.ts", - "line": 31 - }, - "name": "hola" - } - ], - "name": "DocumentedClass" - }, - "jsii-calc.DontComplainAboutVariadicAfterOptional": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.DontComplainAboutVariadicAfterOptional", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1430 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1431 - }, - "name": "optionalAndVariadic", - "parameters": [ - { - "name": "optional", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "name": "things", - "type": { - "primitive": "string" - }, - "variadic": true - } - ], - "returns": { - "type": { - "primitive": "string" - } - }, - "variadic": true - } - ], - "name": "DontComplainAboutVariadicAfterOptional" - }, - "jsii-calc.DoubleTrouble": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.DoubleTrouble", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "interfaces": [ - "jsii-calc.IFriendlyRandomGenerator" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 485 - }, - "methods": [ - { - "docs": { - "stability": "experimental", - "summary": "Say hello!" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 490 - }, - "name": "hello", - "overrides": "@scope/jsii-calc-lib.IFriendly", - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "Returns another random number." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 486 - }, - "name": "next", - "overrides": "jsii-calc.IRandomNumberGenerator", - "returns": { - "type": { - "primitive": "number" - } - } - } - ], - "name": "DoubleTrouble" - }, - "jsii-calc.EnumDispenser": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.EnumDispenser", - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 45 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 51 - }, - "name": "randomIntegerLikeEnum", - "returns": { - "type": { - "fqn": "jsii-calc.AllTypesEnum" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 46 - }, - "name": "randomStringLikeEnum", - "returns": { - "type": { - "fqn": "jsii-calc.StringEnum" - } - }, - "static": true - } - ], - "name": "EnumDispenser" - }, - "jsii-calc.EraseUndefinedHashValues": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.EraseUndefinedHashValues", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1643 - }, - "methods": [ - { - "docs": { - "remarks": "Used to check that undefined/null hash values\nare being erased when sending values from native code to JS.", - "stability": "experimental", - "summary": "Returns `true` if `key` is defined in `opts`." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1648 - }, - "name": "doesKeyExist", - "parameters": [ - { - "name": "opts", - "type": { - "fqn": "jsii-calc.EraseUndefinedHashValuesOptions" - } - }, - { - "name": "key", - "type": { - "primitive": "string" - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental", - "summary": "We expect \"prop1\" to be erased." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1668 - }, - "name": "prop1IsNull", - "returns": { - "type": { - "collection": { - "elementtype": { - "primitive": "any" - }, - "kind": "map" - } - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental", - "summary": "We expect \"prop2\" to be erased." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1658 - }, - "name": "prop2IsUndefined", - "returns": { - "type": { - "collection": { - "elementtype": { - "primitive": "any" - }, - "kind": "map" - } - } - }, - "static": true - } - ], - "name": "EraseUndefinedHashValues" - }, - "jsii-calc.EraseUndefinedHashValuesOptions": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.EraseUndefinedHashValuesOptions", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1638 - }, - "name": "EraseUndefinedHashValuesOptions", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1639 - }, - "name": "option1", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1640 - }, - "name": "option2", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.ExperimentalClass": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ExperimentalClass", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 22 - }, - "parameters": [ - { - "name": "readonlyString", - "type": { - "primitive": "string" - } - }, - { - "name": "mutableNumber", - "optional": true, - "type": { - "primitive": "number" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 16 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 28 - }, - "name": "method" - } - ], - "name": "ExperimentalClass", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 18 - }, - "name": "readonlyProperty", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 20 - }, - "name": "mutableProperty", - "optional": true, - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.ExperimentalEnum": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ExperimentalEnum", - "kind": "enum", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 33 - }, - "members": [ - { - "docs": { - "stability": "experimental" - }, - "name": "OPTION_A" - }, - { - "docs": { - "stability": "experimental" - }, - "name": "OPTION_B" - } - ], - "name": "ExperimentalEnum" - }, - "jsii-calc.ExperimentalStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ExperimentalStruct", - "kind": "interface", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 4 - }, - "name": "ExperimentalStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 6 - }, - "name": "readonlyProperty", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.ExportedBaseClass": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ExportedBaseClass", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1516 - }, - "parameters": [ - { - "name": "success", - "type": { - "primitive": "boolean" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1515 - }, - "name": "ExportedBaseClass", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1516 - }, - "name": "success", - "type": { - "primitive": "boolean" - } - } - ] - }, - "jsii-calc.ExtendsInternalInterface": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ExtendsInternalInterface", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1757 - }, - "name": "ExtendsInternalInterface", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1758 - }, - "name": "boom", - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1698 - }, - "name": "prop", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.ExternalClass": { - "assembly": "jsii-calc", - "docs": { - "custom": { - "external": "true" - }, - "stability": "experimental" - }, - "fqn": "jsii-calc.ExternalClass", - "initializer": { - "docs": { - "custom": { - "external": "true" - }, - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 131 - }, - "parameters": [ - { - "name": "readonlyString", - "type": { - "primitive": "string" - } - }, - { - "name": "mutableNumber", - "optional": true, - "type": { - "primitive": "number" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 125 - }, - "methods": [ - { - "docs": { - "custom": { - "external": "true" - }, - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 136 - }, - "name": "method" - } - ], - "name": "ExternalClass", - "properties": [ - { - "docs": { - "custom": { - "external": "true" - }, - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 127 - }, - "name": "readonlyProperty", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "custom": { - "external": "true" - }, - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 129 - }, - "name": "mutableProperty", - "optional": true, - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.ExternalEnum": { - "assembly": "jsii-calc", - "docs": { - "custom": { - "external": "true" - }, - "stability": "experimental" - }, - "fqn": "jsii-calc.ExternalEnum", - "kind": "enum", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 141 - }, - "members": [ - { - "docs": { - "custom": { - "external": "true" - }, - "stability": "experimental" - }, - "name": "OPTION_A" - }, - { - "docs": { - "custom": { - "external": "true" - }, - "stability": "experimental" - }, - "name": "OPTION_B" - } - ], - "name": "ExternalEnum" - }, - "jsii-calc.ExternalStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "custom": { - "external": "true" - }, - "stability": "experimental" - }, - "fqn": "jsii-calc.ExternalStruct", - "kind": "interface", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 113 - }, - "name": "ExternalStruct", - "properties": [ - { - "abstract": true, - "docs": { - "custom": { - "external": "true" - }, - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 115 - }, - "name": "readonlyProperty", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.GiveMeStructs": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.GiveMeStructs", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 556 - }, - "methods": [ - { - "docs": { - "stability": "experimental", - "summary": "Accepts a struct of type DerivedStruct and returns a struct of type FirstStruct." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 574 - }, - "name": "derivedToFirst", - "parameters": [ - { - "name": "derived", - "type": { - "fqn": "jsii-calc.DerivedStruct" - } - } - ], - "returns": { - "type": { - "fqn": "@scope/jsii-calc-lib.MyFirstStruct" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "Returns the boolean from a DerivedStruct struct." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 567 - }, - "name": "readDerivedNonPrimitive", - "parameters": [ - { - "name": "derived", - "type": { - "fqn": "jsii-calc.DerivedStruct" - } - } - ], - "returns": { - "type": { - "fqn": "jsii-calc.DoubleTrouble" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "Returns the \"anumber\" from a MyFirstStruct struct;" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 560 - }, - "name": "readFirstNumber", - "parameters": [ - { - "name": "first", - "type": { - "fqn": "@scope/jsii-calc-lib.MyFirstStruct" - } - } - ], - "returns": { - "type": { - "primitive": "number" - } - } - } - ], - "name": "GiveMeStructs", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 578 - }, - "name": "structLiteral", - "type": { - "fqn": "@scope/jsii-calc-lib.StructWithOnlyOptionals" - } - } - ] - }, - "jsii-calc.Greetee": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental", - "summary": "These are some arguments you can pass to a method." - }, - "fqn": "jsii-calc.Greetee", - "kind": "interface", - "locationInModule": { - "filename": "lib/documented.ts", - "line": 39 - }, - "name": "Greetee", - "properties": [ - { - "abstract": true, - "docs": { - "default": "world", - "stability": "experimental", - "summary": "The name of the greetee." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/documented.ts", - "line": 45 - }, - "name": "name", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.GreetingAugmenter": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.GreetingAugmenter", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 532 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 533 - }, - "name": "betterGreeting", - "parameters": [ - { - "name": "friendly", - "type": { - "fqn": "@scope/jsii-calc-lib.IFriendly" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "GreetingAugmenter" - }, - "jsii-calc.IAnonymousImplementationProvider": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "We can return an anonymous interface implementation from an override without losing the interface declarations." - }, - "fqn": "jsii-calc.IAnonymousImplementationProvider", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2208 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2210 - }, - "name": "provideAsClass", - "returns": { - "type": { - "fqn": "jsii-calc.Implementation" - } - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2209 - }, - "name": "provideAsInterface", - "returns": { - "type": { - "fqn": "jsii-calc.IAnonymouslyImplementMe" - } - } - } - ], - "name": "IAnonymousImplementationProvider" - }, - "jsii-calc.IAnonymouslyImplementMe": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IAnonymouslyImplementMe", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2227 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2229 - }, - "name": "verb", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "IAnonymouslyImplementMe", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2228 - }, - "name": "value", - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.IAnotherPublicInterface": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IAnotherPublicInterface", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1778 - }, - "name": "IAnotherPublicInterface", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1779 - }, - "name": "a", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.IBell": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IBell", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2417 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2418 - }, - "name": "ring" - } - ], - "name": "IBell" - }, - "jsii-calc.IBellRinger": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Takes the object parameter as an interface." - }, - "fqn": "jsii-calc.IBellRinger", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2406 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2407 - }, - "name": "yourTurn", - "parameters": [ - { - "name": "bell", - "type": { - "fqn": "jsii-calc.IBell" - } - } - ] - } - ], - "name": "IBellRinger" - }, - "jsii-calc.IConcreteBellRinger": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Takes the object parameter as a calss." - }, - "fqn": "jsii-calc.IConcreteBellRinger", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2413 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2414 - }, - "name": "yourTurn", - "parameters": [ - { - "name": "bell", - "type": { - "fqn": "jsii-calc.Bell" - } - } - ] - } - ], - "name": "IConcreteBellRinger" - }, - "jsii-calc.IDeprecatedInterface": { - "assembly": "jsii-calc", - "docs": { - "deprecated": "useless interface", - "stability": "deprecated" - }, - "fqn": "jsii-calc.IDeprecatedInterface", - "kind": "interface", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 82 - }, - "methods": [ - { - "abstract": true, - "docs": { - "deprecated": "services no purpose", - "stability": "deprecated" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 86 - }, - "name": "method" - } - ], - "name": "IDeprecatedInterface", - "properties": [ - { - "abstract": true, - "docs": { - "deprecated": "could be better", - "stability": "deprecated" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 84 - }, - "name": "mutableProperty", - "optional": true, - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.IExperimentalInterface": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IExperimentalInterface", - "kind": "interface", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 9 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 13 - }, - "name": "method" - } - ], - "name": "IExperimentalInterface", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 11 - }, - "name": "mutableProperty", - "optional": true, - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.IExtendsPrivateInterface": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IExtendsPrivateInterface", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1769 - }, - "name": "IExtendsPrivateInterface", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1770 - }, - "name": "moreThings", - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1754 - }, - "name": "private", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.IExternalInterface": { - "assembly": "jsii-calc", - "docs": { - "custom": { - "external": "true" - }, - "stability": "experimental" - }, - "fqn": "jsii-calc.IExternalInterface", - "kind": "interface", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 118 - }, - "methods": [ - { - "abstract": true, - "docs": { - "custom": { - "external": "true" - }, - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 122 - }, - "name": "method" - } - ], - "name": "IExternalInterface", - "properties": [ - { - "abstract": true, - "docs": { - "custom": { - "external": "true" - }, - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 120 - }, - "name": "mutableProperty", - "optional": true, - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.IFriendlier": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Even friendlier classes can implement this interface." - }, - "fqn": "jsii-calc.IFriendlier", - "interfaces": [ - "@scope/jsii-calc-lib.IFriendly" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 12 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "Say farewell." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 22 - }, - "name": "farewell", - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "abstract": true, - "docs": { - "returns": "A goodbye blessing.", - "stability": "experimental", - "summary": "Say goodbye." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 17 - }, - "name": "goodbye", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "IFriendlier" - }, - "jsii-calc.IFriendlyRandomGenerator": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IFriendlyRandomGenerator", - "interfaces": [ - "jsii-calc.IRandomNumberGenerator", - "@scope/jsii-calc-lib.IFriendly" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 36 - }, - "name": "IFriendlyRandomGenerator" - }, - "jsii-calc.IInterfaceImplementedByAbstractClass": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "awslabs/jsii#220 Abstract return type." - }, - "fqn": "jsii-calc.IInterfaceImplementedByAbstractClass", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1242 - }, - "name": "IInterfaceImplementedByAbstractClass", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1243 - }, - "name": "propFromInterface", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.IInterfaceThatShouldNotBeADataType": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Even though this interface has only properties, it is disqualified from being a datatype because it inherits from an interface that is not a datatype." - }, - "fqn": "jsii-calc.IInterfaceThatShouldNotBeADataType", - "interfaces": [ - "jsii-calc.IInterfaceWithMethods" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1345 - }, - "name": "IInterfaceThatShouldNotBeADataType", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1347 - }, - "name": "otherValue", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.IInterfaceWithInternal": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IInterfaceWithInternal", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1709 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1710 - }, - "name": "visible" - } - ], - "name": "IInterfaceWithInternal" - }, - "jsii-calc.IInterfaceWithMethods": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IInterfaceWithMethods", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1335 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1338 - }, - "name": "doThings" - } - ], - "name": "IInterfaceWithMethods", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1336 - }, - "name": "value", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.IInterfaceWithOptionalMethodArguments": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "awslabs/jsii#175 Interface proxies (and builders) do not respect optional arguments in methods." - }, - "fqn": "jsii-calc.IInterfaceWithOptionalMethodArguments", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1220 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1221 - }, - "name": "hello", - "parameters": [ - { - "name": "arg1", - "type": { - "primitive": "string" - } - }, - { - "name": "arg2", - "optional": true, - "type": { - "primitive": "number" - } - } - ] - } - ], - "name": "IInterfaceWithOptionalMethodArguments" - }, - "jsii-calc.IInterfaceWithProperties": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IInterfaceWithProperties", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 586 - }, - "name": "IInterfaceWithProperties", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 587 - }, - "name": "readOnlyString", - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 588 - }, - "name": "readWriteString", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.IInterfaceWithPropertiesExtension": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IInterfaceWithPropertiesExtension", - "interfaces": [ - "jsii-calc.IInterfaceWithProperties" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 591 - }, - "name": "IInterfaceWithPropertiesExtension", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 593 - }, - "name": "foo", - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.IJSII417Derived": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IJSII417Derived", - "interfaces": [ - "jsii-calc.IJSII417PublicBaseOfBase" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 43 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 41 - }, - "name": "bar" - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 44 - }, - "name": "baz" - } - ], - "name": "IJSII417Derived", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 40 - }, - "name": "property", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.IJSII417PublicBaseOfBase": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IJSII417PublicBaseOfBase", - "kind": "interface", - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 36 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 37 - }, - "name": "foo" - } - ], - "name": "IJSII417PublicBaseOfBase", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 34 - }, - "name": "hasRoot", - "type": { - "primitive": "boolean" - } - } - ] - }, - "jsii-calc.IJsii487External": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IJsii487External", - "kind": "interface", - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 52 - }, - "name": "IJsii487External" - }, - "jsii-calc.IJsii487External2": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IJsii487External2", - "kind": "interface", - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 54 - }, - "name": "IJsii487External2" - }, - "jsii-calc.IJsii496": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IJsii496", - "kind": "interface", - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 64 - }, - "name": "IJsii496" - }, - "jsii-calc.IMutableObjectLiteral": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IMutableObjectLiteral", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1289 - }, - "name": "IMutableObjectLiteral", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1290 - }, - "name": "value", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.INonInternalInterface": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.INonInternalInterface", - "interfaces": [ - "jsii-calc.IAnotherPublicInterface" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1787 - }, - "name": "INonInternalInterface", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1784 - }, - "name": "b", - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1788 - }, - "name": "c", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.IObjectWithProperty": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Make sure that setters are properly called on objects with interfaces." - }, - "fqn": "jsii-calc.IObjectWithProperty", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2542 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2544 - }, - "name": "wasSet", - "returns": { - "type": { - "primitive": "boolean" - } - } - } - ], - "name": "IObjectWithProperty", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2543 - }, - "name": "property", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.IOptionalMethod": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Checks that optional result from interface method code generates correctly." - }, - "fqn": "jsii-calc.IOptionalMethod", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2731 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2732 - }, - "name": "optional", - "returns": { - "optional": true, - "type": { - "primitive": "string" - } - } - } - ], - "name": "IOptionalMethod" - }, - "jsii-calc.IPrivatelyImplemented": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IPrivatelyImplemented", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1512 - }, - "name": "IPrivatelyImplemented", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1513 - }, - "name": "success", - "type": { - "primitive": "boolean" - } - } - ] - }, - "jsii-calc.IPublicInterface": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IPublicInterface", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1558 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1559 - }, - "name": "bye", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "IPublicInterface" - }, - "jsii-calc.IPublicInterface2": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IPublicInterface2", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1562 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1563 - }, - "name": "ciao", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "IPublicInterface2" - }, - "jsii-calc.IRandomNumberGenerator": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Generates random numbers." - }, - "fqn": "jsii-calc.IRandomNumberGenerator", - "kind": "interface", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 28 - }, - "methods": [ - { - "abstract": true, - "docs": { - "returns": "A random number.", - "stability": "experimental", - "summary": "Returns another random number." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 33 - }, - "name": "next", - "returns": { - "type": { - "primitive": "number" - } - } - } - ], - "name": "IRandomNumberGenerator" - }, - "jsii-calc.IReturnJsii976": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Returns a subclass of a known class which implements an interface." - }, - "fqn": "jsii-calc.IReturnJsii976", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2473 - }, - "name": "IReturnJsii976", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2474 - }, - "name": "foo", - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.IReturnsNumber": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.IReturnsNumber", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 639 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 640 - }, - "name": "obtainNumber", - "returns": { - "type": { - "fqn": "@scope/jsii-calc-lib.IDoublable" - } - } - } - ], - "name": "IReturnsNumber", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 642 - }, - "name": "numberProp", - "type": { - "fqn": "@scope/jsii-calc-lib.Number" - } - } - ] - }, - "jsii-calc.IStableInterface": { - "assembly": "jsii-calc", - "docs": { - "stability": "stable" - }, - "fqn": "jsii-calc.IStableInterface", - "kind": "interface", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 46 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "stable" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 50 - }, - "name": "method" - } - ], - "name": "IStableInterface", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "stable" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 48 - }, - "name": "mutableProperty", - "optional": true, - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.IStructReturningDelegate": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Verifies that a \"pure\" implementation of an interface works correctly." - }, - "fqn": "jsii-calc.IStructReturningDelegate", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2660 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2661 - }, - "name": "returnStruct", - "returns": { - "type": { - "fqn": "jsii-calc.StructB" - } - } - } - ], - "name": "IStructReturningDelegate" - }, - "jsii-calc.ImplementInternalInterface": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ImplementInternalInterface", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1761 - }, - "name": "ImplementInternalInterface", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1762 - }, - "name": "prop", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.Implementation": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.Implementation", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2224 - }, - "name": "Implementation", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2225 - }, - "name": "value", - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.ImplementsInterfaceWithInternal": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ImplementsInterfaceWithInternal", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "interfaces": [ - "jsii-calc.IInterfaceWithInternal" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1716 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1717 - }, - "name": "visible", - "overrides": "jsii-calc.IInterfaceWithInternal" - } - ], - "name": "ImplementsInterfaceWithInternal" - }, - "jsii-calc.ImplementsInterfaceWithInternalSubclass": { - "assembly": "jsii-calc", - "base": "jsii-calc.ImplementsInterfaceWithInternal", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ImplementsInterfaceWithInternalSubclass", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1735 - }, - "name": "ImplementsInterfaceWithInternalSubclass" - }, - "jsii-calc.ImplementsPrivateInterface": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ImplementsPrivateInterface", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1765 - }, - "name": "ImplementsPrivateInterface", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1766 - }, - "name": "private", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.ImplictBaseOfBase": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ImplictBaseOfBase", - "interfaces": [ - "@scope/jsii-calc-base.BaseProps" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1176 - }, - "name": "ImplictBaseOfBase", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1177 - }, - "name": "goo", - "type": { - "primitive": "date" - } - } - ] - }, - "jsii-calc.InbetweenClass": { - "assembly": "jsii-calc", - "base": "jsii-calc.PublicClass", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.InbetweenClass", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "interfaces": [ - "jsii-calc.IPublicInterface2" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1565 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1566 - }, - "name": "ciao", - "overrides": "jsii-calc.IPublicInterface2", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "InbetweenClass" - }, - "jsii-calc.InterfaceCollections": { - "assembly": "jsii-calc", - "docs": { - "remarks": "See: https://github.com/aws/jsii/issues/1196", - "stability": "experimental", - "summary": "Verifies that collections of interfaces or structs are correctly handled." - }, - "fqn": "jsii-calc.InterfaceCollections", - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2694 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2705 - }, - "name": "listOfInterfaces", - "returns": { - "type": { - "collection": { - "elementtype": { - "fqn": "jsii-calc.IBell" - }, - "kind": "array" - } - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2695 - }, - "name": "listOfStructs", - "returns": { - "type": { - "collection": { - "elementtype": { - "fqn": "jsii-calc.StructA" - }, - "kind": "array" - } - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2715 - }, - "name": "mapOfInterfaces", - "returns": { - "type": { - "collection": { - "elementtype": { - "fqn": "jsii-calc.IBell" - }, - "kind": "map" - } - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2699 - }, - "name": "mapOfStructs", - "returns": { - "type": { - "collection": { - "elementtype": { - "fqn": "jsii-calc.StructA" - }, - "kind": "map" - } - } - }, - "static": true - } - ], - "name": "InterfaceCollections" - }, - "jsii-calc.InterfaceInNamespaceIncludesClasses.Foo": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.InterfaceInNamespaceIncludesClasses.Foo", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1207 - }, - "name": "Foo", - "namespace": "InterfaceInNamespaceIncludesClasses", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1208 - }, - "name": "bar", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.InterfaceInNamespaceIncludesClasses.Hello": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.InterfaceInNamespaceIncludesClasses.Hello", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1211 - }, - "name": "Hello", - "namespace": "InterfaceInNamespaceIncludesClasses", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1212 - }, - "name": "foo", - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.InterfaceInNamespaceOnlyInterface.Hello": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.InterfaceInNamespaceOnlyInterface.Hello", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1201 - }, - "name": "Hello", - "namespace": "InterfaceInNamespaceOnlyInterface", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1202 - }, - "name": "foo", - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.InterfacesMaker": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "We can return arrays of interfaces See aws/aws-cdk#2362." - }, - "fqn": "jsii-calc.InterfacesMaker", - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2096 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2097 - }, - "name": "makeInterfaces", - "parameters": [ - { - "name": "count", - "type": { - "primitive": "number" - } - } - ], - "returns": { - "type": { - "collection": { - "elementtype": { - "fqn": "@scope/jsii-calc-lib.IDoublable" - }, - "kind": "array" - } - } - }, - "static": true - } - ], - "name": "InterfacesMaker" - }, - "jsii-calc.Isomorphism": { - "abstract": true, - "assembly": "jsii-calc", - "docs": { - "remarks": "Create a subclass of this, and assert that `this.myself()` actually returns\n`this` from within the constructor.", - "stability": "experimental", - "summary": "Checks the \"same instance\" isomorphism is preserved within the constructor." - }, - "fqn": "jsii-calc.Isomorphism", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2741 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2742 - }, - "name": "myself", - "returns": { - "type": { - "fqn": "jsii-calc.Isomorphism" - } - } - } - ], - "name": "Isomorphism" - }, - "jsii-calc.JSII417Derived": { - "assembly": "jsii-calc", - "base": "jsii-calc.JSII417PublicBaseOfBase", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.JSII417Derived", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 17 - }, - "parameters": [ - { - "name": "property", - "type": { - "primitive": "string" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 24 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 25 - }, - "name": "bar" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 28 - }, - "name": "baz" - } - ], - "name": "JSII417Derived", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 17 - }, - "name": "property", - "protected": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.JSII417PublicBaseOfBase": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.JSII417PublicBaseOfBase", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 8 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 9 - }, - "name": "makeInstance", - "returns": { - "type": { - "fqn": "jsii-calc.JSII417PublicBaseOfBase" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 12 - }, - "name": "foo" - } - ], - "name": "JSII417PublicBaseOfBase", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 6 - }, - "name": "hasRoot", - "type": { - "primitive": "boolean" - } - } - ] - }, - "jsii-calc.JSObjectLiteralForInterface": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.JSObjectLiteralForInterface", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 517 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 518 - }, - "name": "giveMeFriendly", - "returns": { - "type": { - "fqn": "@scope/jsii-calc-lib.IFriendly" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 524 - }, - "name": "giveMeFriendlyGenerator", - "returns": { - "type": { - "fqn": "jsii-calc.IFriendlyRandomGenerator" - } - } - } - ], - "name": "JSObjectLiteralForInterface" - }, - "jsii-calc.JSObjectLiteralToNative": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.JSObjectLiteralToNative", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 247 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 248 - }, - "name": "returnLiteral", - "returns": { - "type": { - "fqn": "jsii-calc.JSObjectLiteralToNativeClass" - } - } - } - ], - "name": "JSObjectLiteralToNative" - }, - "jsii-calc.JSObjectLiteralToNativeClass": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.JSObjectLiteralToNativeClass", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 256 - }, - "name": "JSObjectLiteralToNativeClass", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 257 - }, - "name": "propA", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 258 - }, - "name": "propB", - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.JavaReservedWords": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.JavaReservedWords", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 745 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 746 - }, - "name": "abstract" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 750 - }, - "name": "assert" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 754 - }, - "name": "boolean" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 758 - }, - "name": "break" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 762 - }, - "name": "byte" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 766 - }, - "name": "case" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 770 - }, - "name": "catch" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 774 - }, - "name": "char" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 778 - }, - "name": "class" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 782 - }, - "name": "const" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 786 - }, - "name": "continue" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 790 - }, - "name": "default" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 798 - }, - "name": "do" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 794 - }, - "name": "double" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 802 - }, - "name": "else" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 806 - }, - "name": "enum" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 810 - }, - "name": "extends" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 814 - }, - "name": "false" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 818 - }, - "name": "final" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 822 - }, - "name": "finally" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 826 - }, - "name": "float" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 830 - }, - "name": "for" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 834 - }, - "name": "goto" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 838 - }, - "name": "if" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 842 - }, - "name": "implements" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 846 - }, - "name": "import" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 850 - }, - "name": "instanceof" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 854 - }, - "name": "int" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 858 - }, - "name": "interface" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 862 - }, - "name": "long" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 866 - }, - "name": "native" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 870 - }, - "name": "new" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 874 - }, - "name": "null" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 878 - }, - "name": "package" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 882 - }, - "name": "private" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 886 - }, - "name": "protected" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 890 - }, - "name": "public" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 894 - }, - "name": "return" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 898 - }, - "name": "short" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 902 - }, - "name": "static" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 906 - }, - "name": "strictfp" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 910 - }, - "name": "super" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 914 - }, - "name": "switch" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 918 - }, - "name": "synchronized" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 922 - }, - "name": "this" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 926 - }, - "name": "throw" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 930 - }, - "name": "throws" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 934 - }, - "name": "transient" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 938 - }, - "name": "true" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 942 - }, - "name": "try" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 946 - }, - "name": "void" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 950 - }, - "name": "volatile" - } - ], - "name": "JavaReservedWords", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 954 - }, - "name": "while", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.Jsii487Derived": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.Jsii487Derived", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "interfaces": [ - "jsii-calc.IJsii487External2", - "jsii-calc.IJsii487External" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 56 - }, - "name": "Jsii487Derived" - }, - "jsii-calc.Jsii496Derived": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.Jsii496Derived", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "interfaces": [ - "jsii-calc.IJsii496" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/erasures.ts", - "line": 66 - }, - "name": "Jsii496Derived" - }, - "jsii-calc.JsiiAgent": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Host runtime version should be set via JSII_AGENT." - }, - "fqn": "jsii-calc.JsiiAgent", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1528 - }, - "name": "JsiiAgent", - "properties": [ - { - "docs": { - "stability": "experimental", - "summary": "Returns the value of the JSII_AGENT environment variable." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1532 - }, - "name": "jsiiAgent", - "optional": true, - "static": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.JsonFormatter": { - "assembly": "jsii-calc", - "docs": { - "see": "https://github.com/aws/aws-cdk/issues/5066", - "stability": "experimental", - "summary": "Make sure structs are un-decorated on the way in." - }, - "fqn": "jsii-calc.JsonFormatter", - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2575 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2620 - }, - "name": "anyArray", - "returns": { - "type": { - "primitive": "any" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2616 - }, - "name": "anyBooleanFalse", - "returns": { - "type": { - "primitive": "any" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2612 - }, - "name": "anyBooleanTrue", - "returns": { - "type": { - "primitive": "any" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2592 - }, - "name": "anyDate", - "returns": { - "type": { - "primitive": "any" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2608 - }, - "name": "anyEmptyString", - "returns": { - "type": { - "primitive": "any" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2588 - }, - "name": "anyFunction", - "returns": { - "type": { - "primitive": "any" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2624 - }, - "name": "anyHash", - "returns": { - "type": { - "primitive": "any" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2580 - }, - "name": "anyNull", - "returns": { - "type": { - "primitive": "any" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2596 - }, - "name": "anyNumber", - "returns": { - "type": { - "primitive": "any" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2628 - }, - "name": "anyRef", - "returns": { - "type": { - "primitive": "any" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2604 - }, - "name": "anyString", - "returns": { - "type": { - "primitive": "any" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2584 - }, - "name": "anyUndefined", - "returns": { - "type": { - "primitive": "any" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2600 - }, - "name": "anyZero", - "returns": { - "type": { - "primitive": "any" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2576 - }, - "name": "stringify", - "parameters": [ - { - "name": "value", - "optional": true, - "type": { - "primitive": "any" - } - } - ], - "returns": { - "optional": true, - "type": { - "primitive": "string" - } - }, - "static": true - } - ], - "name": "JsonFormatter" - }, - "jsii-calc.LoadBalancedFargateServiceProps": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental", - "summary": "jsii#298: show default values in sphinx documentation, and respect newlines." - }, - "fqn": "jsii-calc.LoadBalancedFargateServiceProps", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1439 - }, - "name": "LoadBalancedFargateServiceProps", - "properties": [ - { - "abstract": true, - "docs": { - "default": "80", - "remarks": "Corresponds to container port mapping.", - "stability": "experimental", - "summary": "The container port of the application load balancer attached to your Fargate service." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1482 - }, - "name": "containerPort", - "optional": true, - "type": { - "primitive": "number" - } - }, - { - "abstract": true, - "docs": { - "default": "256", - "remarks": "Valid values, which determines your range of valid values for the memory parameter:\n256 (.25 vCPU) - Available memory values: 0.5GB, 1GB, 2GB\n512 (.5 vCPU) - Available memory values: 1GB, 2GB, 3GB, 4GB\n1024 (1 vCPU) - Available memory values: 2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB\n2048 (2 vCPU) - Available memory values: Between 4GB and 16GB in 1GB increments\n4096 (4 vCPU) - Available memory values: Between 8GB and 30GB in 1GB increments\n\nThis default is set in the underlying FargateTaskDefinition construct.", - "stability": "experimental", - "summary": "The number of cpu units used by the task." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1453 - }, - "name": "cpu", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "default": "512", - "remarks": "This field is required and you must use one of the following values, which determines your range of valid values\nfor the cpu parameter:\n\n0.5GB, 1GB, 2GB - Available cpu values: 256 (.25 vCPU)\n\n1GB, 2GB, 3GB, 4GB - Available cpu values: 512 (.5 vCPU)\n\n2GB, 3GB, 4GB, 5GB, 6GB, 7GB, 8GB - Available cpu values: 1024 (1 vCPU)\n\nBetween 4GB and 16GB in 1GB increments - Available cpu values: 2048 (2 vCPU)\n\nBetween 8GB and 30GB in 1GB increments - Available cpu values: 4096 (4 vCPU)\n\nThis default is set in the underlying FargateTaskDefinition construct.", - "stability": "experimental", - "summary": "The amount (in MiB) of memory used by the task." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1475 - }, - "name": "memoryMiB", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "default": "true", - "stability": "experimental", - "summary": "Determines whether the Application Load Balancer will be internet-facing." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1489 - }, - "name": "publicLoadBalancer", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "default": "false", - "stability": "experimental", - "summary": "Determines whether your Fargate Service will be assigned a public IP address." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1496 - }, - "name": "publicTasks", - "optional": true, - "type": { - "primitive": "boolean" - } - } - ] - }, - "jsii-calc.MethodNamedProperty": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.MethodNamedProperty", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 396 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 397 - }, - "name": "property", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "MethodNamedProperty", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 401 - }, - "name": "elite", - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.Multiply": { - "assembly": "jsii-calc", - "base": "jsii-calc.BinaryOperation", - "docs": { - "stability": "experimental", - "summary": "The \"*\" binary operation." - }, - "fqn": "jsii-calc.Multiply", - "initializer": { - "docs": { - "stability": "experimental", - "summary": "Creates a BinaryOperation." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 49 - }, - "parameters": [ - { - "docs": { - "summary": "Left-hand side operand." - }, - "name": "lhs", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - }, - { - "docs": { - "summary": "Right-hand side operand." - }, - "name": "rhs", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - } - ] - }, - "interfaces": [ - "jsii-calc.IFriendlier", - "jsii-calc.IRandomNumberGenerator" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 74 - }, - "methods": [ - { - "docs": { - "stability": "experimental", - "summary": "Say farewell." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 88 - }, - "name": "farewell", - "overrides": "jsii-calc.IFriendlier", - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "Say goodbye." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 84 - }, - "name": "goodbye", - "overrides": "jsii-calc.IFriendlier", - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "Returns another random number." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 92 - }, - "name": "next", - "overrides": "jsii-calc.IRandomNumberGenerator", - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "String representation of the value." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 80 - }, - "name": "toString", - "overrides": "@scope/jsii-calc-lib.Operation", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "Multiply", - "properties": [ - { - "docs": { - "stability": "experimental", - "summary": "The value." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 76 - }, - "name": "value", - "overrides": "@scope/jsii-calc-lib.Value", - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.Negate": { - "assembly": "jsii-calc", - "base": "jsii-calc.UnaryOperation", - "docs": { - "stability": "experimental", - "summary": "The negation operation (\"-value\")." - }, - "fqn": "jsii-calc.Negate", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 101 - }, - "parameters": [ - { - "name": "operand", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - } - ] - }, - "interfaces": [ - "jsii-calc.IFriendlier" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 109 - }, - "methods": [ - { - "docs": { - "stability": "experimental", - "summary": "Say farewell." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 126 - }, - "name": "farewell", - "overrides": "jsii-calc.IFriendlier", - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "Say goodbye." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 122 - }, - "name": "goodbye", - "overrides": "jsii-calc.IFriendlier", - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "Say hello!" - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 118 - }, - "name": "hello", - "overrides": "@scope/jsii-calc-lib.IFriendly", - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "String representation of the value." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 114 - }, - "name": "toString", - "overrides": "@scope/jsii-calc-lib.Operation", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "Negate", - "properties": [ - { - "docs": { - "stability": "experimental", - "summary": "The value." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 110 - }, - "name": "value", - "overrides": "@scope/jsii-calc-lib.Value", - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.NestedStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.NestedStruct", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2449 - }, - "name": "NestedStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "When provided, must be > 0." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2453 - }, - "name": "numberProp", - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.NodeStandardLibrary": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Test fixture to verify that jsii modules can use the node standard library." - }, - "fqn": "jsii-calc.NodeStandardLibrary", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1126 - }, - "methods": [ - { - "docs": { - "returns": "\"6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50\"", - "stability": "experimental", - "summary": "Uses node.js \"crypto\" module to calculate sha256 of a string." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1157 - }, - "name": "cryptoSha256", - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "async": true, - "docs": { - "returns": "\"Hello, resource!\"", - "stability": "experimental", - "summary": "Reads a local resource file (resource.txt) asynchronously." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1131 - }, - "name": "fsReadFile", - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "returns": "\"Hello, resource! SYNC!\"", - "stability": "experimental", - "summary": "Sync version of fsReadFile." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1140 - }, - "name": "fsReadFileSync", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "NodeStandardLibrary", - "properties": [ - { - "docs": { - "stability": "experimental", - "summary": "Returns the current os.platform() from the \"os\" node module." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1149 - }, - "name": "osPlatform", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.NullShouldBeTreatedAsUndefined": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "jsii#282, aws-cdk#157: null should be treated as \"undefined\"." - }, - "fqn": "jsii-calc.NullShouldBeTreatedAsUndefined", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1369 - }, - "parameters": [ - { - "name": "_param1", - "type": { - "primitive": "string" - } - }, - { - "name": "optional", - "optional": true, - "type": { - "primitive": "any" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1366 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1377 - }, - "name": "giveMeUndefined", - "parameters": [ - { - "name": "value", - "optional": true, - "type": { - "primitive": "any" - } - } - ] - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1387 - }, - "name": "giveMeUndefinedInsideAnObject", - "parameters": [ - { - "name": "input", - "type": { - "fqn": "jsii-calc.NullShouldBeTreatedAsUndefinedData" - } - } - ] - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1416 - }, - "name": "verifyPropertyIsUndefined" - } - ], - "name": "NullShouldBeTreatedAsUndefined", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1367 - }, - "name": "changeMeToUndefined", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.NullShouldBeTreatedAsUndefinedData": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.NullShouldBeTreatedAsUndefinedData", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1425 - }, - "name": "NullShouldBeTreatedAsUndefinedData", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1427 - }, - "name": "arrayWithThreeElementsAndUndefinedAsSecondArgument", - "type": { - "collection": { - "elementtype": { - "primitive": "any" - }, - "kind": "array" - } - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1426 - }, - "name": "thisShouldBeUndefined", - "optional": true, - "type": { - "primitive": "any" - } - } - ] - }, - "jsii-calc.NumberGenerator": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "This allows us to test that a reference can be stored for objects that implement interfaces." - }, - "fqn": "jsii-calc.NumberGenerator", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 506 - }, - "parameters": [ - { - "name": "generator", - "type": { - "fqn": "jsii-calc.IRandomNumberGenerator" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 505 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 512 - }, - "name": "isSameGenerator", - "parameters": [ - { - "name": "gen", - "type": { - "fqn": "jsii-calc.IRandomNumberGenerator" - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 508 - }, - "name": "nextTimes100", - "returns": { - "type": { - "primitive": "number" - } - } - } - ], - "name": "NumberGenerator", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 506 - }, - "name": "generator", - "type": { - "fqn": "jsii-calc.IRandomNumberGenerator" - } - } - ] - }, - "jsii-calc.ObjectRefsInCollections": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Verify that object references can be passed inside collections." - }, - "fqn": "jsii-calc.ObjectRefsInCollections", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 264 - }, - "methods": [ - { - "docs": { - "stability": "experimental", - "summary": "Returns the sum of all values." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 268 - }, - "name": "sumFromArray", - "parameters": [ - { - "name": "values", - "type": { - "collection": { - "elementtype": { - "fqn": "@scope/jsii-calc-lib.Value" - }, - "kind": "array" - } - } - } - ], - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "Returns the sum of all values in a map." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 279 - }, - "name": "sumFromMap", - "parameters": [ - { - "name": "values", - "type": { - "collection": { - "elementtype": { - "fqn": "@scope/jsii-calc-lib.Value" - }, - "kind": "map" - } - } - } - ], - "returns": { - "type": { - "primitive": "number" - } - } - } - ], - "name": "ObjectRefsInCollections" - }, - "jsii-calc.ObjectWithPropertyProvider": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.ObjectWithPropertyProvider", - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2546 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2547 - }, - "name": "provide", - "returns": { - "type": { - "fqn": "jsii-calc.IObjectWithProperty" - } - }, - "static": true - } - ], - "name": "ObjectWithPropertyProvider" - }, - "jsii-calc.Old": { - "assembly": "jsii-calc", - "docs": { - "deprecated": "Use the new class", - "stability": "deprecated", - "summary": "Old class." - }, - "fqn": "jsii-calc.Old", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/documented.ts", - "line": 53 - }, - "methods": [ - { - "docs": { - "stability": "deprecated", - "summary": "Doo wop that thing." - }, - "locationInModule": { - "filename": "lib/documented.ts", - "line": 57 - }, - "name": "doAThing" - } - ], - "name": "Old" - }, - "jsii-calc.OptionalArgumentInvoker": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.OptionalArgumentInvoker", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1224 - }, - "parameters": [ - { - "name": "delegate", - "type": { - "fqn": "jsii-calc.IInterfaceWithOptionalMethodArguments" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1223 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1232 - }, - "name": "invokeWithOptional" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1228 - }, - "name": "invokeWithoutOptional" - } - ], - "name": "OptionalArgumentInvoker" - }, - "jsii-calc.OptionalConstructorArgument": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.OptionalConstructorArgument", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 310 - }, - "parameters": [ - { - "name": "arg1", - "type": { - "primitive": "number" - } - }, - { - "name": "arg2", - "type": { - "primitive": "string" - } - }, - { - "name": "arg3", - "optional": true, - "type": { - "primitive": "date" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 309 - }, - "name": "OptionalConstructorArgument", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 311 - }, - "name": "arg1", - "type": { - "primitive": "number" - } - }, - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 312 - }, - "name": "arg2", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 313 - }, - "name": "arg3", - "optional": true, - "type": { - "primitive": "date" - } - } - ] - }, - "jsii-calc.OptionalStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.OptionalStruct", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1867 - }, - "name": "OptionalStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1868 - }, - "name": "field", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.OptionalStructConsumer": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.OptionalStructConsumer", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1862 - }, - "parameters": [ - { - "name": "optionalStruct", - "optional": true, - "type": { - "fqn": "jsii-calc.OptionalStruct" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1858 - }, - "name": "OptionalStructConsumer", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1859 - }, - "name": "parameterWasUndefined", - "type": { - "primitive": "boolean" - } - }, - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1860 - }, - "name": "fieldValue", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.OverridableProtectedMember": { - "assembly": "jsii-calc", - "docs": { - "see": "https://github.com/aws/jsii/issues/903", - "stability": "experimental" - }, - "fqn": "jsii-calc.OverridableProtectedMember", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2135 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2147 - }, - "name": "overrideMe", - "protected": true, - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2143 - }, - "name": "switchModes" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2139 - }, - "name": "valueFromProtected", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "OverridableProtectedMember", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2136 - }, - "name": "overrideReadOnly", - "protected": true, - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2137 - }, - "name": "overrideReadWrite", - "protected": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.OverrideReturnsObject": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.OverrideReturnsObject", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 645 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 646 - }, - "name": "test", - "parameters": [ - { - "name": "obj", - "type": { - "fqn": "jsii-calc.IReturnsNumber" - } - } - ], - "returns": { - "type": { - "primitive": "number" - } - } - } - ], - "name": "OverrideReturnsObject" - }, - "jsii-calc.ParentStruct982": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental", - "summary": "https://github.com/aws/jsii/issues/982." - }, - "fqn": "jsii-calc.ParentStruct982", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2498 - }, - "name": "ParentStruct982", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2499 - }, - "name": "foo", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.PartiallyInitializedThisConsumer": { - "abstract": true, - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.PartiallyInitializedThisConsumer", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1833 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1834 - }, - "name": "consumePartiallyInitializedThis", - "parameters": [ - { - "name": "obj", - "type": { - "fqn": "jsii-calc.ConstructorPassesThisOut" - } - }, - { - "name": "dt", - "type": { - "primitive": "date" - } - }, - { - "name": "ev", - "type": { - "fqn": "jsii-calc.AllTypesEnum" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "PartiallyInitializedThisConsumer" - }, - "jsii-calc.Polymorphism": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.Polymorphism", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 495 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 496 - }, - "name": "sayHello", - "parameters": [ - { - "name": "friendly", - "type": { - "fqn": "@scope/jsii-calc-lib.IFriendly" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "Polymorphism" - }, - "jsii-calc.Power": { - "assembly": "jsii-calc", - "base": "jsii-calc.composition.CompositeOperation", - "docs": { - "stability": "experimental", - "summary": "The power operation." - }, - "fqn": "jsii-calc.Power", - "initializer": { - "docs": { - "stability": "experimental", - "summary": "Creates a Power operation." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 227 - }, - "parameters": [ - { - "docs": { - "summary": "The base of the power." - }, - "name": "base", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - }, - { - "docs": { - "summary": "The number of times to multiply." - }, - "name": "pow", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 221 - }, - "name": "Power", - "properties": [ - { - "docs": { - "stability": "experimental", - "summary": "The base of the power." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 227 - }, - "name": "base", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - }, - { - "docs": { - "remarks": "Must be implemented by derived classes.", - "stability": "experimental", - "summary": "The expression that this operation consists of." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 231 - }, - "name": "expression", - "overrides": "jsii-calc.composition.CompositeOperation", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - }, - { - "docs": { - "stability": "experimental", - "summary": "The number of times to multiply." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 227 - }, - "name": "pow", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - } - ] - }, - "jsii-calc.PropertyNamedProperty": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Reproduction for https://github.com/aws/jsii/issues/1113 Where a method or property named \"property\" would result in impossible to load Python code." - }, - "fqn": "jsii-calc.PropertyNamedProperty", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 392 - }, - "name": "PropertyNamedProperty", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 393 - }, - "name": "property", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 394 - }, - "name": "yetAnoterOne", - "type": { - "primitive": "boolean" - } - } - ] - }, - "jsii-calc.PublicClass": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.PublicClass", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1553 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1554 - }, - "name": "hello" - } - ], - "name": "PublicClass" - }, - "jsii-calc.PythonReservedWords": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.PythonReservedWords", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 957 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 958 - }, - "name": "and" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 962 - }, - "name": "as" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 966 - }, - "name": "assert" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 970 - }, - "name": "async" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 974 - }, - "name": "await" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 978 - }, - "name": "break" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 982 - }, - "name": "class" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 986 - }, - "name": "continue" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 990 - }, - "name": "def" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 994 - }, - "name": "del" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 998 - }, - "name": "elif" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1002 - }, - "name": "else" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1006 - }, - "name": "except" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1010 - }, - "name": "finally" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1014 - }, - "name": "for" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1018 - }, - "name": "from" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1022 - }, - "name": "global" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1026 - }, - "name": "if" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1030 - }, - "name": "import" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1034 - }, - "name": "in" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1038 - }, - "name": "is" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1042 - }, - "name": "lambda" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1046 - }, - "name": "nonlocal" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1050 - }, - "name": "not" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1054 - }, - "name": "or" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1058 - }, - "name": "pass" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1062 - }, - "name": "raise" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1066 - }, - "name": "return" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1070 - }, - "name": "try" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1074 - }, - "name": "while" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1078 - }, - "name": "with" - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1082 - }, - "name": "yield" - } - ], - "name": "PythonReservedWords" - }, - "jsii-calc.PythonSelf.ClassWithSelf": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.PythonSelf.ClassWithSelf", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1092 - }, - "parameters": [ - { - "name": "self", - "type": { - "primitive": "string" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1091 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1094 - }, - "name": "method", - "parameters": [ - { - "name": "self", - "type": { - "primitive": "number" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "ClassWithSelf", - "namespace": "PythonSelf", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1092 - }, - "name": "self", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.PythonSelf.ClassWithSelfKwarg": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.PythonSelf.ClassWithSelfKwarg", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1100 - }, - "parameters": [ - { - "name": "props", - "type": { - "fqn": "jsii-calc.PythonSelf.StructWithSelf" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1099 - }, - "name": "ClassWithSelfKwarg", - "namespace": "PythonSelf", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1100 - }, - "name": "props", - "type": { - "fqn": "jsii-calc.PythonSelf.StructWithSelf" - } - } - ] - }, - "jsii-calc.PythonSelf.IInterfaceWithSelf": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.PythonSelf.IInterfaceWithSelf", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1107 - }, - "methods": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1108 - }, - "name": "method", - "parameters": [ - { - "name": "self", - "type": { - "primitive": "number" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "IInterfaceWithSelf", - "namespace": "PythonSelf" - }, - "jsii-calc.PythonSelf.StructWithSelf": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.PythonSelf.StructWithSelf", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1103 - }, - "name": "StructWithSelf", - "namespace": "PythonSelf", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1104 - }, - "name": "self", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.ReferenceEnumFromScopedPackage": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "See awslabs/jsii#138." - }, - "fqn": "jsii-calc.ReferenceEnumFromScopedPackage", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1183 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1186 - }, - "name": "loadFoo", - "returns": { - "optional": true, - "type": { - "fqn": "@scope/jsii-calc-lib.EnumFromScopedModule" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1190 - }, - "name": "saveFoo", - "parameters": [ - { - "name": "value", - "type": { - "fqn": "@scope/jsii-calc-lib.EnumFromScopedModule" - } - } - ] - } - ], - "name": "ReferenceEnumFromScopedPackage", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1184 - }, - "name": "foo", - "optional": true, - "type": { - "fqn": "@scope/jsii-calc-lib.EnumFromScopedModule" - } - } - ] - }, - "jsii-calc.ReturnsPrivateImplementationOfInterface": { - "assembly": "jsii-calc", - "docs": { - "returns": "an instance of an un-exported class that extends `ExportedBaseClass`, declared as `IPrivatelyImplemented`.", - "see": "https://github.com/aws/jsii/issues/320", - "stability": "experimental", - "summary": "Helps ensure the JSII kernel & runtime cooperate correctly when an un-exported instance of a class is returned with a declared type that is an exported interface, and the instance inherits from an exported class." - }, - "fqn": "jsii-calc.ReturnsPrivateImplementationOfInterface", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1507 - }, - "name": "ReturnsPrivateImplementationOfInterface", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1508 - }, - "name": "privateImplementation", - "type": { - "fqn": "jsii-calc.IPrivatelyImplemented" - } - } - ] - }, - "jsii-calc.RootStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "remarks": "This is cheating with the (current) declared types, but this is the \"more\nidiomatic\" way for Pythonists.", - "stability": "experimental", - "summary": "This is here to check that we can pass a nested struct into a kwargs by specifying it as an in-line dictionary." - }, - "fqn": "jsii-calc.RootStruct", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2442 - }, - "name": "RootStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "May not be empty." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2446 - }, - "name": "stringProp", - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2447 - }, - "name": "nestedStruct", - "optional": true, - "type": { - "fqn": "jsii-calc.NestedStruct" - } - } - ] - }, - "jsii-calc.RootStructValidator": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.RootStructValidator", - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2455 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2456 - }, - "name": "validate", - "parameters": [ - { - "name": "struct", - "type": { - "fqn": "jsii-calc.RootStruct" - } - } - ], - "static": true - } - ], - "name": "RootStructValidator" - }, - "jsii-calc.RuntimeTypeChecking": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.RuntimeTypeChecking", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 288 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 296 - }, - "name": "methodWithDefaultedArguments", - "parameters": [ - { - "name": "arg1", - "optional": true, - "type": { - "primitive": "number" - } - }, - { - "name": "arg2", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "name": "arg3", - "optional": true, - "type": { - "primitive": "date" - } - } - ] - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 304 - }, - "name": "methodWithOptionalAnyArgument", - "parameters": [ - { - "name": "arg", - "optional": true, - "type": { - "primitive": "any" - } - } - ] - }, - { - "docs": { - "stability": "experimental", - "summary": "Used to verify verification of number of method arguments." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 292 - }, - "name": "methodWithOptionalArguments", - "parameters": [ - { - "name": "arg1", - "type": { - "primitive": "number" - } - }, - { - "name": "arg2", - "type": { - "primitive": "string" - } - }, - { - "name": "arg3", - "optional": true, - "type": { - "primitive": "date" - } - } - ] - } - ], - "name": "RuntimeTypeChecking" - }, - "jsii-calc.SecondLevelStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.SecondLevelStruct", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2014 - }, - "name": "SecondLevelStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "It's long and required." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2018 - }, - "name": "deeperRequiredProp", - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "It's long, but you'll almost never pass it." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2023 - }, - "name": "deeperOptionalProp", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.SingleInstanceTwoTypes": { - "assembly": "jsii-calc", - "docs": { - "remarks": "JSII clients can instantiate 2 different strongly-typed wrappers for the same\nobject. Unfortunately, this will break object equality, but if we didn't do\nthis it would break runtime type checks in the JVM or CLR.", - "stability": "experimental", - "summary": "Test that a single instance can be returned under two different FQNs." - }, - "fqn": "jsii-calc.SingleInstanceTwoTypes", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1624 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1627 - }, - "name": "interface1", - "returns": { - "type": { - "fqn": "jsii-calc.InbetweenClass" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1631 - }, - "name": "interface2", - "returns": { - "type": { - "fqn": "jsii-calc.IPublicInterface" - } - } - } - ], - "name": "SingleInstanceTwoTypes" - }, - "jsii-calc.SingletonInt": { - "assembly": "jsii-calc", - "docs": { - "remarks": "https://github.com/aws/jsii/issues/231", - "stability": "experimental", - "summary": "Verifies that singleton enums are handled correctly." - }, - "fqn": "jsii-calc.SingletonInt", - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1966 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1968 - }, - "name": "isSingletonInt", - "parameters": [ - { - "name": "value", - "type": { - "primitive": "number" - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - } - } - ], - "name": "SingletonInt" - }, - "jsii-calc.SingletonIntEnum": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "A singleton integer." - }, - "fqn": "jsii-calc.SingletonIntEnum", - "kind": "enum", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1973 - }, - "members": [ - { - "docs": { - "stability": "experimental", - "summary": "Elite!" - }, - "name": "SINGLETON_INT" - } - ], - "name": "SingletonIntEnum" - }, - "jsii-calc.SingletonString": { - "assembly": "jsii-calc", - "docs": { - "remarks": "https://github.com/aws/jsii/issues/231", - "stability": "experimental", - "summary": "Verifies that singleton enums are handled correctly." - }, - "fqn": "jsii-calc.SingletonString", - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1949 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1952 - }, - "name": "isSingletonString", - "parameters": [ - { - "name": "value", - "type": { - "primitive": "string" - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - } - } - ], - "name": "SingletonString" - }, - "jsii-calc.SingletonStringEnum": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "A singleton string." - }, - "fqn": "jsii-calc.SingletonStringEnum", - "kind": "enum", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1957 - }, - "members": [ - { - "docs": { - "stability": "experimental", - "summary": "1337." - }, - "name": "SINGLETON_STRING" - } - ], - "name": "SingletonStringEnum" - }, - "jsii-calc.SmellyStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.SmellyStruct", - "kind": "interface", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 403 - }, - "name": "SmellyStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 404 - }, - "name": "property", - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 405 - }, - "name": "yetAnoterOne", - "type": { - "primitive": "boolean" - } - } - ] - }, - "jsii-calc.SomeTypeJsii976": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.SomeTypeJsii976", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2479 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2488 - }, - "name": "returnAnonymous", - "returns": { - "type": { - "primitive": "any" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2480 - }, - "name": "returnReturn", - "returns": { - "type": { - "fqn": "jsii-calc.IReturnJsii976" - } - }, - "static": true - } - ], - "name": "SomeTypeJsii976" - }, - "jsii-calc.StableClass": { - "assembly": "jsii-calc", - "docs": { - "stability": "stable" - }, - "fqn": "jsii-calc.StableClass", - "initializer": { - "docs": { - "stability": "stable" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 59 - }, - "parameters": [ - { - "name": "readonlyString", - "type": { - "primitive": "string" - } - }, - { - "name": "mutableNumber", - "optional": true, - "type": { - "primitive": "number" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 53 - }, - "methods": [ - { - "docs": { - "stability": "stable" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 64 - }, - "name": "method" - } - ], - "name": "StableClass", - "properties": [ - { - "docs": { - "stability": "stable" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 55 - }, - "name": "readonlyProperty", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "stable" - }, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 57 - }, - "name": "mutableProperty", - "optional": true, - "type": { - "primitive": "number" - } - } - ] - }, - "jsii-calc.StableEnum": { - "assembly": "jsii-calc", - "docs": { - "stability": "stable" - }, - "fqn": "jsii-calc.StableEnum", - "kind": "enum", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 69 - }, - "members": [ - { - "docs": { - "stability": "stable" - }, - "name": "OPTION_A" - }, - { - "docs": { - "stability": "stable" - }, - "name": "OPTION_B" - } - ], - "name": "StableEnum" - }, - "jsii-calc.StableStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "stable" - }, - "fqn": "jsii-calc.StableStruct", - "kind": "interface", - "locationInModule": { - "filename": "lib/stability.ts", - "line": 41 - }, - "name": "StableStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "stable" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/stability.ts", - "line": 43 - }, - "name": "readonlyProperty", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.StaticContext": { - "assembly": "jsii-calc", - "docs": { - "remarks": "https://github.com/awslabs/aws-cdk/issues/2304", - "stability": "experimental", - "summary": "This is used to validate the ability to use `this` from within a static context." - }, - "fqn": "jsii-calc.StaticContext", - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1892 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1895 - }, - "name": "canAccessStaticContext", - "returns": { - "type": { - "primitive": "boolean" - } - }, - "static": true - } - ], - "name": "StaticContext", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1903 - }, - "name": "staticVariable", - "static": true, - "type": { - "primitive": "boolean" - } - } - ] - }, - "jsii-calc.Statics": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.Statics", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 690 - }, - "parameters": [ - { - "name": "value", - "type": { - "primitive": "string" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 689 - }, - "methods": [ - { - "docs": { - "stability": "experimental", - "summary": "Jsdocs for static method." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 696 - }, - "name": "staticMethod", - "parameters": [ - { - "docs": { - "summary": "The name of the person to say hello to." - }, - "name": "name", - "type": { - "primitive": "string" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 700 - }, - "name": "justMethod", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "Statics", - "properties": [ - { - "const": true, - "docs": { - "stability": "experimental", - "summary": "Constants may also use all-caps." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 712 - }, - "name": "BAR", - "static": true, - "type": { - "primitive": "number" - } - }, - { - "const": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 741 - }, - "name": "ConstObj", - "static": true, - "type": { - "fqn": "jsii-calc.DoubleTrouble" - } - }, - { - "const": true, - "docs": { - "stability": "experimental", - "summary": "Jsdocs for static property." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 707 - }, - "name": "Foo", - "static": true, - "type": { - "primitive": "string" - } - }, - { - "const": true, - "docs": { - "stability": "experimental", - "summary": "Constants can also use camelCase." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 717 - }, - "name": "zooBar", - "static": true, - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "map" - } - } - }, - { - "docs": { - "remarks": "Jsdocs for static setter.", - "stability": "experimental", - "summary": "Jsdocs for static getter." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 726 - }, - "name": "instance", - "static": true, - "type": { - "fqn": "jsii-calc.Statics" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 740 - }, - "name": "nonConstStatic", - "static": true, - "type": { - "primitive": "number" - } - }, - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 690 - }, - "name": "value", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.StringEnum": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.StringEnum", - "kind": "enum", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 39 - }, - "members": [ - { - "docs": { - "stability": "experimental" - }, - "name": "A" - }, - { - "docs": { - "stability": "experimental" - }, - "name": "B" - }, - { - "docs": { - "stability": "experimental" - }, - "name": "C" - } - ], - "name": "StringEnum" - }, - "jsii-calc.StripInternal": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.StripInternal", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1677 - }, - "name": "StripInternal", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1678 - }, - "name": "youSeeMe", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.StructA": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental", - "summary": "We can serialize and deserialize structs without silently ignoring optional fields." - }, - "fqn": "jsii-calc.StructA", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2240 - }, - "name": "StructA", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2241 - }, - "name": "requiredString", - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2243 - }, - "name": "optionalNumber", - "optional": true, - "type": { - "primitive": "number" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2242 - }, - "name": "optionalString", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.StructB": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental", - "summary": "This intentionally overlaps with StructA (where only requiredString is provided) to test htat the kernel properly disambiguates those." - }, - "fqn": "jsii-calc.StructB", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2249 - }, - "name": "StructB", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2250 - }, - "name": "requiredString", - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2251 - }, - "name": "optionalBoolean", - "optional": true, - "type": { - "primitive": "boolean" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2252 - }, - "name": "optionalStructA", - "optional": true, - "type": { - "fqn": "jsii-calc.StructA" - } - } - ] - }, - "jsii-calc.StructParameterType": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "remarks": "See: https://github.com/aws/aws-cdk/issues/4302", - "stability": "experimental", - "summary": "Verifies that, in languages that do keyword lifting (e.g: Python), having a struct member with the same name as a positional parameter results in the correct code being emitted." - }, - "fqn": "jsii-calc.StructParameterType", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2678 - }, - "name": "StructParameterType", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2679 - }, - "name": "scope", - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2680 - }, - "name": "props", - "optional": true, - "type": { - "primitive": "boolean" - } - } - ] - }, - "jsii-calc.StructPassing": { - "assembly": "jsii-calc", - "docs": { - "stability": "external", - "summary": "Just because we can." - }, - "fqn": "jsii-calc.StructPassing", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2072 - }, - "methods": [ - { - "docs": { - "stability": "external" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2084 - }, - "name": "howManyVarArgsDidIPass", - "parameters": [ - { - "name": "_positional", - "type": { - "primitive": "number" - } - }, - { - "name": "inputs", - "type": { - "fqn": "jsii-calc.TopLevelStruct" - }, - "variadic": true - } - ], - "returns": { - "type": { - "primitive": "number" - } - }, - "static": true, - "variadic": true - }, - { - "docs": { - "stability": "external" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2073 - }, - "name": "roundTrip", - "parameters": [ - { - "name": "_positional", - "type": { - "primitive": "number" - } - }, - { - "name": "input", - "type": { - "fqn": "jsii-calc.TopLevelStruct" - } - } - ], - "returns": { - "type": { - "fqn": "jsii-calc.TopLevelStruct" - } - }, - "static": true - } - ], - "name": "StructPassing" - }, - "jsii-calc.StructUnionConsumer": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.StructUnionConsumer", - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2254 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2255 - }, - "name": "isStructA", - "parameters": [ - { - "name": "struct", - "type": { - "union": { - "types": [ - { - "fqn": "jsii-calc.StructA" - }, - { - "fqn": "jsii-calc.StructB" - } - ] - } - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - }, - "static": true - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2276 - }, - "name": "isStructB", - "parameters": [ - { - "name": "struct", - "type": { - "union": { - "types": [ - { - "fqn": "jsii-calc.StructA" - }, - { - "fqn": "jsii-calc.StructB" - } - ] - } - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - }, - "static": true - } - ], - "name": "StructUnionConsumer" - }, - "jsii-calc.StructWithJavaReservedWords": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.StructWithJavaReservedWords", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2046 - }, - "name": "StructWithJavaReservedWords", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2047 - }, - "name": "default", - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2048 - }, - "name": "assert", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2051 - }, - "name": "result", - "optional": true, - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2052 - }, - "name": "that", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.Sum": { - "assembly": "jsii-calc", - "base": "jsii-calc.composition.CompositeOperation", - "docs": { - "stability": "experimental", - "summary": "An operation that sums multiple values." - }, - "fqn": "jsii-calc.Sum", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 205 - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 197 - }, - "name": "Sum", - "properties": [ - { - "docs": { - "remarks": "Must be implemented by derived classes.", - "stability": "experimental", - "summary": "The expression that this operation consists of." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 209 - }, - "name": "expression", - "overrides": "jsii-calc.composition.CompositeOperation", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - }, - { - "docs": { - "stability": "experimental", - "summary": "The parts to sum." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 201 - }, - "name": "parts", - "type": { - "collection": { - "elementtype": { - "fqn": "@scope/jsii-calc-lib.Value" - }, - "kind": "array" - } - } - } - ] - }, - "jsii-calc.SupportsNiceJavaBuilder": { - "assembly": "jsii-calc", - "base": "jsii-calc.SupportsNiceJavaBuilderWithRequiredProps", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.SupportsNiceJavaBuilder", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2181 - }, - "parameters": [ - { - "docs": { - "summary": "some identifier." - }, - "name": "id", - "type": { - "primitive": "number" - } - }, - { - "docs": { - "summary": "the default value of `bar`." - }, - "name": "defaultBar", - "optional": true, - "type": { - "primitive": "number" - } - }, - { - "docs": { - "summary": "some props once can provide." - }, - "name": "props", - "optional": true, - "type": { - "fqn": "jsii-calc.SupportsNiceJavaBuilderProps" - } - }, - { - "docs": { - "summary": "a variadic continuation." - }, - "name": "rest", - "type": { - "primitive": "string" - }, - "variadic": true - } - ], - "variadic": true - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2171 - }, - "name": "SupportsNiceJavaBuilder", - "properties": [ - { - "docs": { - "stability": "experimental", - "summary": "some identifier." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2182 - }, - "name": "id", - "overrides": "jsii-calc.SupportsNiceJavaBuilderWithRequiredProps", - "type": { - "primitive": "number" - } - }, - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2172 - }, - "name": "rest", - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - } - ] - }, - "jsii-calc.SupportsNiceJavaBuilderProps": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.SupportsNiceJavaBuilderProps", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2191 - }, - "name": "SupportsNiceJavaBuilderProps", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "Some number, like 42." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2201 - }, - "name": "bar", - "type": { - "primitive": "number" - } - }, - { - "abstract": true, - "docs": { - "remarks": "But here we are, doing it like we didn't care.", - "stability": "experimental", - "summary": "An `id` field here is terrible API design, because the constructor of `SupportsNiceJavaBuilder` already has a parameter named `id`." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2196 - }, - "name": "id", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.SupportsNiceJavaBuilderWithRequiredProps": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "We can generate fancy builders in Java for classes which take a mix of positional & struct parameters." - }, - "fqn": "jsii-calc.SupportsNiceJavaBuilderWithRequiredProps", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2163 - }, - "parameters": [ - { - "docs": { - "summary": "some identifier of your choice." - }, - "name": "id", - "type": { - "primitive": "number" - } - }, - { - "docs": { - "summary": "some properties." - }, - "name": "props", - "type": { - "fqn": "jsii-calc.SupportsNiceJavaBuilderProps" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2155 - }, - "name": "SupportsNiceJavaBuilderWithRequiredProps", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2157 - }, - "name": "bar", - "type": { - "primitive": "number" - } - }, - { - "docs": { - "stability": "experimental", - "summary": "some identifier of your choice." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2164 - }, - "name": "id", - "type": { - "primitive": "number" - } - }, - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2156 - }, - "name": "propId", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.SyncVirtualMethods": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.SyncVirtualMethods", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 376 - }, - "methods": [ - { - "async": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 389 - }, - "name": "callerIsAsync", - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 377 - }, - "name": "callerIsMethod", - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 429 - }, - "name": "modifyOtherProperty", - "parameters": [ - { - "name": "value", - "type": { - "primitive": "string" - } - } - ] - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 401 - }, - "name": "modifyValueOfTheProperty", - "parameters": [ - { - "name": "value", - "type": { - "primitive": "string" - } - } - ] - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 442 - }, - "name": "readA", - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 433 - }, - "name": "retrieveOtherProperty", - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 413 - }, - "name": "retrieveReadOnlyProperty", - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 405 - }, - "name": "retrieveValueOfTheProperty", - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 393 - }, - "name": "virtualMethod", - "parameters": [ - { - "name": "n", - "type": { - "primitive": "number" - } - } - ], - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 446 - }, - "name": "writeA", - "parameters": [ - { - "name": "value", - "type": { - "primitive": "number" - } - } - ] - } - ], - "name": "SyncVirtualMethods", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 411 - }, - "name": "readonlyProperty", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 440 - }, - "name": "a", - "type": { - "primitive": "number" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 381 - }, - "name": "callerIsProperty", - "type": { - "primitive": "number" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 419 - }, - "name": "otherProperty", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 399 - }, - "name": "theProperty", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 427 - }, - "name": "valueOfOtherProperty", - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.Thrower": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.Thrower", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 651 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 652 - }, - "name": "throwError" - } - ], - "name": "Thrower" - }, - "jsii-calc.TopLevelStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.TopLevelStruct", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1997 - }, - "name": "TopLevelStruct", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "This is a required field." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2001 - }, - "name": "required", - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "A union to really stress test our serialization." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2011 - }, - "name": "secondLevel", - "type": { - "union": { - "types": [ - { - "primitive": "number" - }, - { - "fqn": "jsii-calc.SecondLevelStruct" - } - ] - } - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental", - "summary": "You don't have to pass this." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2006 - }, - "name": "optional", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.UmaskCheck": { - "assembly": "jsii-calc", - "docs": { - "see": "https://github.com/aws/jsii/issues/1765", - "stability": "experimental", - "summary": "Checks the current file permissions are cool (no funky UMASK down-scoping happened)." - }, - "fqn": "jsii-calc.UmaskCheck", - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2752 - }, - "methods": [ - { - "docs": { - "stability": "experimental", - "summary": "This should return 0o644 (-rw-r--r--)." - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 2756 - }, - "name": "mode", - "returns": { - "type": { - "primitive": "number" - } - }, - "static": true - } - ], - "name": "UmaskCheck" - }, - "jsii-calc.UnaryOperation": { - "abstract": true, - "assembly": "jsii-calc", - "base": "@scope/jsii-calc-lib.Operation", - "docs": { - "stability": "experimental", - "summary": "An operation on a single operand." - }, - "fqn": "jsii-calc.UnaryOperation", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 101 - }, - "parameters": [ - { - "name": "operand", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 100 - }, - "name": "UnaryOperation", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 101 - }, - "name": "operand", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - } - ] - }, - "jsii-calc.UnionProperties": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.UnionProperties", - "kind": "interface", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1112 - }, - "name": "UnionProperties", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1114 - }, - "name": "bar", - "type": { - "union": { - "types": [ - { - "primitive": "string" - }, - { - "primitive": "number" - }, - { - "fqn": "jsii-calc.AllTypes" - } - ] - } - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1113 - }, - "name": "foo", - "optional": true, - "type": { - "union": { - "types": [ - { - "primitive": "string" - }, - { - "primitive": "number" - } - ] - } - } - } - ] - }, - "jsii-calc.UpcasingReflectable": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Ensures submodule-imported types from dependencies can be used correctly." - }, - "fqn": "jsii-calc.UpcasingReflectable", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/submodules.ts", - "line": 9 - }, - "parameters": [ - { - "name": "delegate", - "type": { - "collection": { - "elementtype": { - "primitive": "any" - }, - "kind": "map" - } - } - } - ] - }, - "interfaces": [ - "@scope/jsii-calc-lib.submodule.IReflectable" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/submodules.ts", - "line": 6 - }, - "name": "UpcasingReflectable", - "properties": [ - { - "const": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodules.ts", - "line": 7 - }, - "name": "reflector", - "static": true, - "type": { - "fqn": "@scope/jsii-calc-lib.submodule.Reflector" - } - }, - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodules.ts", - "line": 11 - }, - "name": "entries", - "overrides": "@scope/jsii-calc-lib.submodule.IReflectable", - "type": { - "collection": { - "elementtype": { - "fqn": "@scope/jsii-calc-lib.submodule.ReflectableEntry" - }, - "kind": "array" - } - } - } - ] - }, - "jsii-calc.UseBundledDependency": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.UseBundledDependency", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1117 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1118 - }, - "name": "value", - "returns": { - "type": { - "primitive": "any" - } - } - } - ], - "name": "UseBundledDependency" - }, - "jsii-calc.UseCalcBase": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Depend on a type from jsii-calc-base as a test for awslabs/jsii#128." - }, - "fqn": "jsii-calc.UseCalcBase", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1168 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1169 - }, - "name": "hello", - "returns": { - "type": { - "fqn": "@scope/jsii-calc-base.Base" - } - } - } - ], - "name": "UseCalcBase" - }, - "jsii-calc.UsesInterfaceWithProperties": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.UsesInterfaceWithProperties", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 597 - }, - "parameters": [ - { - "name": "obj", - "type": { - "fqn": "jsii-calc.IInterfaceWithProperties" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 596 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 599 - }, - "name": "justRead", - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 608 - }, - "name": "readStringAndNumber", - "parameters": [ - { - "name": "ext", - "type": { - "fqn": "jsii-calc.IInterfaceWithPropertiesExtension" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 603 - }, - "name": "writeAndRead", - "parameters": [ - { - "name": "value", - "type": { - "primitive": "string" - } - } - ], - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "UsesInterfaceWithProperties", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 597 - }, - "name": "obj", - "type": { - "fqn": "jsii-calc.IInterfaceWithProperties" - } - } - ] - }, - "jsii-calc.VariadicInvoker": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.VariadicInvoker", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 681 - }, - "parameters": [ - { - "name": "method", - "type": { - "fqn": "jsii-calc.VariadicMethod" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 680 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 683 - }, - "name": "asArray", - "parameters": [ - { - "name": "values", - "type": { - "primitive": "number" - }, - "variadic": true - } - ], - "returns": { - "type": { - "collection": { - "elementtype": { - "primitive": "number" - }, - "kind": "array" - } - } - }, - "variadic": true - } - ], - "name": "VariadicInvoker" - }, - "jsii-calc.VariadicMethod": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.VariadicMethod", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 667 - }, - "parameters": [ - { - "docs": { - "summary": "a prefix that will be use for all values returned by `#asArray`." - }, - "name": "prefix", - "type": { - "primitive": "number" - }, - "variadic": true - } - ], - "variadic": true - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 661 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 675 - }, - "name": "asArray", - "parameters": [ - { - "docs": { - "summary": "the first element of the array to be returned (after the `prefix` provided at construction time)." - }, - "name": "first", - "type": { - "primitive": "number" - } - }, - { - "docs": { - "summary": "other elements to be included in the array." - }, - "name": "others", - "type": { - "primitive": "number" - }, - "variadic": true - } - ], - "returns": { - "type": { - "collection": { - "elementtype": { - "primitive": "number" - }, - "kind": "array" - } - } - }, - "variadic": true - } - ], - "name": "VariadicMethod" - }, - "jsii-calc.VirtualMethodPlayground": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.VirtualMethodPlayground", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 451 - }, - "methods": [ - { - "async": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 476 - }, - "name": "overrideMeAsync", - "parameters": [ - { - "name": "index", - "type": { - "primitive": "number" - } - } - ], - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 480 - }, - "name": "overrideMeSync", - "parameters": [ - { - "name": "index", - "type": { - "primitive": "number" - } - } - ], - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "async": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 458 - }, - "name": "parallelSumAsync", - "parameters": [ - { - "name": "count", - "type": { - "primitive": "number" - } - } - ], - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "async": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 452 - }, - "name": "serialSumAsync", - "parameters": [ - { - "name": "count", - "type": { - "primitive": "number" - } - } - ], - "returns": { - "type": { - "primitive": "number" - } - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 468 - }, - "name": "sumSync", - "parameters": [ - { - "name": "count", - "type": { - "primitive": "number" - } - } - ], - "returns": { - "type": { - "primitive": "number" - } - } - } - ], - "name": "VirtualMethodPlayground" - }, - "jsii-calc.VoidCallback": { - "abstract": true, - "assembly": "jsii-calc", - "docs": { - "remarks": "- Implement `overrideMe` (method does not have to do anything).\n- Invoke `callMe`\n- Verify that `methodWasCalled` is `true`.", - "stability": "experimental", - "summary": "This test is used to validate the runtimes can return correctly from a void callback." - }, - "fqn": "jsii-calc.VoidCallback", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1921 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1926 - }, - "name": "callMe" - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1930 - }, - "name": "overrideMe", - "protected": true - } - ], - "name": "VoidCallback", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1923 - }, - "name": "methodWasCalled", - "type": { - "primitive": "boolean" - } - } - ] - }, - "jsii-calc.WithPrivatePropertyInConstructor": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Verifies that private property declarations in constructor arguments are hidden." - }, - "fqn": "jsii-calc.WithPrivatePropertyInConstructor", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1937 - }, - "parameters": [ - { - "name": "privateField", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "kind": "class", - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1936 - }, - "name": "WithPrivatePropertyInConstructor", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/compliance.ts", - "line": 1939 - }, - "name": "success", - "type": { - "primitive": "boolean" - } - } - ] - }, - "jsii-calc.composition.CompositeOperation": { - "abstract": true, - "assembly": "jsii-calc", - "base": "@scope/jsii-calc-lib.Operation", - "docs": { - "stability": "experimental", - "summary": "Abstract operation composed from an expression of other operations." - }, - "fqn": "jsii-calc.composition.CompositeOperation", - "initializer": {}, - "kind": "class", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 138 - }, - "methods": [ - { - "docs": { - "stability": "experimental", - "summary": "String representation of the value." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 164 - }, - "name": "toString", - "overrides": "@scope/jsii-calc-lib.Operation", - "returns": { - "type": { - "primitive": "string" - } - } - } - ], - "name": "CompositeOperation", - "namespace": "composition", - "properties": [ - { - "abstract": true, - "docs": { - "remarks": "Must be implemented by derived classes.", - "stability": "experimental", - "summary": "The expression that this operation consists of." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 162 - }, - "name": "expression", - "type": { - "fqn": "@scope/jsii-calc-lib.Value" - } - }, - { - "docs": { - "stability": "experimental", - "summary": "The value." - }, - "immutable": true, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 154 - }, - "name": "value", - "overrides": "@scope/jsii-calc-lib.Value", - "type": { - "primitive": "number" - } - }, - { - "docs": { - "stability": "experimental", - "summary": "A set of postfixes to include in a decorated .toString()." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 152 - }, - "name": "decorationPostfixes", - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "A set of prefixes to include in a decorated .toString()." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 147 - }, - "name": "decorationPrefixes", - "type": { - "collection": { - "elementtype": { - "primitive": "string" - }, - "kind": "array" - } - } - }, - { - "docs": { - "stability": "experimental", - "summary": "The .toString() style." - }, - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 142 - }, - "name": "stringStyle", - "type": { - "fqn": "jsii-calc.composition.CompositeOperation.CompositionStringStyle" - } - } - ] - }, - "jsii-calc.composition.CompositeOperation.CompositionStringStyle": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Style of .toString() output for CompositeOperation." - }, - "fqn": "jsii-calc.composition.CompositeOperation.CompositionStringStyle", - "kind": "enum", - "locationInModule": { - "filename": "lib/calculator.ts", - "line": 184 - }, - "members": [ - { - "docs": { - "stability": "experimental", - "summary": "Normal string expression." - }, - "name": "NORMAL" - }, - { - "docs": { - "stability": "experimental", - "summary": "Decorated string expression." - }, - "name": "DECORATED" - } - ], - "name": "CompositionStringStyle", - "namespace": "composition.CompositeOperation" - }, - "jsii-calc.submodule.MyClass": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.submodule.MyClass", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/submodule/my-class.ts", - "line": 11 - }, - "parameters": [ - { - "name": "props", - "type": { - "fqn": "jsii-calc.submodule.child.SomeStruct" - } - } - ] - }, - "interfaces": [ - "jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/submodule/my-class.ts", - "line": 5 - }, - "name": "MyClass", - "namespace": "submodule", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/my-class.ts", - "line": 8 - }, - "name": "awesomeness", - "type": { - "fqn": "jsii-calc.submodule.child.Awesomeness" - } - }, - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/my-class.ts", - "line": 6 - }, - "name": "definedAt", - "overrides": "jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced", - "type": { - "primitive": "string" - } - }, - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/my-class.ts", - "line": 7 - }, - "name": "goodness", - "type": { - "fqn": "jsii-calc.submodule.child.Goodness" - } - }, - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/my-class.ts", - "line": 11 - }, - "name": "props", - "type": { - "fqn": "jsii-calc.submodule.child.SomeStruct" - } - }, - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/submodule/my-class.ts", - "line": 9 - }, - "name": "allTypes", - "optional": true, - "type": { - "fqn": "jsii-calc.AllTypes" - } - } - ] - }, - "jsii-calc.submodule.back_references.MyClassReference": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.submodule.back_references.MyClassReference", - "kind": "interface", - "locationInModule": { - "filename": "lib/submodule/refers-to-parent/index.ts", - "line": 3 - }, - "name": "MyClassReference", - "namespace": "submodule.back_references", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/refers-to-parent/index.ts", - "line": 4 - }, - "name": "reference", - "type": { - "fqn": "jsii-calc.submodule.MyClass" - } - } - ] - }, - "jsii-calc.submodule.child.Awesomeness": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.submodule.child.Awesomeness", - "kind": "enum", - "locationInModule": { - "filename": "lib/submodule/child/index.ts", - "line": 15 - }, - "members": [ - { - "docs": { - "stability": "experimental", - "summary": "It was awesome!" - }, - "name": "AWESOME" - } - ], - "name": "Awesomeness", - "namespace": "submodule.child" - }, - "jsii-calc.submodule.child.Goodness": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.submodule.child.Goodness", - "kind": "enum", - "locationInModule": { - "filename": "lib/submodule/child/index.ts", - "line": 5 - }, - "members": [ - { - "docs": { - "stability": "experimental", - "summary": "It's pretty good." - }, - "name": "PRETTY_GOOD" - }, - { - "docs": { - "stability": "experimental", - "summary": "It's really good." - }, - "name": "REALLY_GOOD" - }, - { - "docs": { - "stability": "experimental", - "summary": "It's amazingly good." - }, - "name": "AMAZINGLY_GOOD" - } - ], - "name": "Goodness", - "namespace": "submodule.child" - }, - "jsii-calc.submodule.child.InnerClass": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.submodule.child.InnerClass", - "initializer": { - "docs": { - "stability": "experimental" - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/submodule/child/index.ts", - "line": 37 - }, - "name": "InnerClass", - "namespace": "submodule.child", - "properties": [ - { - "const": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/child/index.ts", - "line": 38 - }, - "name": "staticProp", - "static": true, - "type": { - "fqn": "jsii-calc.submodule.child.SomeStruct" - } - } - ] - }, - "jsii-calc.submodule.child.KwargsProps": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.submodule.child.KwargsProps", - "interfaces": [ - "jsii-calc.submodule.child.SomeStruct" - ], - "kind": "interface", - "locationInModule": { - "filename": "lib/submodule/child/index.ts", - "line": 41 - }, - "name": "KwargsProps", - "namespace": "submodule.child", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/child/index.ts", - "line": 42 - }, - "name": "extra", - "optional": true, - "type": { - "primitive": "string" - } - } - ] - }, - "jsii-calc.submodule.child.OuterClass": { - "assembly": "jsii-calc", - "docs": { - "see": ": https://github.com/aws/jsii/pull/1706", - "stability": "experimental", - "summary": "Checks that classes can self-reference during initialization." - }, - "fqn": "jsii-calc.submodule.child.OuterClass", - "initializer": { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/submodule/child/index.ts", - "line": 27 - } - }, - "kind": "class", - "locationInModule": { - "filename": "lib/submodule/child/index.ts", - "line": 24 - }, - "name": "OuterClass", - "namespace": "submodule.child", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/child/index.ts", - "line": 25 - }, - "name": "innerClass", - "type": { - "fqn": "jsii-calc.submodule.child.InnerClass" - } - } - ] - }, - "jsii-calc.submodule.child.SomeEnum": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.submodule.child.SomeEnum", - "kind": "enum", - "locationInModule": { - "filename": "lib/submodule/child/index.ts", - "line": 31 - }, - "members": [ - { - "docs": { - "stability": "experimental" - }, - "name": "SOME" - } - ], - "name": "SomeEnum", - "namespace": "submodule.child" - }, - "jsii-calc.submodule.child.SomeStruct": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.submodule.child.SomeStruct", - "kind": "interface", - "locationInModule": { - "filename": "lib/submodule/child/index.ts", - "line": 34 - }, - "name": "SomeStruct", - "namespace": "submodule.child", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/child/index.ts", - "line": 35 - }, - "name": "prop", - "type": { - "fqn": "jsii-calc.submodule.child.SomeEnum" - } - } - ] - }, - "jsii-calc.submodule.child.Structure": { - "assembly": "jsii-calc", - "datatype": true, - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.submodule.child.Structure", - "kind": "interface", - "locationInModule": { - "filename": "lib/submodule/child/index.ts", - "line": 1 - }, - "name": "Structure", - "namespace": "submodule.child", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/child/index.ts", - "line": 2 - }, - "name": "bool", - "type": { - "primitive": "boolean" - } - } - ] - }, - "jsii-calc.submodule.isolated.Kwargs": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental", - "summary": "Ensures imports are correctly registered for kwargs lifted properties from super-structs." - }, - "fqn": "jsii-calc.submodule.isolated.Kwargs", - "kind": "class", - "locationInModule": { - "filename": "lib/submodule/isolated.ts", - "line": 7 - }, - "methods": [ - { - "docs": { - "stability": "experimental" - }, - "locationInModule": { - "filename": "lib/submodule/isolated.ts", - "line": 8 - }, - "name": "method", - "parameters": [ - { - "name": "props", - "optional": true, - "type": { - "fqn": "jsii-calc.submodule.child.KwargsProps" - } - } - ], - "returns": { - "type": { - "primitive": "boolean" - } - }, - "static": true - } - ], - "name": "Kwargs", - "namespace": "submodule.isolated" - }, - "jsii-calc.submodule.nested_submodule.Namespaced": { - "abstract": true, - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.submodule.nested_submodule.Namespaced", - "interfaces": [ - "jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced" - ], - "kind": "class", - "locationInModule": { - "filename": "lib/submodule/nested_submodule.ts", - "line": 12 - }, - "name": "Namespaced", - "namespace": "submodule.nested_submodule", - "properties": [ - { - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/nested_submodule.ts", - "line": 13 - }, - "name": "definedAt", - "overrides": "jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced", - "type": { - "primitive": "string" - } - }, - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/nested_submodule.ts", - "line": 14 - }, - "name": "goodness", - "type": { - "fqn": "jsii-calc.submodule.child.Goodness" - } - } - ] - }, - "jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced": { - "assembly": "jsii-calc", - "docs": { - "stability": "experimental" - }, - "fqn": "jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced", - "kind": "interface", - "locationInModule": { - "filename": "lib/submodule/nested_submodule.ts", - "line": 7 - }, - "name": "INamespaced", - "namespace": "submodule.nested_submodule.deeplyNested", - "properties": [ - { - "abstract": true, - "docs": { - "stability": "experimental" - }, - "immutable": true, - "locationInModule": { - "filename": "lib/submodule/nested_submodule.ts", - "line": 8 - }, - "name": "definedAt", - "type": { - "primitive": "string" - } - } - ] - } - }, - "version": "0.0.0", - "fingerprint": "AksOoFurRMyuF7gSjHXHbIRIIjq0e0R0CvpHycvyI3U=" -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon.JSII.Tests.CalculatorPackageId.csproj b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon.JSII.Tests.CalculatorPackageId.csproj deleted file mode 100644 index 525025ccb2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon.JSII.Tests.CalculatorPackageId.csproj +++ /dev/null @@ -1,39 +0,0 @@ - - - - A simple calcuator built on JSII. (Stability: Experimental) - https://sdk-for-net.amazonwebservices.com/images/AWSLogo128x128.png - Amazon.JSII.Tests.CalculatorPackageId - Apache-2.0 - 0.0.0 - - Amazon Web Services - Amazon Web Services - aws;jsii;test - en-US - https://github.com/aws/jsii - https://github.com/aws/jsii.git - git - - true - true - true - true - enable - snupkg - netcoreapp3.1 - - - - - - - - - - - - 0612,0618 - - - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClass.cs deleted file mode 100644 index c5f430d3f6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClass.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AbstractClass), fullyQualifiedName: "jsii-calc.AbstractClass")] - public abstract class AbstractClass : Amazon.JSII.Tests.CalculatorNamespace.AbstractClassBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceImplementedByAbstractClass - { - /// - /// Stability: Experimental - /// - protected AbstractClass(): base(new DeputyProps(new object[]{})) - { - } - - ///

Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AbstractClass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AbstractClass(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "abstractMethod", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"name\",\"type\":{\"primitive\":\"string\"}}]")] - public abstract string AbstractMethod(string name); - - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "nonAbstractMethod", returnsJson: "{\"type\":{\"primitive\":\"number\"}}")] - public virtual double NonAbstractMethod() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "propFromInterface", typeJson: "{\"primitive\":\"string\"}")] - public virtual string PropFromInterface - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassBase.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassBase.cs deleted file mode 100644 index c018bf6110..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassBase.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AbstractClassBase), fullyQualifiedName: "jsii-calc.AbstractClassBase")] - public abstract class AbstractClassBase : DeputyBase - { - /// - /// Stability: Experimental - /// - protected AbstractClassBase(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AbstractClassBase(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AbstractClassBase(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "abstractProperty", typeJson: "{\"primitive\":\"string\"}")] - public abstract string AbstractProperty - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassBaseProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassBaseProxy.cs deleted file mode 100644 index 12666dca56..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassBaseProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AbstractClassBase), fullyQualifiedName: "jsii-calc.AbstractClassBase")] - internal sealed class AbstractClassBaseProxy : Amazon.JSII.Tests.CalculatorNamespace.AbstractClassBase - { - private AbstractClassBaseProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "abstractProperty", typeJson: "{\"primitive\":\"string\"}")] - public override string AbstractProperty - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassProxy.cs deleted file mode 100644 index 16218d84ec..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassProxy.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AbstractClass), fullyQualifiedName: "jsii-calc.AbstractClass")] - internal sealed class AbstractClassProxy : Amazon.JSII.Tests.CalculatorNamespace.AbstractClass - { - private AbstractClassProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "abstractProperty", typeJson: "{\"primitive\":\"string\"}")] - public override string AbstractProperty - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "abstractMethod", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"name\",\"type\":{\"primitive\":\"string\"}}]")] - public override string AbstractMethod(string name) - { - return InvokeInstanceMethod(new System.Type[]{typeof(string)}, new object[]{name}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassReturner.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassReturner.cs deleted file mode 100644 index 26f008a08c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractClassReturner.cs +++ /dev/null @@ -1,61 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AbstractClassReturner), fullyQualifiedName: "jsii-calc.AbstractClassReturner")] - public class AbstractClassReturner : DeputyBase - { - /// - /// Stability: Experimental - /// - public AbstractClassReturner(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AbstractClassReturner(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AbstractClassReturner(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "giveMeAbstract", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.AbstractClass\"}}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.AbstractClass GiveMeAbstract() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "giveMeInterface", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.IInterfaceImplementedByAbstractClass\"}}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.IInterfaceImplementedByAbstractClass GiveMeInterface() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "returnAbstractFromProperty", typeJson: "{\"fqn\":\"jsii-calc.AbstractClassBase\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.AbstractClassBase ReturnAbstractFromProperty - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractSuite.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractSuite.cs deleted file mode 100644 index 905378a031..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractSuite.cs +++ /dev/null @@ -1,63 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Ensures abstract members implementations correctly register overrides in various languages. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AbstractSuite), fullyQualifiedName: "jsii-calc.AbstractSuite")] - public abstract class AbstractSuite : DeputyBase - { - /// - /// Stability: Experimental - /// - protected AbstractSuite(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AbstractSuite(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AbstractSuite(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "someMethod", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"str\",\"type\":{\"primitive\":\"string\"}}]")] - protected abstract string SomeMethod(string str); - - - /// Sets `seed` to `this.property`, then calls `someMethod` with `this.property` and returns the result. - /// a `string`. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "workItAll", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"docs\":{\"summary\":\"a `string`.\"},\"name\":\"seed\",\"type\":{\"primitive\":\"string\"}}]")] - public virtual string WorkItAll(string seed) - { - return InvokeInstanceMethod(new System.Type[]{typeof(string)}, new object[]{seed}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "property", typeJson: "{\"primitive\":\"string\"}")] - protected abstract string Property - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractSuiteProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractSuiteProxy.cs deleted file mode 100644 index 40d7a376e7..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AbstractSuiteProxy.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Ensures abstract members implementations correctly register overrides in various languages. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AbstractSuite), fullyQualifiedName: "jsii-calc.AbstractSuite")] - internal sealed class AbstractSuiteProxy : Amazon.JSII.Tests.CalculatorNamespace.AbstractSuite - { - private AbstractSuiteProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "property", typeJson: "{\"primitive\":\"string\"}")] - protected override string Property - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "someMethod", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"str\",\"type\":{\"primitive\":\"string\"}}]")] - protected override string SomeMethod(string str) - { - return InvokeInstanceMethod(new System.Type[]{typeof(string)}, new object[]{str}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Add.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Add.cs deleted file mode 100644 index 21afd52304..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Add.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// The "+" binary operation. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Add), fullyQualifiedName: "jsii-calc.Add", parametersJson: "[{\"docs\":{\"summary\":\"Left-hand side operand.\"},\"name\":\"lhs\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"}},{\"docs\":{\"summary\":\"Right-hand side operand.\"},\"name\":\"rhs\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"}}]")] - public class Add : Amazon.JSII.Tests.CalculatorNamespace.BinaryOperation - { - /// Creates a BinaryOperation. - /// Left-hand side operand. - /// Right-hand side operand. - /// - /// Stability: Experimental - /// - public Add(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ lhs, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ rhs): base(new DeputyProps(new object[]{lhs, rhs})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Add(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Add(DeputyProps props): base(props) - { - } - - /// String representation of the value. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "toString", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - public override string ToString() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// The value. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"number\"}")] - public override double Value - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AllTypes.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AllTypes.cs deleted file mode 100644 index ca35fc950d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AllTypes.cs +++ /dev/null @@ -1,255 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// This class includes property for all types supported by jsii. - /// - /// The setters will validate - /// that the value set is of the expected type and throw otherwise. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AllTypes), fullyQualifiedName: "jsii-calc.AllTypes")] - public class AllTypes : DeputyBase - { - /// - /// Stability: Experimental - /// - public AllTypes(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AllTypes(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AllTypes(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyIn", parametersJson: "[{\"name\":\"inp\",\"type\":{\"primitive\":\"any\"}}]")] - public virtual void AnyIn(object inp) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(object)}, new object[]{inp}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyOut", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public virtual object AnyOut() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "enumMethod", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.StringEnum\"}}", parametersJson: "[{\"name\":\"value\",\"type\":{\"fqn\":\"jsii-calc.StringEnum\"}}]")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.StringEnum EnumMethod(Amazon.JSII.Tests.CalculatorNamespace.StringEnum @value) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.StringEnum)}, new object[]{@value}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "enumPropertyValue", typeJson: "{\"primitive\":\"number\"}")] - public virtual double EnumPropertyValue - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "anyArrayProperty", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"array\"}}")] - public virtual object[] AnyArrayProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "anyMapProperty", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"map\"}}")] - public virtual System.Collections.Generic.IDictionary AnyMapProperty - { - get => GetInstanceProperty>(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "anyProperty", typeJson: "{\"primitive\":\"any\"}")] - public virtual object AnyProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "arrayProperty", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}")] - public virtual string[] ArrayProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "booleanProperty", typeJson: "{\"primitive\":\"boolean\"}")] - public virtual bool BooleanProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "dateProperty", typeJson: "{\"primitive\":\"date\"}")] - public virtual System.DateTime DateProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "enumProperty", typeJson: "{\"fqn\":\"jsii-calc.AllTypesEnum\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.AllTypesEnum EnumProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "jsonProperty", typeJson: "{\"primitive\":\"json\"}")] - public virtual Newtonsoft.Json.Linq.JObject JsonProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "mapProperty", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@scope/jsii-calc-lib.Number\"},\"kind\":\"map\"}}")] - public virtual System.Collections.Generic.IDictionary MapProperty - { - get => GetInstanceProperty>(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "numberProperty", typeJson: "{\"primitive\":\"number\"}")] - public virtual double NumberProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "stringProperty", typeJson: "{\"primitive\":\"string\"}")] - public virtual string StringProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "unionArrayProperty", typeJson: "{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"@scope/jsii-calc-lib.Value\"}]}},\"kind\":\"array\"}}")] - public virtual object[] UnionArrayProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "unionMapProperty", typeJson: "{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"primitive\":\"number\"},{\"fqn\":\"@scope/jsii-calc-lib.Number\"}]}},\"kind\":\"map\"}}")] - public virtual System.Collections.Generic.IDictionary UnionMapProperty - { - get => GetInstanceProperty>(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "unionProperty", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"primitive\":\"number\"},{\"fqn\":\"jsii-calc.Multiply\"},{\"fqn\":\"@scope/jsii-calc-lib.Number\"}]}}")] - public virtual object UnionProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "unknownArrayProperty", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"array\"}}")] - public virtual object[] UnknownArrayProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "unknownMapProperty", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"map\"}}")] - public virtual System.Collections.Generic.IDictionary UnknownMapProperty - { - get => GetInstanceProperty>(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "unknownProperty", typeJson: "{\"primitive\":\"any\"}")] - public virtual object UnknownProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optionalEnumValue", typeJson: "{\"fqn\":\"jsii-calc.StringEnum\"}", isOptional: true)] - public virtual Amazon.JSII.Tests.CalculatorNamespace.StringEnum? OptionalEnumValue - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AllTypesEnum.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AllTypesEnum.cs deleted file mode 100644 index f02269efed..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AllTypesEnum.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - - /// - /// Stability: Experimental - /// - [JsiiEnum(nativeType: typeof(AllTypesEnum), fullyQualifiedName: "jsii-calc.AllTypesEnum")] - public enum AllTypesEnum - { - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "MY_ENUM_VALUE")] - MY_ENUM_VALUE, - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "YOUR_ENUM_VALUE")] - YOUR_ENUM_VALUE, - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "THIS_IS_GREAT")] - THIS_IS_GREAT - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AllowedMethodNames.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AllowedMethodNames.cs deleted file mode 100644 index 248de255a9..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AllowedMethodNames.cs +++ /dev/null @@ -1,72 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AllowedMethodNames), fullyQualifiedName: "jsii-calc.AllowedMethodNames")] - public class AllowedMethodNames : DeputyBase - { - /// - /// Stability: Experimental - /// - public AllowedMethodNames(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AllowedMethodNames(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AllowedMethodNames(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "getBar", parametersJson: "[{\"name\":\"_p1\",\"type\":{\"primitive\":\"string\"}},{\"name\":\"_p2\",\"type\":{\"primitive\":\"number\"}}]")] - public virtual void GetBar(string p1, double p2) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(string), typeof(double)}, new object[]{p1, p2}); - } - - /// getXxx() is not allowed (see negatives), but getXxx(a, ...) is okay. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "getFoo", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"withParam\",\"type\":{\"primitive\":\"string\"}}]")] - public virtual string GetFoo(string withParam) - { - return InvokeInstanceMethod(new System.Type[]{typeof(string)}, new object[]{withParam}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "setBar", parametersJson: "[{\"name\":\"_x\",\"type\":{\"primitive\":\"string\"}},{\"name\":\"_y\",\"type\":{\"primitive\":\"number\"}},{\"name\":\"_z\",\"type\":{\"primitive\":\"boolean\"}}]")] - public virtual void SetBar(string x, double y, bool z) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(string), typeof(double), typeof(bool)}, new object[]{x, y, z}); - } - - /// setFoo(x) is not allowed (see negatives), but setXxx(a, b, ...) is okay. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "setFoo", parametersJson: "[{\"name\":\"_x\",\"type\":{\"primitive\":\"string\"}},{\"name\":\"_y\",\"type\":{\"primitive\":\"number\"}}]")] - public virtual void SetFoo(string x, double y) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(string), typeof(double)}, new object[]{x, y}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AmbiguousParameters.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AmbiguousParameters.cs deleted file mode 100644 index 7d8a8b3dee..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AmbiguousParameters.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AmbiguousParameters), fullyQualifiedName: "jsii-calc.AmbiguousParameters", parametersJson: "[{\"name\":\"scope\",\"type\":{\"fqn\":\"jsii-calc.Bell\"}},{\"name\":\"props\",\"type\":{\"fqn\":\"jsii-calc.StructParameterType\"}}]")] - public class AmbiguousParameters : DeputyBase - { - /// - /// Stability: Experimental - /// - public AmbiguousParameters(Amazon.JSII.Tests.CalculatorNamespace.Bell scope, Amazon.JSII.Tests.CalculatorNamespace.IStructParameterType props): base(new DeputyProps(new object[]{scope, props})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AmbiguousParameters(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AmbiguousParameters(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "props", typeJson: "{\"fqn\":\"jsii-calc.StructParameterType\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.IStructParameterType Props - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "scope", typeJson: "{\"fqn\":\"jsii-calc.Bell\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.Bell Scope - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AnonymousImplementationProvider.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AnonymousImplementationProvider.cs deleted file mode 100644 index e34b931772..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AnonymousImplementationProvider.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AnonymousImplementationProvider), fullyQualifiedName: "jsii-calc.AnonymousImplementationProvider")] - public class AnonymousImplementationProvider : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IAnonymousImplementationProvider - { - /// - /// Stability: Experimental - /// - public AnonymousImplementationProvider(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AnonymousImplementationProvider(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AnonymousImplementationProvider(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "provideAsClass", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.Implementation\"}}", isOverride: true)] - public virtual Amazon.JSII.Tests.CalculatorNamespace.Implementation ProvideAsClass() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "provideAsInterface", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.IAnonymouslyImplementMe\"}}", isOverride: true)] - public virtual Amazon.JSII.Tests.CalculatorNamespace.IAnonymouslyImplementMe ProvideAsInterface() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AsyncVirtualMethods.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AsyncVirtualMethods.cs deleted file mode 100644 index caad1fc9ce..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AsyncVirtualMethods.cs +++ /dev/null @@ -1,94 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AsyncVirtualMethods), fullyQualifiedName: "jsii-calc.AsyncVirtualMethods")] - public class AsyncVirtualMethods : DeputyBase - { - /// - /// Stability: Experimental - /// - public AsyncVirtualMethods(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AsyncVirtualMethods(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AsyncVirtualMethods(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "callMe", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", isAsync: true)] - public virtual double CallMe() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Just calls "overrideMeToo". - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "callMe2", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", isAsync: true)] - public virtual double CallMe2() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// This method calls the "callMe" async method indirectly, which will then invoke a virtual method. - /// - /// This is a "double promise" situation, which - /// means that callbacks are not going to be available immediate, but only - /// after an "immediates" cycle. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "callMeDoublePromise", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", isAsync: true)] - public virtual double CallMeDoublePromise() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "dontOverrideMe", returnsJson: "{\"type\":{\"primitive\":\"number\"}}")] - public virtual double DontOverrideMe() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "overrideMe", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", parametersJson: "[{\"name\":\"mult\",\"type\":{\"primitive\":\"number\"}}]", isAsync: true)] - public virtual double OverrideMe(double mult) - { - return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{mult}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "overrideMeToo", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", isAsync: true)] - public virtual double OverrideMeToo() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AugmentableClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AugmentableClass.cs deleted file mode 100644 index 1216d19347..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/AugmentableClass.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.AugmentableClass), fullyQualifiedName: "jsii-calc.AugmentableClass")] - public class AugmentableClass : DeputyBase - { - /// - /// Stability: Experimental - /// - public AugmentableClass(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AugmentableClass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected AugmentableClass(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "methodOne")] - public virtual void MethodOne() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "methodTwo")] - public virtual void MethodTwo() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseJsii976.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseJsii976.cs deleted file mode 100644 index b9509631d8..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/BaseJsii976.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.BaseJsii976), fullyQualifiedName: "jsii-calc.BaseJsii976")] - public class BaseJsii976 : DeputyBase - { - /// - /// Stability: Experimental - /// - public BaseJsii976(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected BaseJsii976(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected BaseJsii976(DeputyProps props): base(props) - { - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Bell.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Bell.cs deleted file mode 100644 index 91b7ceb145..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Bell.cs +++ /dev/null @@ -1,53 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Bell), fullyQualifiedName: "jsii-calc.Bell")] - public class Bell : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IBell - { - /// - /// Stability: Experimental - /// - public Bell(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Bell(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Bell(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "ring", isOverride: true)] - public virtual void Ring() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "rung", typeJson: "{\"primitive\":\"boolean\"}")] - public virtual bool Rung - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/BinaryOperation.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/BinaryOperation.cs deleted file mode 100644 index 628e779eb5..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/BinaryOperation.cs +++ /dev/null @@ -1,68 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Represents an operation with two operands. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.BinaryOperation), fullyQualifiedName: "jsii-calc.BinaryOperation", parametersJson: "[{\"docs\":{\"summary\":\"Left-hand side operand.\"},\"name\":\"lhs\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"}},{\"docs\":{\"summary\":\"Right-hand side operand.\"},\"name\":\"rhs\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"}}]")] - public abstract class BinaryOperation : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Operation, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly - { - /// Creates a BinaryOperation. - /// Left-hand side operand. - /// Right-hand side operand. - /// - /// Stability: Experimental - /// - protected BinaryOperation(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ lhs, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ rhs): base(new DeputyProps(new object[]{lhs, rhs})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected BinaryOperation(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected BinaryOperation(DeputyProps props): base(props) - { - } - - /// Say hello! - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "hello", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - public virtual string Hello() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Left-hand side operand. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "lhs", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.Value\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Lhs - { - get => GetInstanceProperty(); - } - - /// Right-hand side operand. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "rhs", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.Value\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Rhs - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/BinaryOperationProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/BinaryOperationProxy.cs deleted file mode 100644 index 7873bec4fd..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/BinaryOperationProxy.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Represents an operation with two operands. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.BinaryOperation), fullyQualifiedName: "jsii-calc.BinaryOperation")] - internal sealed class BinaryOperationProxy : Amazon.JSII.Tests.CalculatorNamespace.BinaryOperation - { - private BinaryOperationProxy(ByRefValue reference): base(reference) - { - } - - /// The value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"number\"}")] - [System.Obsolete()] - public override double Value - { - get => GetInstanceProperty(); - } - - /// String representation of the value. - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "toString", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - [System.Obsolete()] - public override string ToString() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Calculator.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Calculator.cs deleted file mode 100644 index 806c1e9cd3..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Calculator.cs +++ /dev/null @@ -1,171 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// A calculator which maintains a current value and allows adding operations. - /// - /// Here's how you use it: - /// - /// - /// - /// I will repeat this example again, but in an @example tag. - /// - /// Stability: Experimental - /// - /// - /// // Example automatically generated. See https://github.com/aws/jsii/issues/826 - /// Calculator calculator = new Calculator(); - /// calculator.Add(5); - /// calculator.Mul(3); - /// Console.WriteLine(calculator.Expression.Value); - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Calculator), fullyQualifiedName: "jsii-calc.Calculator", parametersJson: "[{\"docs\":{\"summary\":\"Initialization properties.\"},\"name\":\"props\",\"optional\":true,\"type\":{\"fqn\":\"jsii-calc.CalculatorProps\"}}]")] - public class Calculator : Amazon.JSII.Tests.CalculatorNamespace.Composition.CompositeOperation - { - /// Creates a Calculator object. - /// Initialization properties. - /// - /// Stability: Experimental - /// - public Calculator(Amazon.JSII.Tests.CalculatorNamespace.ICalculatorProps? props = null): base(new DeputyProps(new object?[]{props})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Calculator(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Calculator(DeputyProps props): base(props) - { - } - - /// Adds a number to the current value. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "add", parametersJson: "[{\"name\":\"value\",\"type\":{\"primitive\":\"number\"}}]")] - public virtual void Add(double @value) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(double)}, new object[]{@value}); - } - - /// Multiplies the current value by a number. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "mul", parametersJson: "[{\"name\":\"value\",\"type\":{\"primitive\":\"number\"}}]")] - public virtual void Mul(double @value) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(double)}, new object[]{@value}); - } - - /// Negates the current value. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "neg")] - public virtual void Neg() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// Raises the current value by a power. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "pow", parametersJson: "[{\"name\":\"value\",\"type\":{\"primitive\":\"number\"}}]")] - public virtual void Pow(double @value) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(double)}, new object[]{@value}); - } - - /// Returns teh value of the union property (if defined). - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "readUnionValue", returnsJson: "{\"type\":{\"primitive\":\"number\"}}")] - public virtual double ReadUnionValue() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Returns the expression. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "expression", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.Value\"}")] - public override Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Expression - { - get => GetInstanceProperty(); - } - - /// A log of all operations. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "operationsLog", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"},\"kind\":\"array\"}}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_[] OperationsLog - { - get => GetInstanceProperty(); - } - - /// A map of per operation name of all operations performed. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "operationsMap", typeJson: "{\"collection\":{\"elementtype\":{\"collection\":{\"elementtype\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"},\"kind\":\"array\"}},\"kind\":\"map\"}}")] - public virtual System.Collections.Generic.IDictionary OperationsMap - { - get => GetInstanceProperty>(); - } - - /// The current value. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "curr", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.Value\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Curr - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// The maximum value allows in this calculator. - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "maxValue", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - public virtual double? MaxValue - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// Example of a property that accepts a union of types. - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "unionProperty", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"jsii-calc.Add\"},{\"fqn\":\"jsii-calc.Multiply\"},{\"fqn\":\"jsii-calc.Power\"}]}}", isOptional: true)] - public virtual object? UnionProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/CalculatorProps.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/CalculatorProps.cs deleted file mode 100644 index d1c874f084..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/CalculatorProps.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Properties for Calculator. - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.CalculatorProps")] - public class CalculatorProps : Amazon.JSII.Tests.CalculatorNamespace.ICalculatorProps - { - /// The initial value of the calculator. - /// - /// NOTE: Any number works here, it's fine. - /// - /// Default: 0 - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "initialValue", typeJson: "{\"primitive\":\"number\"}", isOptional: true, isOverride: true)] - public double? InitialValue - { - get; - set; - } - - /// The maximum value the calculator can store. - /// - /// Default: none - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "maximumValue", typeJson: "{\"primitive\":\"number\"}", isOptional: true, isOverride: true)] - public double? MaximumValue - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/CalculatorPropsProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/CalculatorPropsProxy.cs deleted file mode 100644 index f4add959f6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/CalculatorPropsProxy.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Properties for Calculator. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(ICalculatorProps), fullyQualifiedName: "jsii-calc.CalculatorProps")] - internal sealed class CalculatorPropsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.ICalculatorProps - { - private CalculatorPropsProxy(ByRefValue reference): base(reference) - { - } - - /// The initial value of the calculator. - /// - /// NOTE: Any number works here, it's fine. - /// - /// Default: 0 - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "initialValue", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - public double? InitialValue - { - get => GetInstanceProperty(); - } - - /// The maximum value the calculator can store. - /// - /// Default: none - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "maximumValue", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - public double? MaximumValue - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ChildStruct982.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ChildStruct982.cs deleted file mode 100644 index 1c27bda562..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ChildStruct982.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.ChildStruct982")] - public class ChildStruct982 : Amazon.JSII.Tests.CalculatorNamespace.IChildStruct982 - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bar", typeJson: "{\"primitive\":\"number\"}", isOverride: true)] - public double Bar - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string Foo - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ChildStruct982Proxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ChildStruct982Proxy.cs deleted file mode 100644 index e54993d05a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ChildStruct982Proxy.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IChildStruct982), fullyQualifiedName: "jsii-calc.ChildStruct982")] - internal sealed class ChildStruct982Proxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IChildStruct982 - { - private ChildStruct982Proxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bar", typeJson: "{\"primitive\":\"number\"}")] - public double Bar - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"string\"}")] - public string Foo - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassThatImplementsTheInternalInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassThatImplementsTheInternalInterface.cs deleted file mode 100644 index 7d810d48a8..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassThatImplementsTheInternalInterface.cs +++ /dev/null @@ -1,74 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassThatImplementsTheInternalInterface), fullyQualifiedName: "jsii-calc.ClassThatImplementsTheInternalInterface")] - public class ClassThatImplementsTheInternalInterface : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.INonInternalInterface - { - /// - /// Stability: Experimental - /// - public ClassThatImplementsTheInternalInterface(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassThatImplementsTheInternalInterface(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassThatImplementsTheInternalInterface(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "a", typeJson: "{\"primitive\":\"string\"}")] - public virtual string A - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "b", typeJson: "{\"primitive\":\"string\"}")] - public virtual string B - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "c", typeJson: "{\"primitive\":\"string\"}")] - public virtual string C - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "d", typeJson: "{\"primitive\":\"string\"}")] - public virtual string D - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassThatImplementsThePrivateInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassThatImplementsThePrivateInterface.cs deleted file mode 100644 index c5aa4f8be2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassThatImplementsThePrivateInterface.cs +++ /dev/null @@ -1,74 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassThatImplementsThePrivateInterface), fullyQualifiedName: "jsii-calc.ClassThatImplementsThePrivateInterface")] - public class ClassThatImplementsThePrivateInterface : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.INonInternalInterface - { - /// - /// Stability: Experimental - /// - public ClassThatImplementsThePrivateInterface(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassThatImplementsThePrivateInterface(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassThatImplementsThePrivateInterface(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "a", typeJson: "{\"primitive\":\"string\"}")] - public virtual string A - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "b", typeJson: "{\"primitive\":\"string\"}")] - public virtual string B - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "c", typeJson: "{\"primitive\":\"string\"}")] - public virtual string C - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "e", typeJson: "{\"primitive\":\"string\"}")] - public virtual string E - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithCollections.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithCollections.cs deleted file mode 100644 index 1253a83880..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithCollections.cs +++ /dev/null @@ -1,92 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithCollections), fullyQualifiedName: "jsii-calc.ClassWithCollections", parametersJson: "[{\"name\":\"map\",\"type\":{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"map\"}}},{\"name\":\"array\",\"type\":{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}}]")] - public class ClassWithCollections : DeputyBase - { - /// - /// Stability: Experimental - /// - public ClassWithCollections(System.Collections.Generic.IDictionary map, string[] array): base(new DeputyProps(new object[]{map, array})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassWithCollections(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassWithCollections(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "createAList", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}}")] - public static string[] CreateAList() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithCollections), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "createAMap", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"map\"}}}")] - public static System.Collections.Generic.IDictionary CreateAMap() - { - return InvokeStaticMethod>(typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithCollections), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "staticArray", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}")] - public static string[] StaticArray - { - get => GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithCollections)); - set => SetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithCollections), value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "staticMap", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"map\"}}")] - public static System.Collections.Generic.IDictionary StaticMap - { - get => GetStaticProperty>(typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithCollections)); - set => SetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithCollections), value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "array", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}")] - public virtual string[] Array - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "map", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"map\"}}")] - public virtual System.Collections.Generic.IDictionary Map - { - get => GetInstanceProperty>(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithDocs.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithDocs.cs deleted file mode 100644 index b7fb921f50..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithDocs.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// This class has docs. - /// - /// The docs are great. They're a bunch of tags. - /// - /// See: https://aws.amazon.com/ - /// - /// CustomAttribute: hasAValue - /// - /// - /// // Example automatically generated. See https://github.com/aws/jsii/issues/826 - /// public void AnExample() - /// { - /// } - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithDocs), fullyQualifiedName: "jsii-calc.ClassWithDocs")] - public class ClassWithDocs : DeputyBase - { - /// - /// Stability: Experimental - /// - public ClassWithDocs(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassWithDocs(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassWithDocs(DeputyProps props): base(props) - { - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithJavaReservedWords.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithJavaReservedWords.cs deleted file mode 100644 index 32d8bf514c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithJavaReservedWords.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithJavaReservedWords), fullyQualifiedName: "jsii-calc.ClassWithJavaReservedWords", parametersJson: "[{\"name\":\"int\",\"type\":{\"primitive\":\"string\"}}]")] - public class ClassWithJavaReservedWords : DeputyBase - { - /// - /// Stability: Experimental - /// - public ClassWithJavaReservedWords(string @int): base(new DeputyProps(new object[]{@int})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassWithJavaReservedWords(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassWithJavaReservedWords(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "import", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"assert\",\"type\":{\"primitive\":\"string\"}}]")] - public virtual string Import(string assert) - { - return InvokeInstanceMethod(new System.Type[]{typeof(string)}, new object[]{assert}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "int", typeJson: "{\"primitive\":\"string\"}")] - public virtual string Int - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithMutableObjectLiteralProperty.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithMutableObjectLiteralProperty.cs deleted file mode 100644 index 65f58f1820..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithMutableObjectLiteralProperty.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithMutableObjectLiteralProperty), fullyQualifiedName: "jsii-calc.ClassWithMutableObjectLiteralProperty")] - public class ClassWithMutableObjectLiteralProperty : DeputyBase - { - /// - /// Stability: Experimental - /// - public ClassWithMutableObjectLiteralProperty(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassWithMutableObjectLiteralProperty(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassWithMutableObjectLiteralProperty(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "mutableObject", typeJson: "{\"fqn\":\"jsii-calc.IMutableObjectLiteral\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.IMutableObjectLiteral MutableObject - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithPrivateConstructorAndAutomaticProperties.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithPrivateConstructorAndAutomaticProperties.cs deleted file mode 100644 index 09263ba3f4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ClassWithPrivateConstructorAndAutomaticProperties.cs +++ /dev/null @@ -1,56 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Class that implements interface properties automatically, but using a private constructor. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithPrivateConstructorAndAutomaticProperties), fullyQualifiedName: "jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties")] - public class ClassWithPrivateConstructorAndAutomaticProperties : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithProperties - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassWithPrivateConstructorAndAutomaticProperties(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassWithPrivateConstructorAndAutomaticProperties(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "create", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties\"}}", parametersJson: "[{\"name\":\"readOnlyString\",\"type\":{\"primitive\":\"string\"}},{\"name\":\"readWriteString\",\"type\":{\"primitive\":\"string\"}}]")] - public static Amazon.JSII.Tests.CalculatorNamespace.ClassWithPrivateConstructorAndAutomaticProperties Create(string readOnlyString, string readWriteString) - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ClassWithPrivateConstructorAndAutomaticProperties), new System.Type[]{typeof(string), typeof(string)}, new object[]{readOnlyString, readWriteString}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "readOnlyString", typeJson: "{\"primitive\":\"string\"}")] - public virtual string ReadOnlyString - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "readWriteString", typeJson: "{\"primitive\":\"string\"}")] - public virtual string ReadWriteString - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Composition/CompositeOperation.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Composition/CompositeOperation.cs deleted file mode 100644 index d1cb0ef425..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Composition/CompositeOperation.cs +++ /dev/null @@ -1,118 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Composition -{ - /// Abstract operation composed from an expression of other operations. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Composition.CompositeOperation), fullyQualifiedName: "jsii-calc.composition.CompositeOperation")] - public abstract class CompositeOperation : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Operation - { - protected CompositeOperation(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected CompositeOperation(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected CompositeOperation(DeputyProps props): base(props) - { - } - - /// String representation of the value. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "toString", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - public override string ToString() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// The expression that this operation consists of. - /// - /// Must be implemented by derived classes. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "expression", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.Value\"}")] - public abstract Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Expression - { - get; - } - - /// The value. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"number\"}")] - public override double Value - { - get => GetInstanceProperty(); - } - - /// A set of postfixes to include in a decorated .toString(). - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "decorationPostfixes", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}")] - public virtual string[] DecorationPostfixes - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// A set of prefixes to include in a decorated .toString(). - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "decorationPrefixes", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}")] - public virtual string[] DecorationPrefixes - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// The .toString() style. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "stringStyle", typeJson: "{\"fqn\":\"jsii-calc.composition.CompositeOperation.CompositionStringStyle\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.Composition.CompositeOperation.CompositionStringStyle StringStyle - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// Style of .toString() output for CompositeOperation. - /// - /// Stability: Experimental - /// - [JsiiEnum(nativeType: typeof(CompositionStringStyle), fullyQualifiedName: "jsii-calc.composition.CompositeOperation.CompositionStringStyle")] - public enum CompositionStringStyle - { - /// Normal string expression. - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "NORMAL")] - NORMAL, - /// Decorated string expression. - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "DECORATED")] - DECORATED - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Composition/CompositeOperationProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Composition/CompositeOperationProxy.cs deleted file mode 100644 index ab8f07c320..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Composition/CompositeOperationProxy.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Composition -{ - /// Abstract operation composed from an expression of other operations. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Composition.CompositeOperation), fullyQualifiedName: "jsii-calc.composition.CompositeOperation")] - internal sealed class CompositeOperationProxy : Amazon.JSII.Tests.CalculatorNamespace.Composition.CompositeOperation - { - private CompositeOperationProxy(ByRefValue reference): base(reference) - { - } - - /// The expression that this operation consists of. - /// - /// Must be implemented by derived classes. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "expression", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.Value\"}")] - public override Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Expression - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConfusingToJackson.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConfusingToJackson.cs deleted file mode 100644 index a74b653a5a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConfusingToJackson.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// This tries to confuse Jackson by having overloaded property setters. - /// - /// Stability: Experimental - /// - /// See: https://github.com/aws/aws-cdk/issues/4080 - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ConfusingToJackson), fullyQualifiedName: "jsii-calc.ConfusingToJackson")] - public class ConfusingToJackson : DeputyBase - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ConfusingToJackson(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ConfusingToJackson(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "makeInstance", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.ConfusingToJackson\"}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.ConfusingToJackson MakeInstance() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ConfusingToJackson), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "makeStructInstance", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.ConfusingToJacksonStruct\"}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.IConfusingToJacksonStruct MakeStructInstance() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ConfusingToJackson), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "unionProperty", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@scope/jsii-calc-lib.IFriendly\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@scope/jsii-calc-lib.IFriendly\"},{\"fqn\":\"jsii-calc.AbstractClass\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] - public virtual object? UnionProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConfusingToJacksonStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConfusingToJacksonStruct.cs deleted file mode 100644 index 931605685f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConfusingToJacksonStruct.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.ConfusingToJacksonStruct")] - public class ConfusingToJacksonStruct : Amazon.JSII.Tests.CalculatorNamespace.IConfusingToJacksonStruct - { - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "unionProperty", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@scope/jsii-calc-lib.IFriendly\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@scope/jsii-calc-lib.IFriendly\"},{\"fqn\":\"jsii-calc.AbstractClass\"}]}},\"kind\":\"array\"}}]}}", isOptional: true, isOverride: true)] - public object? UnionProperty - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConfusingToJacksonStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConfusingToJacksonStructProxy.cs deleted file mode 100644 index 49c24131e4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConfusingToJacksonStructProxy.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IConfusingToJacksonStruct), fullyQualifiedName: "jsii-calc.ConfusingToJacksonStruct")] - internal sealed class ConfusingToJacksonStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IConfusingToJacksonStruct - { - private ConfusingToJacksonStructProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "unionProperty", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@scope/jsii-calc-lib.IFriendly\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@scope/jsii-calc-lib.IFriendly\"},{\"fqn\":\"jsii-calc.AbstractClass\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] - public object? UnionProperty - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConstructorPassesThisOut.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConstructorPassesThisOut.cs deleted file mode 100644 index 33d0c74c81..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConstructorPassesThisOut.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ConstructorPassesThisOut), fullyQualifiedName: "jsii-calc.ConstructorPassesThisOut", parametersJson: "[{\"name\":\"consumer\",\"type\":{\"fqn\":\"jsii-calc.PartiallyInitializedThisConsumer\"}}]")] - public class ConstructorPassesThisOut : DeputyBase - { - /// - /// Stability: Experimental - /// - public ConstructorPassesThisOut(Amazon.JSII.Tests.CalculatorNamespace.PartiallyInitializedThisConsumer consumer): base(new DeputyProps(new object[]{consumer})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ConstructorPassesThisOut(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ConstructorPassesThisOut(DeputyProps props): base(props) - { - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Constructors.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Constructors.cs deleted file mode 100644 index a5ca9c72ac..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Constructors.cs +++ /dev/null @@ -1,97 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), fullyQualifiedName: "jsii-calc.Constructors")] - public class Constructors : DeputyBase - { - /// - /// Stability: Experimental - /// - public Constructors(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Constructors(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Constructors(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "hiddenInterface", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.IPublicInterface\"}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface HiddenInterface() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "hiddenInterfaces", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"fqn\":\"jsii-calc.IPublicInterface\"},\"kind\":\"array\"}}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface[] HiddenInterfaces() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "hiddenSubInterfaces", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"fqn\":\"jsii-calc.IPublicInterface\"},\"kind\":\"array\"}}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface[] HiddenSubInterfaces() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "makeClass", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.PublicClass\"}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.PublicClass MakeClass() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "makeInterface", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.IPublicInterface\"}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface MakeInterface() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "makeInterface2", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.IPublicInterface2\"}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface2 MakeInterface2() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "makeInterfaces", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"fqn\":\"jsii-calc.IPublicInterface\"},\"kind\":\"array\"}}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface[] MakeInterfaces() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Constructors), new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConsumePureInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConsumePureInterface.cs deleted file mode 100644 index 409d7b7445..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConsumePureInterface.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ConsumePureInterface), fullyQualifiedName: "jsii-calc.ConsumePureInterface", parametersJson: "[{\"name\":\"delegate\",\"type\":{\"fqn\":\"jsii-calc.IStructReturningDelegate\"}}]")] - public class ConsumePureInterface : DeputyBase - { - /// - /// Stability: Experimental - /// - public ConsumePureInterface(Amazon.JSII.Tests.CalculatorNamespace.IStructReturningDelegate @delegate): base(new DeputyProps(new object[]{@delegate})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ConsumePureInterface(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ConsumePureInterface(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "workItBaby", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.StructB\"}}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.IStructB WorkItBaby() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConsumerCanRingBell.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConsumerCanRingBell.cs deleted file mode 100644 index e03c2b5e9e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConsumerCanRingBell.cs +++ /dev/null @@ -1,134 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Test calling back to consumers that implement interfaces. - /// - /// Check that if a JSII consumer implements IConsumerWithInterfaceParam, they can call - /// the method on the argument that they're passed... - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ConsumerCanRingBell), fullyQualifiedName: "jsii-calc.ConsumerCanRingBell")] - public class ConsumerCanRingBell : DeputyBase - { - /// - /// Stability: Experimental - /// - public ConsumerCanRingBell(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ConsumerCanRingBell(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ConsumerCanRingBell(DeputyProps props): base(props) - { - } - - /// ...if the interface is implemented using an object literal. - /// - /// Returns whether the bell was rung. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "staticImplementedByObjectLiteral", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"ringer\",\"type\":{\"fqn\":\"jsii-calc.IBellRinger\"}}]")] - public static bool StaticImplementedByObjectLiteral(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger ringer) - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ConsumerCanRingBell), new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger)}, new object[]{ringer}); - } - - /// ...if the interface is implemented using a private class. - /// - /// Return whether the bell was rung. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "staticImplementedByPrivateClass", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"ringer\",\"type\":{\"fqn\":\"jsii-calc.IBellRinger\"}}]")] - public static bool StaticImplementedByPrivateClass(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger ringer) - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ConsumerCanRingBell), new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger)}, new object[]{ringer}); - } - - /// ...if the interface is implemented using a public class. - /// - /// Return whether the bell was rung. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "staticImplementedByPublicClass", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"ringer\",\"type\":{\"fqn\":\"jsii-calc.IBellRinger\"}}]")] - public static bool StaticImplementedByPublicClass(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger ringer) - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ConsumerCanRingBell), new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger)}, new object[]{ringer}); - } - - /// If the parameter is a concrete class instead of an interface. - /// - /// Return whether the bell was rung. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "staticWhenTypedAsClass", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"ringer\",\"type\":{\"fqn\":\"jsii-calc.IConcreteBellRinger\"}}]")] - public static bool StaticWhenTypedAsClass(Amazon.JSII.Tests.CalculatorNamespace.IConcreteBellRinger ringer) - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ConsumerCanRingBell), new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IConcreteBellRinger)}, new object[]{ringer}); - } - - /// ...if the interface is implemented using an object literal. - /// - /// Returns whether the bell was rung. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "implementedByObjectLiteral", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"ringer\",\"type\":{\"fqn\":\"jsii-calc.IBellRinger\"}}]")] - public virtual bool ImplementedByObjectLiteral(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger ringer) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger)}, new object[]{ringer}); - } - - /// ...if the interface is implemented using a private class. - /// - /// Return whether the bell was rung. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "implementedByPrivateClass", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"ringer\",\"type\":{\"fqn\":\"jsii-calc.IBellRinger\"}}]")] - public virtual bool ImplementedByPrivateClass(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger ringer) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger)}, new object[]{ringer}); - } - - /// ...if the interface is implemented using a public class. - /// - /// Return whether the bell was rung. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "implementedByPublicClass", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"ringer\",\"type\":{\"fqn\":\"jsii-calc.IBellRinger\"}}]")] - public virtual bool ImplementedByPublicClass(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger ringer) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IBellRinger)}, new object[]{ringer}); - } - - /// If the parameter is a concrete class instead of an interface. - /// - /// Return whether the bell was rung. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "whenTypedAsClass", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"ringer\",\"type\":{\"fqn\":\"jsii-calc.IConcreteBellRinger\"}}]")] - public virtual bool WhenTypedAsClass(Amazon.JSII.Tests.CalculatorNamespace.IConcreteBellRinger ringer) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IConcreteBellRinger)}, new object[]{ringer}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConsumersOfThisCrazyTypeSystem.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConsumersOfThisCrazyTypeSystem.cs deleted file mode 100644 index fd66628be6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ConsumersOfThisCrazyTypeSystem.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ConsumersOfThisCrazyTypeSystem), fullyQualifiedName: "jsii-calc.ConsumersOfThisCrazyTypeSystem")] - public class ConsumersOfThisCrazyTypeSystem : DeputyBase - { - /// - /// Stability: Experimental - /// - public ConsumersOfThisCrazyTypeSystem(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ConsumersOfThisCrazyTypeSystem(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ConsumersOfThisCrazyTypeSystem(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "consumeAnotherPublicInterface", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"obj\",\"type\":{\"fqn\":\"jsii-calc.IAnotherPublicInterface\"}}]")] - public virtual string ConsumeAnotherPublicInterface(Amazon.JSII.Tests.CalculatorNamespace.IAnotherPublicInterface obj) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IAnotherPublicInterface)}, new object[]{obj}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "consumeNonInternalInterface", returnsJson: "{\"type\":{\"primitive\":\"any\"}}", parametersJson: "[{\"name\":\"obj\",\"type\":{\"fqn\":\"jsii-calc.INonInternalInterface\"}}]")] - public virtual object ConsumeNonInternalInterface(Amazon.JSII.Tests.CalculatorNamespace.INonInternalInterface obj) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.INonInternalInterface)}, new object[]{obj}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DataRenderer.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DataRenderer.cs deleted file mode 100644 index 6710b1a168..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DataRenderer.cs +++ /dev/null @@ -1,62 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Verifies proper type handling through dynamic overrides. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DataRenderer), fullyQualifiedName: "jsii-calc.DataRenderer")] - public class DataRenderer : DeputyBase - { - /// - /// Stability: Experimental - /// - public DataRenderer(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DataRenderer(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DataRenderer(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "render", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"data\",\"optional\":true,\"type\":{\"fqn\":\"@scope/jsii-calc-lib.MyFirstStruct\"}}]")] - public virtual string Render(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct? data = null) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct)}, new object?[]{data}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "renderArbitrary", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"data\",\"type\":{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"map\"}}}]")] - public virtual string RenderArbitrary(System.Collections.Generic.IDictionary data) - { - return InvokeInstanceMethod(new System.Type[]{typeof(System.Collections.Generic.IDictionary)}, new object[]{data}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "renderMap", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"map\",\"type\":{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"map\"}}}]")] - public virtual string RenderMap(System.Collections.Generic.IDictionary map) - { - return InvokeInstanceMethod(new System.Type[]{typeof(System.Collections.Generic.IDictionary)}, new object[]{map}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DefaultedConstructorArgument.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DefaultedConstructorArgument.cs deleted file mode 100644 index 09c247d989..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DefaultedConstructorArgument.cs +++ /dev/null @@ -1,62 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DefaultedConstructorArgument), fullyQualifiedName: "jsii-calc.DefaultedConstructorArgument", parametersJson: "[{\"name\":\"arg1\",\"optional\":true,\"type\":{\"primitive\":\"number\"}},{\"name\":\"arg2\",\"optional\":true,\"type\":{\"primitive\":\"string\"}},{\"name\":\"arg3\",\"optional\":true,\"type\":{\"primitive\":\"date\"}}]")] - public class DefaultedConstructorArgument : DeputyBase - { - /// - /// Stability: Experimental - /// - public DefaultedConstructorArgument(double? arg1 = null, string? arg2 = null, System.DateTime? arg3 = null): base(new DeputyProps(new object?[]{arg1, arg2, arg3})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DefaultedConstructorArgument(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DefaultedConstructorArgument(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "arg1", typeJson: "{\"primitive\":\"number\"}")] - public virtual double Arg1 - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "arg3", typeJson: "{\"primitive\":\"date\"}")] - public virtual System.DateTime Arg3 - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "arg2", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public virtual string? Arg2 - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Demonstrate982.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Demonstrate982.cs deleted file mode 100644 index 58462c9962..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Demonstrate982.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// 1. - /// - /// call #takeThis() -> An ObjectRef will be provisioned for the value (it'll be re-used!) - /// 2. call #takeThisToo() -> The ObjectRef from before will need to be down-cased to the ParentStruct982 type - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Demonstrate982), fullyQualifiedName: "jsii-calc.Demonstrate982")] - public class Demonstrate982 : DeputyBase - { - /// - /// Stability: Experimental - /// - public Demonstrate982(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Demonstrate982(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Demonstrate982(DeputyProps props): base(props) - { - } - - /// It's dangerous to go alone! - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "takeThis", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.ChildStruct982\"}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.IChildStruct982 TakeThis() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Demonstrate982), new System.Type[]{}, new object[]{}); - } - - /// It's dangerous to go alone! - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "takeThisToo", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.ParentStruct982\"}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.IParentStruct982 TakeThisToo() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Demonstrate982), new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedClass.cs deleted file mode 100644 index 755679743a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedClass.cs +++ /dev/null @@ -1,70 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Deprecated - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DeprecatedClass), fullyQualifiedName: "jsii-calc.DeprecatedClass", parametersJson: "[{\"name\":\"readonlyString\",\"type\":{\"primitive\":\"string\"}},{\"name\":\"mutableNumber\",\"optional\":true,\"type\":{\"primitive\":\"number\"}}]")] - [System.Obsolete("a pretty boring class")] - public class DeprecatedClass : DeputyBase - { - /// - /// Stability: Deprecated - /// - [System.Obsolete("this constructor is \"just\" okay")] - public DeprecatedClass(string readonlyString, double? mutableNumber = null): base(new DeputyProps(new object?[]{readonlyString, mutableNumber})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.Obsolete("this constructor is \"just\" okay")] - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DeprecatedClass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.Obsolete("this constructor is \"just\" okay")] - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DeprecatedClass(DeputyProps props): base(props) - { - } - - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "method")] - [System.Obsolete("it was a bad idea")] - public virtual void Method() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}")] - [System.Obsolete("this is not always \"wazoo\", be ready to be disappointed")] - public virtual string ReadonlyProperty - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Deprecated - /// - [JsiiOptional] - [JsiiProperty(name: "mutableProperty", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - [System.Obsolete("shouldn't have been mutable")] - public virtual double? MutableProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedEnum.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedEnum.cs deleted file mode 100644 index bac1794583..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedEnum.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - - /// - /// Stability: Deprecated - /// - [JsiiEnum(nativeType: typeof(DeprecatedEnum), fullyQualifiedName: "jsii-calc.DeprecatedEnum")] - [System.Obsolete("your deprecated selection of bad options")] - public enum DeprecatedEnum - { - /// - /// Stability: Deprecated - /// - [JsiiEnumMember(name: "OPTION_A")] - [System.Obsolete("option A is not great")] - OPTION_A, - /// - /// Stability: Deprecated - /// - [JsiiEnumMember(name: "OPTION_B")] - [System.Obsolete("option B is kinda bad, too")] - OPTION_B - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedStruct.cs deleted file mode 100644 index 41bdd5203a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedStruct.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Deprecated - /// - [JsiiByValue(fqn: "jsii-calc.DeprecatedStruct")] - public class DeprecatedStruct : Amazon.JSII.Tests.CalculatorNamespace.IDeprecatedStruct - { - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - [System.Obsolete("well, yeah")] - public string ReadonlyProperty - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedStructProxy.cs deleted file mode 100644 index e09c590c3d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DeprecatedStructProxy.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Deprecated - /// - [JsiiTypeProxy(nativeType: typeof(IDeprecatedStruct), fullyQualifiedName: "jsii-calc.DeprecatedStruct")] - [System.Obsolete("it just wraps a string")] - internal sealed class DeprecatedStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IDeprecatedStruct - { - private DeprecatedStructProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}")] - [System.Obsolete("well, yeah")] - public string ReadonlyProperty - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedClassHasNoProperties/Base.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedClassHasNoProperties/Base.cs deleted file mode 100644 index 7284d5cef7..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedClassHasNoProperties/Base.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.DerivedClassHasNoProperties -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DerivedClassHasNoProperties.Base), fullyQualifiedName: "jsii-calc.DerivedClassHasNoProperties.Base")] - public class Base : DeputyBase - { - /// - /// Stability: Experimental - /// - public Base(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Base(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Base(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "prop", typeJson: "{\"primitive\":\"string\"}")] - public virtual string Prop - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedClassHasNoProperties/Derived.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedClassHasNoProperties/Derived.cs deleted file mode 100644 index 8ea464cb59..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedClassHasNoProperties/Derived.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.DerivedClassHasNoProperties -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DerivedClassHasNoProperties.Derived), fullyQualifiedName: "jsii-calc.DerivedClassHasNoProperties.Derived")] - public class Derived : Amazon.JSII.Tests.CalculatorNamespace.DerivedClassHasNoProperties.Base - { - /// - /// Stability: Experimental - /// - public Derived(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Derived(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Derived(DeputyProps props): base(props) - { - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedStruct.cs deleted file mode 100644 index 3ebd040b64..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedStruct.cs +++ /dev/null @@ -1,117 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// A struct which derives from another struct. - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.DerivedStruct")] - public class DerivedStruct : Amazon.JSII.Tests.CalculatorNamespace.IDerivedStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "anotherRequired", typeJson: "{\"primitive\":\"date\"}", isOverride: true)] - public System.DateTime AnotherRequired - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bool", typeJson: "{\"primitive\":\"boolean\"}", isOverride: true)] - public bool Bool - { - get; - set; - } - - /// An example of a non primitive property. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "nonPrimitive", typeJson: "{\"fqn\":\"jsii-calc.DoubleTrouble\"}", isOverride: true)] - public Amazon.JSII.Tests.CalculatorNamespace.DoubleTrouble NonPrimitive - { - get; - set; - } - - /// This is optional. - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "anotherOptional", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"},\"kind\":\"map\"}}", isOptional: true, isOverride: true)] - public System.Collections.Generic.IDictionary? AnotherOptional - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optionalAny", typeJson: "{\"primitive\":\"any\"}", isOptional: true, isOverride: true)] - public object? OptionalAny - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optionalArray", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}", isOptional: true, isOverride: true)] - public string[]? OptionalArray - { - get; - set; - } - - /// An awesome number value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "anumber", typeJson: "{\"primitive\":\"number\"}", isOverride: true)] - [System.Obsolete()] - public double Anumber - { - get; - set; - } - - /// A string value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "astring", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - [System.Obsolete()] - public string Astring - { - get; - set; - } - - /// - /// Stability: Deprecated - /// - [JsiiOptional] - [JsiiProperty(name: "firstOptional", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}", isOptional: true, isOverride: true)] - [System.Obsolete()] - public string[]? FirstOptional - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedStructProxy.cs deleted file mode 100644 index d73f819aa6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DerivedStructProxy.cs +++ /dev/null @@ -1,110 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// A struct which derives from another struct. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IDerivedStruct), fullyQualifiedName: "jsii-calc.DerivedStruct")] - internal sealed class DerivedStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IDerivedStruct - { - private DerivedStructProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "anotherRequired", typeJson: "{\"primitive\":\"date\"}")] - public System.DateTime AnotherRequired - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bool", typeJson: "{\"primitive\":\"boolean\"}")] - public bool Bool - { - get => GetInstanceProperty(); - } - - /// An example of a non primitive property. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "nonPrimitive", typeJson: "{\"fqn\":\"jsii-calc.DoubleTrouble\"}")] - public Amazon.JSII.Tests.CalculatorNamespace.DoubleTrouble NonPrimitive - { - get => GetInstanceProperty(); - } - - /// This is optional. - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "anotherOptional", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"},\"kind\":\"map\"}}", isOptional: true)] - public System.Collections.Generic.IDictionary? AnotherOptional - { - get => GetInstanceProperty?>(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optionalAny", typeJson: "{\"primitive\":\"any\"}", isOptional: true)] - public object? OptionalAny - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optionalArray", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}", isOptional: true)] - public string[]? OptionalArray - { - get => GetInstanceProperty(); - } - - /// An awesome number value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "anumber", typeJson: "{\"primitive\":\"number\"}")] - [System.Obsolete()] - public double Anumber - { - get => GetInstanceProperty(); - } - - /// A string value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "astring", typeJson: "{\"primitive\":\"string\"}")] - [System.Obsolete()] - public string Astring - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Deprecated - /// - [JsiiOptional] - [JsiiProperty(name: "firstOptional", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}", isOptional: true)] - [System.Obsolete()] - public string[]? FirstOptional - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceBaseLevelStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceBaseLevelStruct.cs deleted file mode 100644 index 18964efa05..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceBaseLevelStruct.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.DiamondInheritanceBaseLevelStruct")] - public class DiamondInheritanceBaseLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceBaseLevelStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "baseLevelProperty", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string BaseLevelProperty - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceBaseLevelStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceBaseLevelStructProxy.cs deleted file mode 100644 index 2d3b621874..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceBaseLevelStructProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IDiamondInheritanceBaseLevelStruct), fullyQualifiedName: "jsii-calc.DiamondInheritanceBaseLevelStruct")] - internal sealed class DiamondInheritanceBaseLevelStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceBaseLevelStruct - { - private DiamondInheritanceBaseLevelStructProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "baseLevelProperty", typeJson: "{\"primitive\":\"string\"}")] - public string BaseLevelProperty - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceFirstMidLevelStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceFirstMidLevelStruct.cs deleted file mode 100644 index e436e3e1e0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceFirstMidLevelStruct.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.DiamondInheritanceFirstMidLevelStruct")] - public class DiamondInheritanceFirstMidLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceFirstMidLevelStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "firstMidLevelProperty", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string FirstMidLevelProperty - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "baseLevelProperty", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string BaseLevelProperty - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceFirstMidLevelStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceFirstMidLevelStructProxy.cs deleted file mode 100644 index aa831688a5..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceFirstMidLevelStructProxy.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IDiamondInheritanceFirstMidLevelStruct), fullyQualifiedName: "jsii-calc.DiamondInheritanceFirstMidLevelStruct")] - internal sealed class DiamondInheritanceFirstMidLevelStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceFirstMidLevelStruct - { - private DiamondInheritanceFirstMidLevelStructProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "firstMidLevelProperty", typeJson: "{\"primitive\":\"string\"}")] - public string FirstMidLevelProperty - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "baseLevelProperty", typeJson: "{\"primitive\":\"string\"}")] - public string BaseLevelProperty - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceSecondMidLevelStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceSecondMidLevelStruct.cs deleted file mode 100644 index ef8d735f16..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceSecondMidLevelStruct.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.DiamondInheritanceSecondMidLevelStruct")] - public class DiamondInheritanceSecondMidLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceSecondMidLevelStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "secondMidLevelProperty", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string SecondMidLevelProperty - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "baseLevelProperty", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string BaseLevelProperty - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceSecondMidLevelStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceSecondMidLevelStructProxy.cs deleted file mode 100644 index ff88d769b6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceSecondMidLevelStructProxy.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IDiamondInheritanceSecondMidLevelStruct), fullyQualifiedName: "jsii-calc.DiamondInheritanceSecondMidLevelStruct")] - internal sealed class DiamondInheritanceSecondMidLevelStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceSecondMidLevelStruct - { - private DiamondInheritanceSecondMidLevelStructProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "secondMidLevelProperty", typeJson: "{\"primitive\":\"string\"}")] - public string SecondMidLevelProperty - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "baseLevelProperty", typeJson: "{\"primitive\":\"string\"}")] - public string BaseLevelProperty - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceTopLevelStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceTopLevelStruct.cs deleted file mode 100644 index 16435c8c60..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceTopLevelStruct.cs +++ /dev/null @@ -1,55 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.DiamondInheritanceTopLevelStruct")] - public class DiamondInheritanceTopLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceTopLevelStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "topLevelProperty", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string TopLevelProperty - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "firstMidLevelProperty", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string FirstMidLevelProperty - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "baseLevelProperty", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string BaseLevelProperty - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "secondMidLevelProperty", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string SecondMidLevelProperty - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceTopLevelStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceTopLevelStructProxy.cs deleted file mode 100644 index b4c89fc547..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DiamondInheritanceTopLevelStructProxy.cs +++ /dev/null @@ -1,53 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IDiamondInheritanceTopLevelStruct), fullyQualifiedName: "jsii-calc.DiamondInheritanceTopLevelStruct")] - internal sealed class DiamondInheritanceTopLevelStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceTopLevelStruct - { - private DiamondInheritanceTopLevelStructProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "topLevelProperty", typeJson: "{\"primitive\":\"string\"}")] - public string TopLevelProperty - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "firstMidLevelProperty", typeJson: "{\"primitive\":\"string\"}")] - public string FirstMidLevelProperty - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "baseLevelProperty", typeJson: "{\"primitive\":\"string\"}")] - public string BaseLevelProperty - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "secondMidLevelProperty", typeJson: "{\"primitive\":\"string\"}")] - public string SecondMidLevelProperty - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DisappointingCollectionSource.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DisappointingCollectionSource.cs deleted file mode 100644 index bef36a3fc8..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DisappointingCollectionSource.cs +++ /dev/null @@ -1,56 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Verifies that null/undefined can be returned for optional collections. - /// - /// This source of collections is disappointing - it'll always give you nothing :( - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DisappointingCollectionSource), fullyQualifiedName: "jsii-calc.DisappointingCollectionSource")] - public class DisappointingCollectionSource : DeputyBase - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DisappointingCollectionSource(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DisappointingCollectionSource(DeputyProps props): base(props) - { - } - - /// Some List of strings, maybe? - /// - /// (Nah, just a billion dollars mistake!) - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "maybeList", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}", isOptional: true)] - public static string[] MaybeList - { - get; - } - = GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.DisappointingCollectionSource)); - - /// Some Map of strings to numbers, maybe? - /// - /// (Nah, just a billion dollars mistake!) - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "maybeMap", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"number\"},\"kind\":\"map\"}}", isOptional: true)] - public static System.Collections.Generic.IDictionary MaybeMap - { - get; - } - = GetStaticProperty>(typeof(Amazon.JSII.Tests.CalculatorNamespace.DisappointingCollectionSource)); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DoNotOverridePrivates.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DoNotOverridePrivates.cs deleted file mode 100644 index b570e42df0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DoNotOverridePrivates.cs +++ /dev/null @@ -1,61 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DoNotOverridePrivates), fullyQualifiedName: "jsii-calc.DoNotOverridePrivates")] - public class DoNotOverridePrivates : DeputyBase - { - /// - /// Stability: Experimental - /// - public DoNotOverridePrivates(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DoNotOverridePrivates(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DoNotOverridePrivates(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "changePrivatePropertyValue", parametersJson: "[{\"name\":\"newValue\",\"type\":{\"primitive\":\"string\"}}]")] - public virtual void ChangePrivatePropertyValue(string newValue) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(string)}, new object[]{newValue}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "privateMethodValue", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public virtual string PrivateMethodValue() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "privatePropertyValue", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public virtual string PrivatePropertyValue() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DoNotRecognizeAnyAsOptional.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DoNotRecognizeAnyAsOptional.cs deleted file mode 100644 index 94fe3bd38d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DoNotRecognizeAnyAsOptional.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// jsii#284: do not recognize "any" as an optional argument. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DoNotRecognizeAnyAsOptional), fullyQualifiedName: "jsii-calc.DoNotRecognizeAnyAsOptional")] - public class DoNotRecognizeAnyAsOptional : DeputyBase - { - /// - /// Stability: Experimental - /// - public DoNotRecognizeAnyAsOptional(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DoNotRecognizeAnyAsOptional(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DoNotRecognizeAnyAsOptional(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "method", parametersJson: "[{\"name\":\"_requiredAny\",\"type\":{\"primitive\":\"any\"}},{\"name\":\"_optionalAny\",\"optional\":true,\"type\":{\"primitive\":\"any\"}},{\"name\":\"_optionalString\",\"optional\":true,\"type\":{\"primitive\":\"string\"}}]")] - public virtual void Method(object requiredAny, object? optionalAny = null, string? optionalString = null) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(object), typeof(object), typeof(string)}, new object?[]{requiredAny, optionalAny, optionalString}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DocumentedClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DocumentedClass.cs deleted file mode 100644 index 172c01753e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DocumentedClass.cs +++ /dev/null @@ -1,61 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Here's the first line of the TSDoc comment. - /// - /// This is the meat of the TSDoc comment. It may contain - /// multiple lines and multiple paragraphs. - /// - /// Multiple paragraphs are separated by an empty line. - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DocumentedClass), fullyQualifiedName: "jsii-calc.DocumentedClass")] - public class DocumentedClass : DeputyBase - { - /// - /// Stability: Experimental - /// - public DocumentedClass(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DocumentedClass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DocumentedClass(DeputyProps props): base(props) - { - } - - /// Greet the indicated person. - /// The person to be greeted. - /// A number that everyone knows very well - /// - /// This will print out a friendly greeting intended for - /// the indicated person. - /// - [JsiiMethod(name: "greet", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", parametersJson: "[{\"docs\":{\"summary\":\"The person to be greeted.\"},\"name\":\"greetee\",\"optional\":true,\"type\":{\"fqn\":\"jsii-calc.Greetee\"}}]")] - public virtual double Greet(Amazon.JSII.Tests.CalculatorNamespace.IGreetee? greetee = null) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IGreetee)}, new object?[]{greetee}); - } - - /// Say ¡Hola! - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "hola")] - public virtual void Hola() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DontComplainAboutVariadicAfterOptional.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DontComplainAboutVariadicAfterOptional.cs deleted file mode 100644 index 92f970d0ea..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DontComplainAboutVariadicAfterOptional.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DontComplainAboutVariadicAfterOptional), fullyQualifiedName: "jsii-calc.DontComplainAboutVariadicAfterOptional")] - public class DontComplainAboutVariadicAfterOptional : DeputyBase - { - /// - /// Stability: Experimental - /// - public DontComplainAboutVariadicAfterOptional(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DontComplainAboutVariadicAfterOptional(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DontComplainAboutVariadicAfterOptional(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "optionalAndVariadic", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"optional\",\"optional\":true,\"type\":{\"primitive\":\"string\"}},{\"name\":\"things\",\"type\":{\"primitive\":\"string\"},\"variadic\":true}]")] - public virtual string OptionalAndVariadic(string? optional = null, params string[] things) - { - return InvokeInstanceMethod(new System.Type[]{typeof(string), typeof(string[])}, new object?[]{optional, things}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DoubleTrouble.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DoubleTrouble.cs deleted file mode 100644 index f8510f064a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/DoubleTrouble.cs +++ /dev/null @@ -1,54 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.DoubleTrouble), fullyQualifiedName: "jsii-calc.DoubleTrouble")] - public class DoubleTrouble : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IFriendlyRandomGenerator - { - /// - /// Stability: Experimental - /// - public DoubleTrouble(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DoubleTrouble(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected DoubleTrouble(DeputyProps props): base(props) - { - } - - /// Say hello! - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "hello", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - public virtual string Hello() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Returns another random number. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "next", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", isOverride: true)] - public virtual double Next() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EnumDispenser.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EnumDispenser.cs deleted file mode 100644 index 11304b8937..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EnumDispenser.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.EnumDispenser), fullyQualifiedName: "jsii-calc.EnumDispenser")] - public class EnumDispenser : DeputyBase - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected EnumDispenser(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected EnumDispenser(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "randomIntegerLikeEnum", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.AllTypesEnum\"}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.AllTypesEnum RandomIntegerLikeEnum() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.EnumDispenser), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "randomStringLikeEnum", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.StringEnum\"}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.StringEnum RandomStringLikeEnum() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.EnumDispenser), new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EraseUndefinedHashValues.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EraseUndefinedHashValues.cs deleted file mode 100644 index f5ae370708..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EraseUndefinedHashValues.cs +++ /dev/null @@ -1,67 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.EraseUndefinedHashValues), fullyQualifiedName: "jsii-calc.EraseUndefinedHashValues")] - public class EraseUndefinedHashValues : DeputyBase - { - /// - /// Stability: Experimental - /// - public EraseUndefinedHashValues(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected EraseUndefinedHashValues(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected EraseUndefinedHashValues(DeputyProps props): base(props) - { - } - - /// Returns `true` if `key` is defined in `opts`. - /// - /// Used to check that undefined/null hash values - /// are being erased when sending values from native code to JS. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "doesKeyExist", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"opts\",\"type\":{\"fqn\":\"jsii-calc.EraseUndefinedHashValuesOptions\"}},{\"name\":\"key\",\"type\":{\"primitive\":\"string\"}}]")] - public static bool DoesKeyExist(Amazon.JSII.Tests.CalculatorNamespace.IEraseUndefinedHashValuesOptions opts, string key) - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.EraseUndefinedHashValues), new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IEraseUndefinedHashValuesOptions), typeof(string)}, new object[]{opts, key}); - } - - /// We expect "prop1" to be erased. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "prop1IsNull", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"map\"}}}")] - public static System.Collections.Generic.IDictionary Prop1IsNull() - { - return InvokeStaticMethod>(typeof(Amazon.JSII.Tests.CalculatorNamespace.EraseUndefinedHashValues), new System.Type[]{}, new object[]{}); - } - - /// We expect "prop2" to be erased. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "prop2IsUndefined", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"map\"}}}")] - public static System.Collections.Generic.IDictionary Prop2IsUndefined() - { - return InvokeStaticMethod>(typeof(Amazon.JSII.Tests.CalculatorNamespace.EraseUndefinedHashValues), new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EraseUndefinedHashValuesOptions.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EraseUndefinedHashValuesOptions.cs deleted file mode 100644 index 210da73b00..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EraseUndefinedHashValuesOptions.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.EraseUndefinedHashValuesOptions")] - public class EraseUndefinedHashValuesOptions : Amazon.JSII.Tests.CalculatorNamespace.IEraseUndefinedHashValuesOptions - { - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "option1", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - public string? Option1 - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "option2", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - public string? Option2 - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EraseUndefinedHashValuesOptionsProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EraseUndefinedHashValuesOptionsProxy.cs deleted file mode 100644 index b052171dcb..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/EraseUndefinedHashValuesOptionsProxy.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IEraseUndefinedHashValuesOptions), fullyQualifiedName: "jsii-calc.EraseUndefinedHashValuesOptions")] - internal sealed class EraseUndefinedHashValuesOptionsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IEraseUndefinedHashValuesOptions - { - private EraseUndefinedHashValuesOptionsProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "option1", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public string? Option1 - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "option2", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public string? Option2 - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalClass.cs deleted file mode 100644 index c3637f9d89..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalClass.cs +++ /dev/null @@ -1,63 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ExperimentalClass), fullyQualifiedName: "jsii-calc.ExperimentalClass", parametersJson: "[{\"name\":\"readonlyString\",\"type\":{\"primitive\":\"string\"}},{\"name\":\"mutableNumber\",\"optional\":true,\"type\":{\"primitive\":\"number\"}}]")] - public class ExperimentalClass : DeputyBase - { - /// - /// Stability: Experimental - /// - public ExperimentalClass(string readonlyString, double? mutableNumber = null): base(new DeputyProps(new object?[]{readonlyString, mutableNumber})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ExperimentalClass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ExperimentalClass(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "method")] - public virtual void Method() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}")] - public virtual string ReadonlyProperty - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "mutableProperty", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - public virtual double? MutableProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalEnum.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalEnum.cs deleted file mode 100644 index 044ca3163c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalEnum.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - - /// - /// Stability: Experimental - /// - [JsiiEnum(nativeType: typeof(ExperimentalEnum), fullyQualifiedName: "jsii-calc.ExperimentalEnum")] - public enum ExperimentalEnum - { - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "OPTION_A")] - OPTION_A, - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "OPTION_B")] - OPTION_B - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalStruct.cs deleted file mode 100644 index ce67d8764d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalStruct.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.ExperimentalStruct")] - public class ExperimentalStruct : Amazon.JSII.Tests.CalculatorNamespace.IExperimentalStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string ReadonlyProperty - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalStructProxy.cs deleted file mode 100644 index d0d4e8c78e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExperimentalStructProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IExperimentalStruct), fullyQualifiedName: "jsii-calc.ExperimentalStruct")] - internal sealed class ExperimentalStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IExperimentalStruct - { - private ExperimentalStructProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}")] - public string ReadonlyProperty - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExportedBaseClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExportedBaseClass.cs deleted file mode 100644 index 12ba96ce45..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExportedBaseClass.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ExportedBaseClass), fullyQualifiedName: "jsii-calc.ExportedBaseClass", parametersJson: "[{\"name\":\"success\",\"type\":{\"primitive\":\"boolean\"}}]")] - public class ExportedBaseClass : DeputyBase - { - /// - /// Stability: Experimental - /// - public ExportedBaseClass(bool success): base(new DeputyProps(new object[]{success})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ExportedBaseClass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ExportedBaseClass(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "success", typeJson: "{\"primitive\":\"boolean\"}")] - public virtual bool Success - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExtendsInternalInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExtendsInternalInterface.cs deleted file mode 100644 index e421064e24..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExtendsInternalInterface.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.ExtendsInternalInterface")] - public class ExtendsInternalInterface : Amazon.JSII.Tests.CalculatorNamespace.IExtendsInternalInterface - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "boom", typeJson: "{\"primitive\":\"boolean\"}", isOverride: true)] - public bool Boom - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "prop", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string Prop - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExtendsInternalInterfaceProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExtendsInternalInterfaceProxy.cs deleted file mode 100644 index b59b2a688d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExtendsInternalInterfaceProxy.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IExtendsInternalInterface), fullyQualifiedName: "jsii-calc.ExtendsInternalInterface")] - internal sealed class ExtendsInternalInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IExtendsInternalInterface - { - private ExtendsInternalInterfaceProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "boom", typeJson: "{\"primitive\":\"boolean\"}")] - public bool Boom - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "prop", typeJson: "{\"primitive\":\"string\"}")] - public string Prop - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalClass.cs deleted file mode 100644 index 231a46621d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalClass.cs +++ /dev/null @@ -1,73 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ExternalClass), fullyQualifiedName: "jsii-calc.ExternalClass", parametersJson: "[{\"name\":\"readonlyString\",\"type\":{\"primitive\":\"string\"}},{\"name\":\"mutableNumber\",\"optional\":true,\"type\":{\"primitive\":\"number\"}}]")] - public class ExternalClass : DeputyBase - { - /// - /// Stability: Experimental - /// - /// External: true - /// - public ExternalClass(string readonlyString, double? mutableNumber = null): base(new DeputyProps(new object?[]{readonlyString, mutableNumber})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ExternalClass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ExternalClass(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiMethod(name: "method")] - public virtual void Method() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}")] - public virtual string ReadonlyProperty - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiOptional] - [JsiiProperty(name: "mutableProperty", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - public virtual double? MutableProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalEnum.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalEnum.cs deleted file mode 100644 index 2ba111f41d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalEnum.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiEnum(nativeType: typeof(ExternalEnum), fullyQualifiedName: "jsii-calc.ExternalEnum")] - public enum ExternalEnum - { - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiEnumMember(name: "OPTION_A")] - OPTION_A, - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiEnumMember(name: "OPTION_B")] - OPTION_B - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalStruct.cs deleted file mode 100644 index 51f8876d22..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalStruct.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiByValue(fqn: "jsii-calc.ExternalStruct")] - public class ExternalStruct : Amazon.JSII.Tests.CalculatorNamespace.IExternalStruct - { - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string ReadonlyProperty - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalStructProxy.cs deleted file mode 100644 index ba80d9af23..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ExternalStructProxy.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiTypeProxy(nativeType: typeof(IExternalStruct), fullyQualifiedName: "jsii-calc.ExternalStruct")] - internal sealed class ExternalStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IExternalStruct - { - private ExternalStructProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}")] - public string ReadonlyProperty - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/GiveMeStructs.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/GiveMeStructs.cs deleted file mode 100644 index 0f664d062b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/GiveMeStructs.cs +++ /dev/null @@ -1,73 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.GiveMeStructs), fullyQualifiedName: "jsii-calc.GiveMeStructs")] - public class GiveMeStructs : DeputyBase - { - /// - /// Stability: Experimental - /// - public GiveMeStructs(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected GiveMeStructs(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected GiveMeStructs(DeputyProps props): base(props) - { - } - - /// Accepts a struct of type DerivedStruct and returns a struct of type FirstStruct. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "derivedToFirst", returnsJson: "{\"type\":{\"fqn\":\"@scope/jsii-calc-lib.MyFirstStruct\"}}", parametersJson: "[{\"name\":\"derived\",\"type\":{\"fqn\":\"jsii-calc.DerivedStruct\"}}]")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct DerivedToFirst(Amazon.JSII.Tests.CalculatorNamespace.IDerivedStruct derived) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IDerivedStruct)}, new object[]{derived}); - } - - /// Returns the boolean from a DerivedStruct struct. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "readDerivedNonPrimitive", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.DoubleTrouble\"}}", parametersJson: "[{\"name\":\"derived\",\"type\":{\"fqn\":\"jsii-calc.DerivedStruct\"}}]")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.DoubleTrouble ReadDerivedNonPrimitive(Amazon.JSII.Tests.CalculatorNamespace.IDerivedStruct derived) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IDerivedStruct)}, new object[]{derived}); - } - - /// Returns the "anumber" from a MyFirstStruct struct; - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "readFirstNumber", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", parametersJson: "[{\"name\":\"first\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.MyFirstStruct\"}}]")] - public virtual double ReadFirstNumber(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct first) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct)}, new object[]{first}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "structLiteral", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.StructWithOnlyOptionals\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IStructWithOnlyOptionals StructLiteral - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Greetee.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Greetee.cs deleted file mode 100644 index 48d1f46546..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Greetee.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// These are some arguments you can pass to a method. - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.Greetee")] - public class Greetee : Amazon.JSII.Tests.CalculatorNamespace.IGreetee - { - /// The name of the greetee. - /// - /// Default: world - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "name", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - public string? Name - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/GreeteeProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/GreeteeProxy.cs deleted file mode 100644 index 063f33cc48..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/GreeteeProxy.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// These are some arguments you can pass to a method. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IGreetee), fullyQualifiedName: "jsii-calc.Greetee")] - internal sealed class GreeteeProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IGreetee - { - private GreeteeProxy(ByRefValue reference): base(reference) - { - } - - /// The name of the greetee. - /// - /// Default: world - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "name", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public string? Name - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/GreetingAugmenter.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/GreetingAugmenter.cs deleted file mode 100644 index 6b9c1dcb9f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/GreetingAugmenter.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.GreetingAugmenter), fullyQualifiedName: "jsii-calc.GreetingAugmenter")] - public class GreetingAugmenter : DeputyBase - { - /// - /// Stability: Experimental - /// - public GreetingAugmenter(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected GreetingAugmenter(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected GreetingAugmenter(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "betterGreeting", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"friendly\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.IFriendly\"}}]")] - public virtual string BetterGreeting(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly friendly) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly)}, new object[]{friendly}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymousImplementationProvider.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymousImplementationProvider.cs deleted file mode 100644 index b05ab50ed2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymousImplementationProvider.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// We can return an anonymous interface implementation from an override without losing the interface declarations. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IAnonymousImplementationProvider), fullyQualifiedName: "jsii-calc.IAnonymousImplementationProvider")] - public interface IAnonymousImplementationProvider - { - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "provideAsClass", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.Implementation\"}}")] - Amazon.JSII.Tests.CalculatorNamespace.Implementation ProvideAsClass(); - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "provideAsInterface", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.IAnonymouslyImplementMe\"}}")] - Amazon.JSII.Tests.CalculatorNamespace.IAnonymouslyImplementMe ProvideAsInterface(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymousImplementationProviderProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymousImplementationProviderProxy.cs deleted file mode 100644 index 024b37f5d4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymousImplementationProviderProxy.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// We can return an anonymous interface implementation from an override without losing the interface declarations. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IAnonymousImplementationProvider), fullyQualifiedName: "jsii-calc.IAnonymousImplementationProvider")] - internal sealed class IAnonymousImplementationProviderProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IAnonymousImplementationProvider - { - private IAnonymousImplementationProviderProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "provideAsClass", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.Implementation\"}}")] - public Amazon.JSII.Tests.CalculatorNamespace.Implementation ProvideAsClass() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "provideAsInterface", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.IAnonymouslyImplementMe\"}}")] - public Amazon.JSII.Tests.CalculatorNamespace.IAnonymouslyImplementMe ProvideAsInterface() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymouslyImplementMe.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymouslyImplementMe.cs deleted file mode 100644 index e597158e5b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymouslyImplementMe.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IAnonymouslyImplementMe), fullyQualifiedName: "jsii-calc.IAnonymouslyImplementMe")] - public interface IAnonymouslyImplementMe - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"number\"}")] - double Value - { - get; - } - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "verb", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - string Verb(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymouslyImplementMeProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymouslyImplementMeProxy.cs deleted file mode 100644 index 8332a597ee..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnonymouslyImplementMeProxy.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IAnonymouslyImplementMe), fullyQualifiedName: "jsii-calc.IAnonymouslyImplementMe")] - internal sealed class IAnonymouslyImplementMeProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IAnonymouslyImplementMe - { - private IAnonymouslyImplementMeProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"number\"}")] - public double Value - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "verb", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public string Verb() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnotherPublicInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnotherPublicInterface.cs deleted file mode 100644 index a9e6e70208..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnotherPublicInterface.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IAnotherPublicInterface), fullyQualifiedName: "jsii-calc.IAnotherPublicInterface")] - public interface IAnotherPublicInterface - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "a", typeJson: "{\"primitive\":\"string\"}")] - string A - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnotherPublicInterfaceProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnotherPublicInterfaceProxy.cs deleted file mode 100644 index c8cc9365ae..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IAnotherPublicInterfaceProxy.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IAnotherPublicInterface), fullyQualifiedName: "jsii-calc.IAnotherPublicInterface")] - internal sealed class IAnotherPublicInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IAnotherPublicInterface - { - private IAnotherPublicInterfaceProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "a", typeJson: "{\"primitive\":\"string\"}")] - public string A - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBell.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBell.cs deleted file mode 100644 index 8d9660f909..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBell.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IBell), fullyQualifiedName: "jsii-calc.IBell")] - public interface IBell - { - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "ring")] - void Ring(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBellProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBellProxy.cs deleted file mode 100644 index c97675e990..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBellProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IBell), fullyQualifiedName: "jsii-calc.IBell")] - internal sealed class IBellProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IBell - { - private IBellProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "ring")] - public void Ring() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBellRinger.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBellRinger.cs deleted file mode 100644 index c3ce3e7eee..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBellRinger.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Takes the object parameter as an interface. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IBellRinger), fullyQualifiedName: "jsii-calc.IBellRinger")] - public interface IBellRinger - { - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "yourTurn", parametersJson: "[{\"name\":\"bell\",\"type\":{\"fqn\":\"jsii-calc.IBell\"}}]")] - void YourTurn(Amazon.JSII.Tests.CalculatorNamespace.IBell bell); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBellRingerProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBellRingerProxy.cs deleted file mode 100644 index 58c94edc91..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IBellRingerProxy.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Takes the object parameter as an interface. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IBellRinger), fullyQualifiedName: "jsii-calc.IBellRinger")] - internal sealed class IBellRingerProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IBellRinger - { - private IBellRingerProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "yourTurn", parametersJson: "[{\"name\":\"bell\",\"type\":{\"fqn\":\"jsii-calc.IBell\"}}]")] - public void YourTurn(Amazon.JSII.Tests.CalculatorNamespace.IBell bell) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IBell)}, new object[]{bell}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ICalculatorProps.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ICalculatorProps.cs deleted file mode 100644 index 7b6036eadd..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ICalculatorProps.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Properties for Calculator. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(ICalculatorProps), fullyQualifiedName: "jsii-calc.CalculatorProps")] - public interface ICalculatorProps - { - /// The initial value of the calculator. - /// - /// NOTE: Any number works here, it's fine. - /// - /// Default: 0 - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "initialValue", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - double? InitialValue - { - get - { - return null; - } - } - - /// The maximum value the calculator can store. - /// - /// Default: none - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "maximumValue", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - double? MaximumValue - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IChildStruct982.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IChildStruct982.cs deleted file mode 100644 index 547a089a6d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IChildStruct982.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IChildStruct982), fullyQualifiedName: "jsii-calc.ChildStruct982")] - public interface IChildStruct982 : Amazon.JSII.Tests.CalculatorNamespace.IParentStruct982 - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bar", typeJson: "{\"primitive\":\"number\"}")] - double Bar - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IConcreteBellRinger.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IConcreteBellRinger.cs deleted file mode 100644 index 30046d2fe7..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IConcreteBellRinger.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Takes the object parameter as a calss. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IConcreteBellRinger), fullyQualifiedName: "jsii-calc.IConcreteBellRinger")] - public interface IConcreteBellRinger - { - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "yourTurn", parametersJson: "[{\"name\":\"bell\",\"type\":{\"fqn\":\"jsii-calc.Bell\"}}]")] - void YourTurn(Amazon.JSII.Tests.CalculatorNamespace.Bell bell); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IConcreteBellRingerProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IConcreteBellRingerProxy.cs deleted file mode 100644 index 2070d3934b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IConcreteBellRingerProxy.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Takes the object parameter as a calss. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IConcreteBellRinger), fullyQualifiedName: "jsii-calc.IConcreteBellRinger")] - internal sealed class IConcreteBellRingerProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IConcreteBellRinger - { - private IConcreteBellRingerProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "yourTurn", parametersJson: "[{\"name\":\"bell\",\"type\":{\"fqn\":\"jsii-calc.Bell\"}}]")] - public void YourTurn(Amazon.JSII.Tests.CalculatorNamespace.Bell bell) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.Bell)}, new object[]{bell}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IConfusingToJacksonStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IConfusingToJacksonStruct.cs deleted file mode 100644 index 6f977dec15..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IConfusingToJacksonStruct.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IConfusingToJacksonStruct), fullyQualifiedName: "jsii-calc.ConfusingToJacksonStruct")] - public interface IConfusingToJacksonStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "unionProperty", typeJson: "{\"union\":{\"types\":[{\"fqn\":\"@scope/jsii-calc-lib.IFriendly\"},{\"collection\":{\"elementtype\":{\"union\":{\"types\":[{\"fqn\":\"@scope/jsii-calc-lib.IFriendly\"},{\"fqn\":\"jsii-calc.AbstractClass\"}]}},\"kind\":\"array\"}}]}}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - object? UnionProperty - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDeprecatedInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDeprecatedInterface.cs deleted file mode 100644 index cf3eec3a0b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDeprecatedInterface.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Deprecated - /// - [JsiiInterface(nativeType: typeof(IDeprecatedInterface), fullyQualifiedName: "jsii-calc.IDeprecatedInterface")] - [System.Obsolete("useless interface")] - public interface IDeprecatedInterface - { - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "mutableProperty", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - [System.Obsolete("could be better")] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - double? MutableProperty - { - get - { - return null; - } - set - { - throw new System.NotSupportedException("'set' for 'MutableProperty' is not implemented"); - } - } - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "method")] - [System.Obsolete("services no purpose")] - void Method(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDeprecatedInterfaceProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDeprecatedInterfaceProxy.cs deleted file mode 100644 index 3088276b2b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDeprecatedInterfaceProxy.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Deprecated - /// - [JsiiTypeProxy(nativeType: typeof(IDeprecatedInterface), fullyQualifiedName: "jsii-calc.IDeprecatedInterface")] - [System.Obsolete("useless interface")] - internal sealed class IDeprecatedInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IDeprecatedInterface - { - private IDeprecatedInterfaceProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Deprecated - /// - [JsiiOptional] - [JsiiProperty(name: "mutableProperty", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - [System.Obsolete("could be better")] - public double? MutableProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "method")] - [System.Obsolete("services no purpose")] - public void Method() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDeprecatedStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDeprecatedStruct.cs deleted file mode 100644 index 9ac07e113a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDeprecatedStruct.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Deprecated - /// - [JsiiInterface(nativeType: typeof(IDeprecatedStruct), fullyQualifiedName: "jsii-calc.DeprecatedStruct")] - [System.Obsolete("it just wraps a string")] - public interface IDeprecatedStruct - { - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}")] - [System.Obsolete("well, yeah")] - string ReadonlyProperty - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDerivedStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDerivedStruct.cs deleted file mode 100644 index d13374e934..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDerivedStruct.cs +++ /dev/null @@ -1,82 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// A struct which derives from another struct. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IDerivedStruct), fullyQualifiedName: "jsii-calc.DerivedStruct")] - public interface IDerivedStruct : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IMyFirstStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "anotherRequired", typeJson: "{\"primitive\":\"date\"}")] - System.DateTime AnotherRequired - { - get; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bool", typeJson: "{\"primitive\":\"boolean\"}")] - bool Bool - { - get; - } - - /// An example of a non primitive property. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "nonPrimitive", typeJson: "{\"fqn\":\"jsii-calc.DoubleTrouble\"}")] - Amazon.JSII.Tests.CalculatorNamespace.DoubleTrouble NonPrimitive - { - get; - } - - /// This is optional. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "anotherOptional", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"},\"kind\":\"map\"}}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - System.Collections.Generic.IDictionary? AnotherOptional - { - get - { - return null; - } - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "optionalAny", typeJson: "{\"primitive\":\"any\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - object? OptionalAny - { - get - { - return null; - } - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "optionalArray", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string[]? OptionalArray - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceBaseLevelStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceBaseLevelStruct.cs deleted file mode 100644 index 593ddc3b2f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceBaseLevelStruct.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IDiamondInheritanceBaseLevelStruct), fullyQualifiedName: "jsii-calc.DiamondInheritanceBaseLevelStruct")] - public interface IDiamondInheritanceBaseLevelStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "baseLevelProperty", typeJson: "{\"primitive\":\"string\"}")] - string BaseLevelProperty - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceFirstMidLevelStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceFirstMidLevelStruct.cs deleted file mode 100644 index 122e1e2e8c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceFirstMidLevelStruct.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IDiamondInheritanceFirstMidLevelStruct), fullyQualifiedName: "jsii-calc.DiamondInheritanceFirstMidLevelStruct")] - public interface IDiamondInheritanceFirstMidLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceBaseLevelStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "firstMidLevelProperty", typeJson: "{\"primitive\":\"string\"}")] - string FirstMidLevelProperty - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceSecondMidLevelStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceSecondMidLevelStruct.cs deleted file mode 100644 index b7d5765c88..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceSecondMidLevelStruct.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IDiamondInheritanceSecondMidLevelStruct), fullyQualifiedName: "jsii-calc.DiamondInheritanceSecondMidLevelStruct")] - public interface IDiamondInheritanceSecondMidLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceBaseLevelStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "secondMidLevelProperty", typeJson: "{\"primitive\":\"string\"}")] - string SecondMidLevelProperty - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceTopLevelStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceTopLevelStruct.cs deleted file mode 100644 index 4db183c2f0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IDiamondInheritanceTopLevelStruct.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IDiamondInheritanceTopLevelStruct), fullyQualifiedName: "jsii-calc.DiamondInheritanceTopLevelStruct")] - public interface IDiamondInheritanceTopLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceFirstMidLevelStruct, Amazon.JSII.Tests.CalculatorNamespace.IDiamondInheritanceSecondMidLevelStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "topLevelProperty", typeJson: "{\"primitive\":\"string\"}")] - string TopLevelProperty - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IEraseUndefinedHashValuesOptions.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IEraseUndefinedHashValuesOptions.cs deleted file mode 100644 index 9e531f3fc3..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IEraseUndefinedHashValuesOptions.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IEraseUndefinedHashValuesOptions), fullyQualifiedName: "jsii-calc.EraseUndefinedHashValuesOptions")] - public interface IEraseUndefinedHashValuesOptions - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "option1", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? Option1 - { - get - { - return null; - } - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "option2", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? Option2 - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExperimentalInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExperimentalInterface.cs deleted file mode 100644 index 6490862fd1..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExperimentalInterface.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IExperimentalInterface), fullyQualifiedName: "jsii-calc.IExperimentalInterface")] - public interface IExperimentalInterface - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "mutableProperty", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - double? MutableProperty - { - get - { - return null; - } - set - { - throw new System.NotSupportedException("'set' for 'MutableProperty' is not implemented"); - } - } - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "method")] - void Method(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExperimentalInterfaceProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExperimentalInterfaceProxy.cs deleted file mode 100644 index 0116a80ac4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExperimentalInterfaceProxy.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IExperimentalInterface), fullyQualifiedName: "jsii-calc.IExperimentalInterface")] - internal sealed class IExperimentalInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IExperimentalInterface - { - private IExperimentalInterfaceProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "mutableProperty", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - public double? MutableProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "method")] - public void Method() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExperimentalStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExperimentalStruct.cs deleted file mode 100644 index b7e3ead730..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExperimentalStruct.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IExperimentalStruct), fullyQualifiedName: "jsii-calc.ExperimentalStruct")] - public interface IExperimentalStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}")] - string ReadonlyProperty - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExtendsInternalInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExtendsInternalInterface.cs deleted file mode 100644 index 4d4acef34c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExtendsInternalInterface.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IExtendsInternalInterface), fullyQualifiedName: "jsii-calc.ExtendsInternalInterface")] - public interface IExtendsInternalInterface - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "boom", typeJson: "{\"primitive\":\"boolean\"}")] - bool Boom - { - get; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "prop", typeJson: "{\"primitive\":\"string\"}")] - string Prop - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExtendsPrivateInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExtendsPrivateInterface.cs deleted file mode 100644 index bfa38ca241..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExtendsPrivateInterface.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IExtendsPrivateInterface), fullyQualifiedName: "jsii-calc.IExtendsPrivateInterface")] - public interface IExtendsPrivateInterface - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "moreThings", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}")] - string[] MoreThings - { - get; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "private", typeJson: "{\"primitive\":\"string\"}")] - string Private - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExtendsPrivateInterfaceProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExtendsPrivateInterfaceProxy.cs deleted file mode 100644 index 1487123ed0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExtendsPrivateInterfaceProxy.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IExtendsPrivateInterface), fullyQualifiedName: "jsii-calc.IExtendsPrivateInterface")] - internal sealed class IExtendsPrivateInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IExtendsPrivateInterface - { - private IExtendsPrivateInterfaceProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "moreThings", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}")] - public string[] MoreThings - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "private", typeJson: "{\"primitive\":\"string\"}")] - public string Private - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExternalInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExternalInterface.cs deleted file mode 100644 index 1ce26225cb..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExternalInterface.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiInterface(nativeType: typeof(IExternalInterface), fullyQualifiedName: "jsii-calc.IExternalInterface")] - public interface IExternalInterface - { - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiProperty(name: "mutableProperty", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - double? MutableProperty - { - get - { - return null; - } - set - { - throw new System.NotSupportedException("'set' for 'MutableProperty' is not implemented"); - } - } - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiMethod(name: "method")] - void Method(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExternalInterfaceProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExternalInterfaceProxy.cs deleted file mode 100644 index f7615542b5..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExternalInterfaceProxy.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiTypeProxy(nativeType: typeof(IExternalInterface), fullyQualifiedName: "jsii-calc.IExternalInterface")] - internal sealed class IExternalInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IExternalInterface - { - private IExternalInterfaceProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiOptional] - [JsiiProperty(name: "mutableProperty", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - public double? MutableProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiMethod(name: "method")] - public void Method() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExternalStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExternalStruct.cs deleted file mode 100644 index ab53637570..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IExternalStruct.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiInterface(nativeType: typeof(IExternalStruct), fullyQualifiedName: "jsii-calc.ExternalStruct")] - public interface IExternalStruct - { - /// - /// Stability: Experimental - /// - /// External: true - /// - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}")] - string ReadonlyProperty - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlier.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlier.cs deleted file mode 100644 index 044cfa5b85..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlier.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Even friendlier classes can implement this interface. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IFriendlier), fullyQualifiedName: "jsii-calc.IFriendlier")] - public interface IFriendlier : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly - { - /// Say farewell. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "farewell", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - string Farewell(); - /// Say goodbye. - /// A goodbye blessing. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "goodbye", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - string Goodbye(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlierProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlierProxy.cs deleted file mode 100644 index f72d7a18f8..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlierProxy.cs +++ /dev/null @@ -1,50 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Even friendlier classes can implement this interface. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IFriendlier), fullyQualifiedName: "jsii-calc.IFriendlier")] - internal sealed class IFriendlierProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IFriendlier - { - private IFriendlierProxy(ByRefValue reference): base(reference) - { - } - - /// Say farewell. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "farewell", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public string Farewell() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Say goodbye. - /// A goodbye blessing. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "goodbye", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public string Goodbye() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Say hello! - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "hello", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - [System.Obsolete()] - public string Hello() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlyRandomGenerator.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlyRandomGenerator.cs deleted file mode 100644 index 46688ac5cf..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlyRandomGenerator.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IFriendlyRandomGenerator), fullyQualifiedName: "jsii-calc.IFriendlyRandomGenerator")] - public interface IFriendlyRandomGenerator : Amazon.JSII.Tests.CalculatorNamespace.IRandomNumberGenerator, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly - { - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlyRandomGeneratorProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlyRandomGeneratorProxy.cs deleted file mode 100644 index d3fec56a59..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IFriendlyRandomGeneratorProxy.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IFriendlyRandomGenerator), fullyQualifiedName: "jsii-calc.IFriendlyRandomGenerator")] - internal sealed class IFriendlyRandomGeneratorProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IFriendlyRandomGenerator - { - private IFriendlyRandomGeneratorProxy(ByRefValue reference): base(reference) - { - } - - /// Returns another random number. - /// A random number. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "next", returnsJson: "{\"type\":{\"primitive\":\"number\"}}")] - public double Next() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Say hello! - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "hello", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - [System.Obsolete()] - public string Hello() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IGreetee.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IGreetee.cs deleted file mode 100644 index dd4e12710b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IGreetee.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// These are some arguments you can pass to a method. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IGreetee), fullyQualifiedName: "jsii-calc.Greetee")] - public interface IGreetee - { - /// The name of the greetee. - /// - /// Default: world - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "name", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? Name - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IImplictBaseOfBase.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IImplictBaseOfBase.cs deleted file mode 100644 index 20d87af703..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IImplictBaseOfBase.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IImplictBaseOfBase), fullyQualifiedName: "jsii-calc.ImplictBaseOfBase")] - public interface IImplictBaseOfBase : Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.IBaseProps - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "goo", typeJson: "{\"primitive\":\"date\"}")] - System.DateTime Goo - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceImplementedByAbstractClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceImplementedByAbstractClass.cs deleted file mode 100644 index 31fb8626cd..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceImplementedByAbstractClass.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// awslabs/jsii#220 Abstract return type. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IInterfaceImplementedByAbstractClass), fullyQualifiedName: "jsii-calc.IInterfaceImplementedByAbstractClass")] - public interface IInterfaceImplementedByAbstractClass - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "propFromInterface", typeJson: "{\"primitive\":\"string\"}")] - string PropFromInterface - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceImplementedByAbstractClassProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceImplementedByAbstractClassProxy.cs deleted file mode 100644 index a0a1c599dc..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceImplementedByAbstractClassProxy.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// awslabs/jsii#220 Abstract return type. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IInterfaceImplementedByAbstractClass), fullyQualifiedName: "jsii-calc.IInterfaceImplementedByAbstractClass")] - internal sealed class IInterfaceImplementedByAbstractClassProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceImplementedByAbstractClass - { - private IInterfaceImplementedByAbstractClassProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "propFromInterface", typeJson: "{\"primitive\":\"string\"}")] - public string PropFromInterface - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceThatShouldNotBeADataType.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceThatShouldNotBeADataType.cs deleted file mode 100644 index 2ed4afd7aa..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceThatShouldNotBeADataType.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Even though this interface has only properties, it is disqualified from being a datatype because it inherits from an interface that is not a datatype. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IInterfaceThatShouldNotBeADataType), fullyQualifiedName: "jsii-calc.IInterfaceThatShouldNotBeADataType")] - public interface IInterfaceThatShouldNotBeADataType : Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithMethods - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "otherValue", typeJson: "{\"primitive\":\"string\"}")] - string OtherValue - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceThatShouldNotBeADataTypeProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceThatShouldNotBeADataTypeProxy.cs deleted file mode 100644 index 8d94bf4959..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceThatShouldNotBeADataTypeProxy.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Even though this interface has only properties, it is disqualified from being a datatype because it inherits from an interface that is not a datatype. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IInterfaceThatShouldNotBeADataType), fullyQualifiedName: "jsii-calc.IInterfaceThatShouldNotBeADataType")] - internal sealed class IInterfaceThatShouldNotBeADataTypeProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceThatShouldNotBeADataType - { - private IInterfaceThatShouldNotBeADataTypeProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "otherValue", typeJson: "{\"primitive\":\"string\"}")] - public string OtherValue - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"string\"}")] - public string Value - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "doThings")] - public void DoThings() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithInternal.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithInternal.cs deleted file mode 100644 index 53ffdd4132..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithInternal.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IInterfaceWithInternal), fullyQualifiedName: "jsii-calc.IInterfaceWithInternal")] - public interface IInterfaceWithInternal - { - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "visible")] - void Visible(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithInternalProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithInternalProxy.cs deleted file mode 100644 index 7fd3e24542..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithInternalProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IInterfaceWithInternal), fullyQualifiedName: "jsii-calc.IInterfaceWithInternal")] - internal sealed class IInterfaceWithInternalProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithInternal - { - private IInterfaceWithInternalProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "visible")] - public void Visible() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithMethods.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithMethods.cs deleted file mode 100644 index e3f276336c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithMethods.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IInterfaceWithMethods), fullyQualifiedName: "jsii-calc.IInterfaceWithMethods")] - public interface IInterfaceWithMethods - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"string\"}")] - string Value - { - get; - } - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "doThings")] - void DoThings(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithMethodsProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithMethodsProxy.cs deleted file mode 100644 index e995d959d3..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithMethodsProxy.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IInterfaceWithMethods), fullyQualifiedName: "jsii-calc.IInterfaceWithMethods")] - internal sealed class IInterfaceWithMethodsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithMethods - { - private IInterfaceWithMethodsProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"string\"}")] - public string Value - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "doThings")] - public void DoThings() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithOptionalMethodArguments.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithOptionalMethodArguments.cs deleted file mode 100644 index b5dffd51a6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithOptionalMethodArguments.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// awslabs/jsii#175 Interface proxies (and builders) do not respect optional arguments in methods. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IInterfaceWithOptionalMethodArguments), fullyQualifiedName: "jsii-calc.IInterfaceWithOptionalMethodArguments")] - public interface IInterfaceWithOptionalMethodArguments - { - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "hello", parametersJson: "[{\"name\":\"arg1\",\"type\":{\"primitive\":\"string\"}},{\"name\":\"arg2\",\"optional\":true,\"type\":{\"primitive\":\"number\"}}]")] - void Hello(string arg1, double? arg2 = null); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithOptionalMethodArgumentsProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithOptionalMethodArgumentsProxy.cs deleted file mode 100644 index 6646913a80..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithOptionalMethodArgumentsProxy.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// awslabs/jsii#175 Interface proxies (and builders) do not respect optional arguments in methods. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IInterfaceWithOptionalMethodArguments), fullyQualifiedName: "jsii-calc.IInterfaceWithOptionalMethodArguments")] - internal sealed class IInterfaceWithOptionalMethodArgumentsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithOptionalMethodArguments - { - private IInterfaceWithOptionalMethodArgumentsProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "hello", parametersJson: "[{\"name\":\"arg1\",\"type\":{\"primitive\":\"string\"}},{\"name\":\"arg2\",\"optional\":true,\"type\":{\"primitive\":\"number\"}}]")] - public void Hello(string arg1, double? arg2 = null) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(string), typeof(double)}, new object?[]{arg1, arg2}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithProperties.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithProperties.cs deleted file mode 100644 index 294f1202d9..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithProperties.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IInterfaceWithProperties), fullyQualifiedName: "jsii-calc.IInterfaceWithProperties")] - public interface IInterfaceWithProperties - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "readOnlyString", typeJson: "{\"primitive\":\"string\"}")] - string ReadOnlyString - { - get; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "readWriteString", typeJson: "{\"primitive\":\"string\"}")] - string ReadWriteString - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithPropertiesExtension.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithPropertiesExtension.cs deleted file mode 100644 index bc3a8dd689..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithPropertiesExtension.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IInterfaceWithPropertiesExtension), fullyQualifiedName: "jsii-calc.IInterfaceWithPropertiesExtension")] - public interface IInterfaceWithPropertiesExtension : Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithProperties - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"number\"}")] - double Foo - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithPropertiesExtensionProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithPropertiesExtensionProxy.cs deleted file mode 100644 index 7925b7b394..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithPropertiesExtensionProxy.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IInterfaceWithPropertiesExtension), fullyQualifiedName: "jsii-calc.IInterfaceWithPropertiesExtension")] - internal sealed class IInterfaceWithPropertiesExtensionProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithPropertiesExtension - { - private IInterfaceWithPropertiesExtensionProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"number\"}")] - public double Foo - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "readOnlyString", typeJson: "{\"primitive\":\"string\"}")] - public string ReadOnlyString - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "readWriteString", typeJson: "{\"primitive\":\"string\"}")] - public string ReadWriteString - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithPropertiesProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithPropertiesProxy.cs deleted file mode 100644 index 4e38afd9d6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IInterfaceWithPropertiesProxy.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IInterfaceWithProperties), fullyQualifiedName: "jsii-calc.IInterfaceWithProperties")] - internal sealed class IInterfaceWithPropertiesProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithProperties - { - private IInterfaceWithPropertiesProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "readOnlyString", typeJson: "{\"primitive\":\"string\"}")] - public string ReadOnlyString - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "readWriteString", typeJson: "{\"primitive\":\"string\"}")] - public string ReadWriteString - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417Derived.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417Derived.cs deleted file mode 100644 index 7e0e6c7eca..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417Derived.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IJSII417Derived), fullyQualifiedName: "jsii-calc.IJSII417Derived")] - public interface IJSII417Derived : Amazon.JSII.Tests.CalculatorNamespace.IJSII417PublicBaseOfBase - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "property", typeJson: "{\"primitive\":\"string\"}")] - string Property - { - get; - } - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "bar")] - void Bar(); - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "baz")] - void Baz(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417DerivedProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417DerivedProxy.cs deleted file mode 100644 index 7802c21a47..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417DerivedProxy.cs +++ /dev/null @@ -1,62 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IJSII417Derived), fullyQualifiedName: "jsii-calc.IJSII417Derived")] - internal sealed class IJSII417DerivedProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IJSII417Derived - { - private IJSII417DerivedProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "property", typeJson: "{\"primitive\":\"string\"}")] - public string Property - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "hasRoot", typeJson: "{\"primitive\":\"boolean\"}")] - public bool HasRoot - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "bar")] - public void Bar() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "baz")] - public void Baz() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "foo")] - public void Foo() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417PublicBaseOfBase.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417PublicBaseOfBase.cs deleted file mode 100644 index c5681e0a2b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417PublicBaseOfBase.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IJSII417PublicBaseOfBase), fullyQualifiedName: "jsii-calc.IJSII417PublicBaseOfBase")] - public interface IJSII417PublicBaseOfBase - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "hasRoot", typeJson: "{\"primitive\":\"boolean\"}")] - bool HasRoot - { - get; - } - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "foo")] - void Foo(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417PublicBaseOfBaseProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417PublicBaseOfBaseProxy.cs deleted file mode 100644 index 01a7b4700f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJSII417PublicBaseOfBaseProxy.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IJSII417PublicBaseOfBase), fullyQualifiedName: "jsii-calc.IJSII417PublicBaseOfBase")] - internal sealed class IJSII417PublicBaseOfBaseProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IJSII417PublicBaseOfBase - { - private IJSII417PublicBaseOfBaseProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "hasRoot", typeJson: "{\"primitive\":\"boolean\"}")] - public bool HasRoot - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "foo")] - public void Foo() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487External.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487External.cs deleted file mode 100644 index de1260883b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487External.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IJsii487External), fullyQualifiedName: "jsii-calc.IJsii487External")] - public interface IJsii487External - { - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487External2.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487External2.cs deleted file mode 100644 index 2eaeb8cba4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487External2.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IJsii487External2), fullyQualifiedName: "jsii-calc.IJsii487External2")] - public interface IJsii487External2 - { - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487External2Proxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487External2Proxy.cs deleted file mode 100644 index a1c3449a59..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487External2Proxy.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IJsii487External2), fullyQualifiedName: "jsii-calc.IJsii487External2")] - internal sealed class IJsii487External2Proxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IJsii487External2 - { - private IJsii487External2Proxy(ByRefValue reference): base(reference) - { - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487ExternalProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487ExternalProxy.cs deleted file mode 100644 index 6d6488ae8f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii487ExternalProxy.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IJsii487External), fullyQualifiedName: "jsii-calc.IJsii487External")] - internal sealed class IJsii487ExternalProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IJsii487External - { - private IJsii487ExternalProxy(ByRefValue reference): base(reference) - { - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii496.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii496.cs deleted file mode 100644 index 06d683366f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii496.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IJsii496), fullyQualifiedName: "jsii-calc.IJsii496")] - public interface IJsii496 - { - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii496Proxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii496Proxy.cs deleted file mode 100644 index bc1adf5c06..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IJsii496Proxy.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IJsii496), fullyQualifiedName: "jsii-calc.IJsii496")] - internal sealed class IJsii496Proxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IJsii496 - { - private IJsii496Proxy(ByRefValue reference): base(reference) - { - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ILoadBalancedFargateServiceProps.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ILoadBalancedFargateServiceProps.cs deleted file mode 100644 index 13e935d855..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ILoadBalancedFargateServiceProps.cs +++ /dev/null @@ -1,120 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// jsii#298: show default values in sphinx documentation, and respect newlines. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(ILoadBalancedFargateServiceProps), fullyQualifiedName: "jsii-calc.LoadBalancedFargateServiceProps")] - public interface ILoadBalancedFargateServiceProps - { - /// The container port of the application load balancer attached to your Fargate service. - /// - /// Corresponds to container port mapping. - /// - /// Default: 80 - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "containerPort", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - double? ContainerPort - { - get - { - return null; - } - } - - /// 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 - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "cpu", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? Cpu - { - get - { - return null; - } - } - - /// 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 - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "memoryMiB", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? MemoryMiB - { - get - { - return null; - } - } - - /// Determines whether the Application Load Balancer will be internet-facing. - /// - /// Default: true - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "publicLoadBalancer", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - bool? PublicLoadBalancer - { - get - { - return null; - } - } - - /// Determines whether your Fargate Service will be assigned a public IP address. - /// - /// Default: false - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "publicTasks", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - bool? PublicTasks - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IMutableObjectLiteral.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IMutableObjectLiteral.cs deleted file mode 100644 index 4a4a0ef2ec..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IMutableObjectLiteral.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IMutableObjectLiteral), fullyQualifiedName: "jsii-calc.IMutableObjectLiteral")] - public interface IMutableObjectLiteral - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"string\"}")] - string Value - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IMutableObjectLiteralProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IMutableObjectLiteralProxy.cs deleted file mode 100644 index d40ea185a4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IMutableObjectLiteralProxy.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IMutableObjectLiteral), fullyQualifiedName: "jsii-calc.IMutableObjectLiteral")] - internal sealed class IMutableObjectLiteralProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IMutableObjectLiteral - { - private IMutableObjectLiteralProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"string\"}")] - public string Value - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INestedStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INestedStruct.cs deleted file mode 100644 index 0a9b2170b4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INestedStruct.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(INestedStruct), fullyQualifiedName: "jsii-calc.NestedStruct")] - public interface INestedStruct - { - /// When provided, must be > 0. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "numberProp", typeJson: "{\"primitive\":\"number\"}")] - double NumberProp - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INonInternalInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INonInternalInterface.cs deleted file mode 100644 index 74382048e8..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INonInternalInterface.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(INonInternalInterface), fullyQualifiedName: "jsii-calc.INonInternalInterface")] - public interface INonInternalInterface : Amazon.JSII.Tests.CalculatorNamespace.IAnotherPublicInterface - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "b", typeJson: "{\"primitive\":\"string\"}")] - string B - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "c", typeJson: "{\"primitive\":\"string\"}")] - string C - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INonInternalInterfaceProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INonInternalInterfaceProxy.cs deleted file mode 100644 index 9aef3b93df..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INonInternalInterfaceProxy.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(INonInternalInterface), fullyQualifiedName: "jsii-calc.INonInternalInterface")] - internal sealed class INonInternalInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.INonInternalInterface - { - private INonInternalInterfaceProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "b", typeJson: "{\"primitive\":\"string\"}")] - public string B - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "c", typeJson: "{\"primitive\":\"string\"}")] - public string C - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "a", typeJson: "{\"primitive\":\"string\"}")] - public string A - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INullShouldBeTreatedAsUndefinedData.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INullShouldBeTreatedAsUndefinedData.cs deleted file mode 100644 index e2961d22da..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/INullShouldBeTreatedAsUndefinedData.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(INullShouldBeTreatedAsUndefinedData), fullyQualifiedName: "jsii-calc.NullShouldBeTreatedAsUndefinedData")] - public interface INullShouldBeTreatedAsUndefinedData - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "arrayWithThreeElementsAndUndefinedAsSecondArgument", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"array\"}}")] - object[] ArrayWithThreeElementsAndUndefinedAsSecondArgument - { - get; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "thisShouldBeUndefined", typeJson: "{\"primitive\":\"any\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - object? ThisShouldBeUndefined - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IObjectWithProperty.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IObjectWithProperty.cs deleted file mode 100644 index 2851ffe3cf..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IObjectWithProperty.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Make sure that setters are properly called on objects with interfaces. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IObjectWithProperty), fullyQualifiedName: "jsii-calc.IObjectWithProperty")] - public interface IObjectWithProperty - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "property", typeJson: "{\"primitive\":\"string\"}")] - string Property - { - get; - set; - } - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "wasSet", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}")] - bool WasSet(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IObjectWithPropertyProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IObjectWithPropertyProxy.cs deleted file mode 100644 index f56faa6f35..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IObjectWithPropertyProxy.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Make sure that setters are properly called on objects with interfaces. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IObjectWithProperty), fullyQualifiedName: "jsii-calc.IObjectWithProperty")] - internal sealed class IObjectWithPropertyProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IObjectWithProperty - { - private IObjectWithPropertyProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "property", typeJson: "{\"primitive\":\"string\"}")] - public string Property - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "wasSet", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}")] - public bool WasSet() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IOptionalMethod.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IOptionalMethod.cs deleted file mode 100644 index 65f2b701fa..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IOptionalMethod.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Checks that optional result from interface method code generates correctly. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IOptionalMethod), fullyQualifiedName: "jsii-calc.IOptionalMethod")] - public interface IOptionalMethod - { - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "optional", returnsJson: "{\"optional\":true,\"type\":{\"primitive\":\"string\"}}")] - string? Optional(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IOptionalMethodProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IOptionalMethodProxy.cs deleted file mode 100644 index fc24f81181..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IOptionalMethodProxy.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Checks that optional result from interface method code generates correctly. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IOptionalMethod), fullyQualifiedName: "jsii-calc.IOptionalMethod")] - internal sealed class IOptionalMethodProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IOptionalMethod - { - private IOptionalMethodProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "optional", returnsJson: "{\"optional\":true,\"type\":{\"primitive\":\"string\"}}")] - public string? Optional() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IOptionalStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IOptionalStruct.cs deleted file mode 100644 index f843be2012..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IOptionalStruct.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IOptionalStruct), fullyQualifiedName: "jsii-calc.OptionalStruct")] - public interface IOptionalStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "field", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? Field - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IParentStruct982.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IParentStruct982.cs deleted file mode 100644 index 6cb0e65e6d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IParentStruct982.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// https://github.com/aws/jsii/issues/982. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IParentStruct982), fullyQualifiedName: "jsii-calc.ParentStruct982")] - public interface IParentStruct982 - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"string\"}")] - string Foo - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPrivatelyImplemented.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPrivatelyImplemented.cs deleted file mode 100644 index e90b1a7344..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPrivatelyImplemented.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IPrivatelyImplemented), fullyQualifiedName: "jsii-calc.IPrivatelyImplemented")] - public interface IPrivatelyImplemented - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "success", typeJson: "{\"primitive\":\"boolean\"}")] - bool Success - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPrivatelyImplementedProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPrivatelyImplementedProxy.cs deleted file mode 100644 index 5b545a9197..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPrivatelyImplementedProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IPrivatelyImplemented), fullyQualifiedName: "jsii-calc.IPrivatelyImplemented")] - internal sealed class IPrivatelyImplementedProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IPrivatelyImplemented - { - private IPrivatelyImplementedProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "success", typeJson: "{\"primitive\":\"boolean\"}")] - public bool Success - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterface.cs deleted file mode 100644 index a90f2de934..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterface.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IPublicInterface), fullyQualifiedName: "jsii-calc.IPublicInterface")] - public interface IPublicInterface - { - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "bye", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - string Bye(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterface2.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterface2.cs deleted file mode 100644 index 42fb8a9d20..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterface2.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IPublicInterface2), fullyQualifiedName: "jsii-calc.IPublicInterface2")] - public interface IPublicInterface2 - { - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "ciao", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - string Ciao(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterface2Proxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterface2Proxy.cs deleted file mode 100644 index ca9ec52744..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterface2Proxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IPublicInterface2), fullyQualifiedName: "jsii-calc.IPublicInterface2")] - internal sealed class IPublicInterface2Proxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface2 - { - private IPublicInterface2Proxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "ciao", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public string Ciao() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterfaceProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterfaceProxy.cs deleted file mode 100644 index b0a9c3a4d8..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IPublicInterfaceProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IPublicInterface), fullyQualifiedName: "jsii-calc.IPublicInterface")] - internal sealed class IPublicInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface - { - private IPublicInterfaceProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "bye", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public string Bye() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IRandomNumberGenerator.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IRandomNumberGenerator.cs deleted file mode 100644 index da60f4ccc3..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IRandomNumberGenerator.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Generates random numbers. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IRandomNumberGenerator), fullyQualifiedName: "jsii-calc.IRandomNumberGenerator")] - public interface IRandomNumberGenerator - { - /// Returns another random number. - /// A random number. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "next", returnsJson: "{\"type\":{\"primitive\":\"number\"}}")] - double Next(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IRandomNumberGeneratorProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IRandomNumberGeneratorProxy.cs deleted file mode 100644 index 3a9106cfc6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IRandomNumberGeneratorProxy.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Generates random numbers. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IRandomNumberGenerator), fullyQualifiedName: "jsii-calc.IRandomNumberGenerator")] - internal sealed class IRandomNumberGeneratorProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IRandomNumberGenerator - { - private IRandomNumberGeneratorProxy(ByRefValue reference): base(reference) - { - } - - /// Returns another random number. - /// A random number. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "next", returnsJson: "{\"type\":{\"primitive\":\"number\"}}")] - public double Next() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnJsii976.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnJsii976.cs deleted file mode 100644 index 451472dc8f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnJsii976.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Returns a subclass of a known class which implements an interface. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IReturnJsii976), fullyQualifiedName: "jsii-calc.IReturnJsii976")] - public interface IReturnJsii976 - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"number\"}")] - double Foo - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnJsii976Proxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnJsii976Proxy.cs deleted file mode 100644 index e0e1417885..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnJsii976Proxy.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Returns a subclass of a known class which implements an interface. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IReturnJsii976), fullyQualifiedName: "jsii-calc.IReturnJsii976")] - internal sealed class IReturnJsii976Proxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IReturnJsii976 - { - private IReturnJsii976Proxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"number\"}")] - public double Foo - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnsNumber.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnsNumber.cs deleted file mode 100644 index 58caa1a521..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnsNumber.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IReturnsNumber), fullyQualifiedName: "jsii-calc.IReturnsNumber")] - public interface IReturnsNumber - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "numberProp", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.Number\"}")] - Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Number NumberProp - { - get; - } - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "obtainNumber", returnsJson: "{\"type\":{\"fqn\":\"@scope/jsii-calc-lib.IDoublable\"}}")] - Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IDoublable ObtainNumber(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnsNumberProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnsNumberProxy.cs deleted file mode 100644 index d5d7968841..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IReturnsNumberProxy.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IReturnsNumber), fullyQualifiedName: "jsii-calc.IReturnsNumber")] - internal sealed class IReturnsNumberProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IReturnsNumber - { - private IReturnsNumberProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "numberProp", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.Number\"}")] - public Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Number NumberProp - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "obtainNumber", returnsJson: "{\"type\":{\"fqn\":\"@scope/jsii-calc-lib.IDoublable\"}}")] - public Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IDoublable ObtainNumber() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IRootStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IRootStruct.cs deleted file mode 100644 index ab6087c2a4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IRootStruct.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// This is here to check that we can pass a nested struct into a kwargs by specifying it as an in-line dictionary. - /// - /// This is cheating with the (current) declared types, but this is the "more - /// idiomatic" way for Pythonists. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IRootStruct), fullyQualifiedName: "jsii-calc.RootStruct")] - public interface IRootStruct - { - /// May not be empty. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "stringProp", typeJson: "{\"primitive\":\"string\"}")] - string StringProp - { - get; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "nestedStruct", typeJson: "{\"fqn\":\"jsii-calc.NestedStruct\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - Amazon.JSII.Tests.CalculatorNamespace.INestedStruct? NestedStruct - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ISecondLevelStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ISecondLevelStruct.cs deleted file mode 100644 index 9a04203a0a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ISecondLevelStruct.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(ISecondLevelStruct), fullyQualifiedName: "jsii-calc.SecondLevelStruct")] - public interface ISecondLevelStruct - { - /// It's long and required. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "deeperRequiredProp", typeJson: "{\"primitive\":\"string\"}")] - string DeeperRequiredProp - { - get; - } - - /// It's long, but you'll almost never pass it. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "deeperOptionalProp", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? DeeperOptionalProp - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ISmellyStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ISmellyStruct.cs deleted file mode 100644 index 6098aa4d6d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ISmellyStruct.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(ISmellyStruct), fullyQualifiedName: "jsii-calc.SmellyStruct")] - public interface ISmellyStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "property", typeJson: "{\"primitive\":\"string\"}")] - string Property - { - get; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "yetAnoterOne", typeJson: "{\"primitive\":\"boolean\"}")] - bool YetAnoterOne - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStableInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStableInterface.cs deleted file mode 100644 index 1136d87b10..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStableInterface.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - [JsiiInterface(nativeType: typeof(IStableInterface), fullyQualifiedName: "jsii-calc.IStableInterface")] - public interface IStableInterface - { - [JsiiProperty(name: "mutableProperty", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - double? MutableProperty - { - get - { - return null; - } - set - { - throw new System.NotSupportedException("'set' for 'MutableProperty' is not implemented"); - } - } - [JsiiMethod(name: "method")] - void Method(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStableInterfaceProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStableInterfaceProxy.cs deleted file mode 100644 index e5462b3109..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStableInterfaceProxy.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - [JsiiTypeProxy(nativeType: typeof(IStableInterface), fullyQualifiedName: "jsii-calc.IStableInterface")] - internal sealed class IStableInterfaceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IStableInterface - { - private IStableInterfaceProxy(ByRefValue reference): base(reference) - { - } - - [JsiiOptional] - [JsiiProperty(name: "mutableProperty", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - public double? MutableProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - [JsiiMethod(name: "method")] - public void Method() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStableStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStableStruct.cs deleted file mode 100644 index de7ad6aa20..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStableStruct.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - [JsiiInterface(nativeType: typeof(IStableStruct), fullyQualifiedName: "jsii-calc.StableStruct")] - public interface IStableStruct - { - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}")] - string ReadonlyProperty - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructA.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructA.cs deleted file mode 100644 index 82fc21e9dc..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructA.cs +++ /dev/null @@ -1,49 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// We can serialize and deserialize structs without silently ignoring optional fields. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IStructA), fullyQualifiedName: "jsii-calc.StructA")] - public interface IStructA - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "requiredString", typeJson: "{\"primitive\":\"string\"}")] - string RequiredString - { - get; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "optionalNumber", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - double? OptionalNumber - { - get - { - return null; - } - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "optionalString", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? OptionalString - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructB.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructB.cs deleted file mode 100644 index 0f8b980847..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructB.cs +++ /dev/null @@ -1,49 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// This intentionally overlaps with StructA (where only requiredString is provided) to test htat the kernel properly disambiguates those. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IStructB), fullyQualifiedName: "jsii-calc.StructB")] - public interface IStructB - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "requiredString", typeJson: "{\"primitive\":\"string\"}")] - string RequiredString - { - get; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "optionalBoolean", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - bool? OptionalBoolean - { - get - { - return null; - } - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "optionalStructA", typeJson: "{\"fqn\":\"jsii-calc.StructA\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - Amazon.JSII.Tests.CalculatorNamespace.IStructA? OptionalStructA - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructParameterType.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructParameterType.cs deleted file mode 100644 index 0add06f85c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructParameterType.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Verifies that, in languages that do keyword lifting (e.g: Python), having a struct member with the same name as a positional parameter results in the correct code being emitted. - /// - /// See: https://github.com/aws/aws-cdk/issues/4302 - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IStructParameterType), fullyQualifiedName: "jsii-calc.StructParameterType")] - public interface IStructParameterType - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "scope", typeJson: "{\"primitive\":\"string\"}")] - string Scope - { - get; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "props", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - bool? Props - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructReturningDelegate.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructReturningDelegate.cs deleted file mode 100644 index 33fc919397..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructReturningDelegate.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Verifies that a "pure" implementation of an interface works correctly. - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IStructReturningDelegate), fullyQualifiedName: "jsii-calc.IStructReturningDelegate")] - public interface IStructReturningDelegate - { - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "returnStruct", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.StructB\"}}")] - Amazon.JSII.Tests.CalculatorNamespace.IStructB ReturnStruct(); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructReturningDelegateProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructReturningDelegateProxy.cs deleted file mode 100644 index 60a2535e65..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructReturningDelegateProxy.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Verifies that a "pure" implementation of an interface works correctly. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IStructReturningDelegate), fullyQualifiedName: "jsii-calc.IStructReturningDelegate")] - internal sealed class IStructReturningDelegateProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IStructReturningDelegate - { - private IStructReturningDelegateProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "returnStruct", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.StructB\"}}")] - public Amazon.JSII.Tests.CalculatorNamespace.IStructB ReturnStruct() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructWithJavaReservedWords.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructWithJavaReservedWords.cs deleted file mode 100644 index 626cc39b76..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IStructWithJavaReservedWords.cs +++ /dev/null @@ -1,61 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IStructWithJavaReservedWords), fullyQualifiedName: "jsii-calc.StructWithJavaReservedWords")] - public interface IStructWithJavaReservedWords - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "default", typeJson: "{\"primitive\":\"string\"}")] - string Default - { - get; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "assert", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? Assert - { - get - { - return null; - } - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "result", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? Result - { - get - { - return null; - } - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "that", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? That - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ISupportsNiceJavaBuilderProps.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ISupportsNiceJavaBuilderProps.cs deleted file mode 100644 index 7ab379d0ed..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ISupportsNiceJavaBuilderProps.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(ISupportsNiceJavaBuilderProps), fullyQualifiedName: "jsii-calc.SupportsNiceJavaBuilderProps")] - public interface ISupportsNiceJavaBuilderProps - { - /// Some number, like 42. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bar", typeJson: "{\"primitive\":\"number\"}")] - double Bar - { - get; - } - - /// 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. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "id", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? Id - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ITopLevelStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ITopLevelStruct.cs deleted file mode 100644 index de85a44c62..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ITopLevelStruct.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(ITopLevelStruct), fullyQualifiedName: "jsii-calc.TopLevelStruct")] - public interface ITopLevelStruct - { - /// This is a required field. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "required", typeJson: "{\"primitive\":\"string\"}")] - string Required - { - get; - } - - /// A union to really stress test our serialization. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "secondLevel", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"jsii-calc.SecondLevelStruct\"}]}}")] - object SecondLevel - { - get; - } - - /// You don't have to pass this. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "optional", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? Optional - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IUnionProperties.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IUnionProperties.cs deleted file mode 100644 index 1dfd5102f4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IUnionProperties.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IUnionProperties), fullyQualifiedName: "jsii-calc.UnionProperties")] - public interface IUnionProperties - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bar", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"primitive\":\"number\"},{\"fqn\":\"jsii-calc.AllTypes\"}]}}")] - object Bar - { - get; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"primitive\":\"number\"}]}}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - object? Foo - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementInternalInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementInternalInterface.cs deleted file mode 100644 index dc8c649851..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementInternalInterface.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ImplementInternalInterface), fullyQualifiedName: "jsii-calc.ImplementInternalInterface")] - public class ImplementInternalInterface : DeputyBase - { - /// - /// Stability: Experimental - /// - public ImplementInternalInterface(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ImplementInternalInterface(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ImplementInternalInterface(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "prop", typeJson: "{\"primitive\":\"string\"}")] - public virtual string Prop - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Implementation.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Implementation.cs deleted file mode 100644 index b2fa9be35f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Implementation.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Implementation), fullyQualifiedName: "jsii-calc.Implementation")] - public class Implementation : DeputyBase - { - /// - /// Stability: Experimental - /// - public Implementation(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Implementation(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Implementation(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"number\"}")] - public virtual double Value - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementsInterfaceWithInternal.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementsInterfaceWithInternal.cs deleted file mode 100644 index 900f7143f6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementsInterfaceWithInternal.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ImplementsInterfaceWithInternal), fullyQualifiedName: "jsii-calc.ImplementsInterfaceWithInternal")] - public class ImplementsInterfaceWithInternal : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithInternal - { - /// - /// Stability: Experimental - /// - public ImplementsInterfaceWithInternal(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ImplementsInterfaceWithInternal(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ImplementsInterfaceWithInternal(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "visible", isOverride: true)] - public virtual void Visible() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementsInterfaceWithInternalSubclass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementsInterfaceWithInternalSubclass.cs deleted file mode 100644 index 27d41f6e2d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementsInterfaceWithInternalSubclass.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ImplementsInterfaceWithInternalSubclass), fullyQualifiedName: "jsii-calc.ImplementsInterfaceWithInternalSubclass")] - public class ImplementsInterfaceWithInternalSubclass : Amazon.JSII.Tests.CalculatorNamespace.ImplementsInterfaceWithInternal - { - /// - /// Stability: Experimental - /// - public ImplementsInterfaceWithInternalSubclass(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ImplementsInterfaceWithInternalSubclass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ImplementsInterfaceWithInternalSubclass(DeputyProps props): base(props) - { - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementsPrivateInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementsPrivateInterface.cs deleted file mode 100644 index ad0ea72586..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplementsPrivateInterface.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ImplementsPrivateInterface), fullyQualifiedName: "jsii-calc.ImplementsPrivateInterface")] - public class ImplementsPrivateInterface : DeputyBase - { - /// - /// Stability: Experimental - /// - public ImplementsPrivateInterface(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ImplementsPrivateInterface(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ImplementsPrivateInterface(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "private", typeJson: "{\"primitive\":\"string\"}")] - public virtual string Private - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplictBaseOfBase.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplictBaseOfBase.cs deleted file mode 100644 index c71598f91b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplictBaseOfBase.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.ImplictBaseOfBase")] - public class ImplictBaseOfBase : Amazon.JSII.Tests.CalculatorNamespace.IImplictBaseOfBase - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "goo", typeJson: "{\"primitive\":\"date\"}", isOverride: true)] - public System.DateTime Goo - { - get; - set; - } - - [JsiiProperty(name: "bar", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string Bar - { - get; - set; - } - - [JsiiProperty(name: "foo", typeJson: "{\"fqn\":\"@scope/jsii-calc-base-of-base.Very\"}", isOverride: true)] - public Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very Foo - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplictBaseOfBaseProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplictBaseOfBaseProxy.cs deleted file mode 100644 index 9fbd7b9fd1..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ImplictBaseOfBaseProxy.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IImplictBaseOfBase), fullyQualifiedName: "jsii-calc.ImplictBaseOfBase")] - internal sealed class ImplictBaseOfBaseProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IImplictBaseOfBase - { - private ImplictBaseOfBaseProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "goo", typeJson: "{\"primitive\":\"date\"}")] - public System.DateTime Goo - { - get => GetInstanceProperty(); - } - - [JsiiProperty(name: "bar", typeJson: "{\"primitive\":\"string\"}")] - public string Bar - { - get => GetInstanceProperty(); - } - - [JsiiProperty(name: "foo", typeJson: "{\"fqn\":\"@scope/jsii-calc-base-of-base.Very\"}")] - public Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Very Foo - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InbetweenClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InbetweenClass.cs deleted file mode 100644 index 129a255c29..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InbetweenClass.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.InbetweenClass), fullyQualifiedName: "jsii-calc.InbetweenClass")] - public class InbetweenClass : Amazon.JSII.Tests.CalculatorNamespace.PublicClass, Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface2 - { - /// - /// Stability: Experimental - /// - public InbetweenClass(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected InbetweenClass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected InbetweenClass(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "ciao", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - public virtual string Ciao() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceCollections.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceCollections.cs deleted file mode 100644 index c913a9de18..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceCollections.cs +++ /dev/null @@ -1,66 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Verifies that collections of interfaces or structs are correctly handled. - /// - /// See: https://github.com/aws/jsii/issues/1196 - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfaceCollections), fullyQualifiedName: "jsii-calc.InterfaceCollections")] - public class InterfaceCollections : DeputyBase - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected InterfaceCollections(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected InterfaceCollections(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "listOfInterfaces", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"fqn\":\"jsii-calc.IBell\"},\"kind\":\"array\"}}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.IBell[] ListOfInterfaces() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfaceCollections), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "listOfStructs", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"fqn\":\"jsii-calc.StructA\"},\"kind\":\"array\"}}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.IStructA[] ListOfStructs() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfaceCollections), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "mapOfInterfaces", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"fqn\":\"jsii-calc.IBell\"},\"kind\":\"map\"}}}")] - public static System.Collections.Generic.IDictionary MapOfInterfaces() - { - return InvokeStaticMethod>(typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfaceCollections), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "mapOfStructs", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"fqn\":\"jsii-calc.StructA\"},\"kind\":\"map\"}}}")] - public static System.Collections.Generic.IDictionary MapOfStructs() - { - return InvokeStaticMethod>(typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfaceCollections), new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/Foo.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/Foo.cs deleted file mode 100644 index dd4327c1cc..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/Foo.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceIncludesClasses -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceIncludesClasses.Foo), fullyQualifiedName: "jsii-calc.InterfaceInNamespaceIncludesClasses.Foo")] - public class Foo : DeputyBase - { - /// - /// Stability: Experimental - /// - public Foo(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Foo(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Foo(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "bar", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public virtual string? Bar - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/Hello.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/Hello.cs deleted file mode 100644 index 01f793a673..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/Hello.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceIncludesClasses -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.InterfaceInNamespaceIncludesClasses.Hello")] - public class Hello : Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceIncludesClasses.IHello - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"number\"}", isOverride: true)] - public double Foo - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/HelloProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/HelloProxy.cs deleted file mode 100644 index 99836531c8..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/HelloProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceIncludesClasses -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IHello), fullyQualifiedName: "jsii-calc.InterfaceInNamespaceIncludesClasses.Hello")] - internal sealed class HelloProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceIncludesClasses.IHello - { - private HelloProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"number\"}")] - public double Foo - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/IHello.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/IHello.cs deleted file mode 100644 index ea8cc39ce2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceIncludesClasses/IHello.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceIncludesClasses -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IHello), fullyQualifiedName: "jsii-calc.InterfaceInNamespaceIncludesClasses.Hello")] - public interface IHello - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"number\"}")] - double Foo - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceOnlyInterface/Hello.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceOnlyInterface/Hello.cs deleted file mode 100644 index d0f4347ac5..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceOnlyInterface/Hello.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceOnlyInterface -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.InterfaceInNamespaceOnlyInterface.Hello")] - public class Hello : Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceOnlyInterface.IHello - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"number\"}", isOverride: true)] - public double Foo - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceOnlyInterface/HelloProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceOnlyInterface/HelloProxy.cs deleted file mode 100644 index ff0c6f5ade..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceOnlyInterface/HelloProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceOnlyInterface -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IHello), fullyQualifiedName: "jsii-calc.InterfaceInNamespaceOnlyInterface.Hello")] - internal sealed class HelloProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceOnlyInterface.IHello - { - private HelloProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"number\"}")] - public double Foo - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceOnlyInterface/IHello.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceOnlyInterface/IHello.cs deleted file mode 100644 index b467b87743..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfaceInNamespaceOnlyInterface/IHello.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.InterfaceInNamespaceOnlyInterface -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IHello), fullyQualifiedName: "jsii-calc.InterfaceInNamespaceOnlyInterface.Hello")] - public interface IHello - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"number\"}")] - double Foo - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfacesMaker.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfacesMaker.cs deleted file mode 100644 index 95a4a6315f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/InterfacesMaker.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// We can return arrays of interfaces See aws/aws-cdk#2362. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfacesMaker), fullyQualifiedName: "jsii-calc.InterfacesMaker")] - public class InterfacesMaker : DeputyBase - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected InterfacesMaker(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected InterfacesMaker(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "makeInterfaces", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"fqn\":\"@scope/jsii-calc-lib.IDoublable\"},\"kind\":\"array\"}}}", parametersJson: "[{\"name\":\"count\",\"type\":{\"primitive\":\"number\"}}]")] - public static Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IDoublable[] MakeInterfaces(double count) - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.InterfacesMaker), new System.Type[]{typeof(double)}, new object[]{count}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Internal/DependencyResolution/Anchor.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Internal/DependencyResolution/Anchor.cs deleted file mode 100644 index ca88d3bfab..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Internal/DependencyResolution/Anchor.cs +++ /dev/null @@ -1,14 +0,0 @@ -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Internal.DependencyResolution -{ - public sealed class Anchor - { - public Anchor() - { - new Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Internal.DependencyResolution.Anchor(); - new Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace.Internal.DependencyResolution.Anchor(); - new Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Internal.DependencyResolution.Anchor(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Isomorphism.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Isomorphism.cs deleted file mode 100644 index 985fead738..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Isomorphism.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Checks the "same instance" isomorphism is preserved within the constructor. - /// - /// Create a subclass of this, and assert that this.myself() actually returns - /// this from within the constructor. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Isomorphism), fullyQualifiedName: "jsii-calc.Isomorphism")] - public abstract class Isomorphism : DeputyBase - { - /// - /// Stability: Experimental - /// - protected Isomorphism(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Isomorphism(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Isomorphism(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "myself", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.Isomorphism\"}}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.Isomorphism Myself() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IsomorphismProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IsomorphismProxy.cs deleted file mode 100644 index 6831cb1806..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/IsomorphismProxy.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Checks the "same instance" isomorphism is preserved within the constructor. - /// - /// Create a subclass of this, and assert that this.myself() actually returns - /// this from within the constructor. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Isomorphism), fullyQualifiedName: "jsii-calc.Isomorphism")] - internal sealed class IsomorphismProxy : Amazon.JSII.Tests.CalculatorNamespace.Isomorphism - { - private IsomorphismProxy(ByRefValue reference): base(reference) - { - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSII417Derived.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSII417Derived.cs deleted file mode 100644 index e70c3cd65d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSII417Derived.cs +++ /dev/null @@ -1,61 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JSII417Derived), fullyQualifiedName: "jsii-calc.JSII417Derived", parametersJson: "[{\"name\":\"property\",\"type\":{\"primitive\":\"string\"}}]")] - public class JSII417Derived : Amazon.JSII.Tests.CalculatorNamespace.JSII417PublicBaseOfBase - { - /// - /// Stability: Experimental - /// - public JSII417Derived(string property): base(new DeputyProps(new object[]{property})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JSII417Derived(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JSII417Derived(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "bar")] - public virtual void Bar() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "baz")] - public virtual void Baz() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "property", typeJson: "{\"primitive\":\"string\"}")] - protected virtual string Property - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSII417PublicBaseOfBase.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSII417PublicBaseOfBase.cs deleted file mode 100644 index f4b8941b0e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSII417PublicBaseOfBase.cs +++ /dev/null @@ -1,61 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JSII417PublicBaseOfBase), fullyQualifiedName: "jsii-calc.JSII417PublicBaseOfBase")] - public class JSII417PublicBaseOfBase : DeputyBase - { - /// - /// Stability: Experimental - /// - public JSII417PublicBaseOfBase(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JSII417PublicBaseOfBase(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JSII417PublicBaseOfBase(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "makeInstance", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.JSII417PublicBaseOfBase\"}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.JSII417PublicBaseOfBase MakeInstance() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JSII417PublicBaseOfBase), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "foo")] - public virtual void Foo() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "hasRoot", typeJson: "{\"primitive\":\"boolean\"}")] - public virtual bool HasRoot - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSObjectLiteralForInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSObjectLiteralForInterface.cs deleted file mode 100644 index 489c1c4e21..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSObjectLiteralForInterface.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JSObjectLiteralForInterface), fullyQualifiedName: "jsii-calc.JSObjectLiteralForInterface")] - public class JSObjectLiteralForInterface : DeputyBase - { - /// - /// Stability: Experimental - /// - public JSObjectLiteralForInterface(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JSObjectLiteralForInterface(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JSObjectLiteralForInterface(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "giveMeFriendly", returnsJson: "{\"type\":{\"fqn\":\"@scope/jsii-calc-lib.IFriendly\"}}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly GiveMeFriendly() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "giveMeFriendlyGenerator", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.IFriendlyRandomGenerator\"}}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.IFriendlyRandomGenerator GiveMeFriendlyGenerator() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSObjectLiteralToNative.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSObjectLiteralToNative.cs deleted file mode 100644 index 1d17272ec0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSObjectLiteralToNative.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JSObjectLiteralToNative), fullyQualifiedName: "jsii-calc.JSObjectLiteralToNative")] - public class JSObjectLiteralToNative : DeputyBase - { - /// - /// Stability: Experimental - /// - public JSObjectLiteralToNative(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JSObjectLiteralToNative(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JSObjectLiteralToNative(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "returnLiteral", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.JSObjectLiteralToNativeClass\"}}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.JSObjectLiteralToNativeClass ReturnLiteral() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSObjectLiteralToNativeClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSObjectLiteralToNativeClass.cs deleted file mode 100644 index 62bde74073..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JSObjectLiteralToNativeClass.cs +++ /dev/null @@ -1,54 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JSObjectLiteralToNativeClass), fullyQualifiedName: "jsii-calc.JSObjectLiteralToNativeClass")] - public class JSObjectLiteralToNativeClass : DeputyBase - { - /// - /// Stability: Experimental - /// - public JSObjectLiteralToNativeClass(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JSObjectLiteralToNativeClass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JSObjectLiteralToNativeClass(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "propA", typeJson: "{\"primitive\":\"string\"}")] - public virtual string PropA - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "propB", typeJson: "{\"primitive\":\"number\"}")] - public virtual double PropB - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JavaReservedWords.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JavaReservedWords.cs deleted file mode 100644 index a07de7bc82..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JavaReservedWords.cs +++ /dev/null @@ -1,512 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JavaReservedWords), fullyQualifiedName: "jsii-calc.JavaReservedWords")] - public class JavaReservedWords : DeputyBase - { - /// - /// Stability: Experimental - /// - public JavaReservedWords(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JavaReservedWords(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JavaReservedWords(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "abstract")] - public virtual void Abstract() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "assert")] - public virtual void Assert() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "boolean")] - public virtual void Boolean() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "break")] - public virtual void Break() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "byte")] - public virtual void Byte() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "case")] - public virtual void Case() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "catch")] - public virtual void Catch() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "char")] - public virtual void Char() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "class")] - public virtual void Class() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "const")] - public virtual void Const() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "continue")] - public virtual void Continue() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "default")] - public virtual void Default() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "do")] - public virtual void Do() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "double")] - public virtual void Double() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "else")] - public virtual void Else() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "enum")] - public virtual void Enum() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "extends")] - public virtual void Extends() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "false")] - public virtual void False() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "final")] - public virtual void Final() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "finally")] - public virtual void Finally() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "float")] - public virtual void Float() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "for")] - public virtual void For() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "goto")] - public virtual void Goto() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "if")] - public virtual void If() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "implements")] - public virtual void Implements() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "import")] - public virtual void Import() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "instanceof")] - public virtual void Instanceof() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "int")] - public virtual void Int() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "interface")] - public virtual void Interface() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "long")] - public virtual void Long() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "native")] - public virtual void Native() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "new")] - public virtual void New() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "null")] - public virtual void Null() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "package")] - public virtual void Package() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "private")] - public virtual void Private() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "protected")] - public virtual void Protected() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "public")] - public virtual void Public() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "return")] - public virtual void Return() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "short")] - public virtual void Short() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "static")] - public virtual void Static() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "strictfp")] - public virtual void Strictfp() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "super")] - public virtual void Super() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "switch")] - public virtual void Switch() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "synchronized")] - public virtual void Synchronized() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "this")] - public virtual void This() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "throw")] - public virtual void Throw() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "throws")] - public virtual void Throws() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "transient")] - public virtual void Transient() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "true")] - public virtual void True() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "try")] - public virtual void Try() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "void")] - public virtual void Void() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "volatile")] - public virtual void Volatile() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "while", typeJson: "{\"primitive\":\"string\"}")] - public virtual string While - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Jsii487Derived.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Jsii487Derived.cs deleted file mode 100644 index 5628f2e5c4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Jsii487Derived.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Jsii487Derived), fullyQualifiedName: "jsii-calc.Jsii487Derived")] - public class Jsii487Derived : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IJsii487External2, Amazon.JSII.Tests.CalculatorNamespace.IJsii487External - { - /// - /// Stability: Experimental - /// - public Jsii487Derived(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Jsii487Derived(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Jsii487Derived(DeputyProps props): base(props) - { - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Jsii496Derived.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Jsii496Derived.cs deleted file mode 100644 index 4bf8a4288b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Jsii496Derived.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Jsii496Derived), fullyQualifiedName: "jsii-calc.Jsii496Derived")] - public class Jsii496Derived : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IJsii496 - { - /// - /// Stability: Experimental - /// - public Jsii496Derived(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Jsii496Derived(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Jsii496Derived(DeputyProps props): base(props) - { - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JsiiAgent_.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JsiiAgent_.cs deleted file mode 100644 index e6d82e4503..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JsiiAgent_.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Host runtime version should be set via JSII_AGENT. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JsiiAgent_), fullyQualifiedName: "jsii-calc.JsiiAgent")] - public class JsiiAgent_ : DeputyBase - { - /// - /// Stability: Experimental - /// - public JsiiAgent_(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JsiiAgent_(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JsiiAgent_(DeputyProps props): base(props) - { - } - - /// Returns the value of the JSII_AGENT environment variable. - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "jsiiAgent", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public static string? JsiiAgent - { - get => GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsiiAgent_)); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JsonFormatter.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JsonFormatter.cs deleted file mode 100644 index ea1591c1ab..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/JsonFormatter.cs +++ /dev/null @@ -1,156 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Make sure structs are un-decorated on the way in. - /// - /// Stability: Experimental - /// - /// See: https://github.com/aws/aws-cdk/issues/5066 - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), fullyQualifiedName: "jsii-calc.JsonFormatter")] - public class JsonFormatter : DeputyBase - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JsonFormatter(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected JsonFormatter(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyArray", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public static object AnyArray() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyBooleanFalse", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public static object AnyBooleanFalse() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyBooleanTrue", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public static object AnyBooleanTrue() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyDate", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public static object AnyDate() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyEmptyString", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public static object AnyEmptyString() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyFunction", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public static object AnyFunction() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyHash", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public static object AnyHash() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyNull", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public static object AnyNull() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyNumber", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public static object AnyNumber() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyRef", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public static object AnyRef() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyString", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public static object AnyString() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyUndefined", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public static object AnyUndefined() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "anyZero", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public static object AnyZero() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "stringify", returnsJson: "{\"optional\":true,\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"value\",\"optional\":true,\"type\":{\"primitive\":\"any\"}}]")] - public static string? Stringify(object? @value = null) - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.JsonFormatter), new System.Type[]{typeof(object)}, new object?[]{@value}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/LoadBalancedFargateServiceProps.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/LoadBalancedFargateServiceProps.cs deleted file mode 100644 index 1d6eda47cb..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/LoadBalancedFargateServiceProps.cs +++ /dev/null @@ -1,110 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// jsii#298: show default values in sphinx documentation, and respect newlines. - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.LoadBalancedFargateServiceProps")] - public class LoadBalancedFargateServiceProps : Amazon.JSII.Tests.CalculatorNamespace.ILoadBalancedFargateServiceProps - { - /// The container port of the application load balancer attached to your Fargate service. - /// - /// Corresponds to container port mapping. - /// - /// Default: 80 - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "containerPort", typeJson: "{\"primitive\":\"number\"}", isOptional: true, isOverride: true)] - public double? ContainerPort - { - get; - set; - } - - /// 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 - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "cpu", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - public string? Cpu - { - get; - set; - } - - /// 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 - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "memoryMiB", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - public string? MemoryMiB - { - get; - set; - } - - /// Determines whether the Application Load Balancer will be internet-facing. - /// - /// Default: true - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "publicLoadBalancer", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true, isOverride: true)] - public bool? PublicLoadBalancer - { - get; - set; - } - - /// Determines whether your Fargate Service will be assigned a public IP address. - /// - /// Default: false - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "publicTasks", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true, isOverride: true)] - public bool? PublicTasks - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/LoadBalancedFargateServicePropsProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/LoadBalancedFargateServicePropsProxy.cs deleted file mode 100644 index 157359c801..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/LoadBalancedFargateServicePropsProxy.cs +++ /dev/null @@ -1,109 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// jsii#298: show default values in sphinx documentation, and respect newlines. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(ILoadBalancedFargateServiceProps), fullyQualifiedName: "jsii-calc.LoadBalancedFargateServiceProps")] - internal sealed class LoadBalancedFargateServicePropsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.ILoadBalancedFargateServiceProps - { - private LoadBalancedFargateServicePropsProxy(ByRefValue reference): base(reference) - { - } - - /// The container port of the application load balancer attached to your Fargate service. - /// - /// Corresponds to container port mapping. - /// - /// Default: 80 - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "containerPort", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - public double? ContainerPort - { - get => GetInstanceProperty(); - } - - /// 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 - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "cpu", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public string? Cpu - { - get => GetInstanceProperty(); - } - - /// 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 - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "memoryMiB", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public string? MemoryMiB - { - get => GetInstanceProperty(); - } - - /// Determines whether the Application Load Balancer will be internet-facing. - /// - /// Default: true - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "publicLoadBalancer", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true)] - public bool? PublicLoadBalancer - { - get => GetInstanceProperty(); - } - - /// Determines whether your Fargate Service will be assigned a public IP address. - /// - /// Default: false - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "publicTasks", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true)] - public bool? PublicTasks - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/MethodNamedProperty.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/MethodNamedProperty.cs deleted file mode 100644 index b065a949ec..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/MethodNamedProperty.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.MethodNamedProperty), fullyQualifiedName: "jsii-calc.MethodNamedProperty")] - public class MethodNamedProperty : DeputyBase - { - /// - /// Stability: Experimental - /// - public MethodNamedProperty(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected MethodNamedProperty(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected MethodNamedProperty(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "property", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public virtual string Property() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "elite", typeJson: "{\"primitive\":\"number\"}")] - public virtual double Elite - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Multiply.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Multiply.cs deleted file mode 100644 index 60bdc6bd9e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Multiply.cs +++ /dev/null @@ -1,88 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// The "*" binary operation. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Multiply), fullyQualifiedName: "jsii-calc.Multiply", parametersJson: "[{\"docs\":{\"summary\":\"Left-hand side operand.\"},\"name\":\"lhs\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"}},{\"docs\":{\"summary\":\"Right-hand side operand.\"},\"name\":\"rhs\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"}}]")] - public class Multiply : Amazon.JSII.Tests.CalculatorNamespace.BinaryOperation, Amazon.JSII.Tests.CalculatorNamespace.IFriendlier, Amazon.JSII.Tests.CalculatorNamespace.IRandomNumberGenerator - { - /// Creates a BinaryOperation. - /// Left-hand side operand. - /// Right-hand side operand. - /// - /// Stability: Experimental - /// - public Multiply(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ lhs, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ rhs): base(new DeputyProps(new object[]{lhs, rhs})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Multiply(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Multiply(DeputyProps props): base(props) - { - } - - /// Say farewell. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "farewell", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - public virtual string Farewell() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Say goodbye. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "goodbye", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - public virtual string Goodbye() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Returns another random number. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "next", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", isOverride: true)] - public virtual double Next() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// String representation of the value. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "toString", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - public override string ToString() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// The value. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"number\"}")] - public override double Value - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NamespaceDoc.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NamespaceDoc.cs deleted file mode 100644 index f70481049f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NamespaceDoc.cs +++ /dev/null @@ -1,38 +0,0 @@ -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - ///

jsii Calculator

- /// - /// This library is used to demonstrate and test the features of JSII - /// - ///

How to use running sum API:

- /// - /// First, create a calculator: - /// - /// - /// - /// Then call some operations: - /// - /// - /// - ///

Code Samples

- /// - /// - ///
- [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - public class NamespaceDoc - { - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Negate.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Negate.cs deleted file mode 100644 index 65270cc992..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Negate.cs +++ /dev/null @@ -1,85 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// The negation operation ("-value"). - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Negate), fullyQualifiedName: "jsii-calc.Negate", parametersJson: "[{\"name\":\"operand\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"}}]")] - public class Negate : Amazon.JSII.Tests.CalculatorNamespace.UnaryOperation, Amazon.JSII.Tests.CalculatorNamespace.IFriendlier - { - /// - /// Stability: Experimental - /// - public Negate(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ operand): base(new DeputyProps(new object[]{operand})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Negate(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Negate(DeputyProps props): base(props) - { - } - - /// Say farewell. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "farewell", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - public virtual string Farewell() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Say goodbye. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "goodbye", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - public virtual string Goodbye() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Say hello! - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "hello", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - public virtual string Hello() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// String representation of the value. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "toString", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - public override string ToString() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// The value. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"number\"}")] - public override double Value - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NestedStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NestedStruct.cs deleted file mode 100644 index a0ae6d4c83..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NestedStruct.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.NestedStruct")] - public class NestedStruct : Amazon.JSII.Tests.CalculatorNamespace.INestedStruct - { - /// When provided, must be > 0. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "numberProp", typeJson: "{\"primitive\":\"number\"}", isOverride: true)] - public double NumberProp - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NestedStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NestedStructProxy.cs deleted file mode 100644 index e19f2ab74e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NestedStructProxy.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(INestedStruct), fullyQualifiedName: "jsii-calc.NestedStruct")] - internal sealed class NestedStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.INestedStruct - { - private NestedStructProxy(ByRefValue reference): base(reference) - { - } - - /// When provided, must be > 0. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "numberProp", typeJson: "{\"primitive\":\"number\"}")] - public double NumberProp - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NodeStandardLibrary.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NodeStandardLibrary.cs deleted file mode 100644 index 999ccde9bb..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NodeStandardLibrary.cs +++ /dev/null @@ -1,78 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Test fixture to verify that jsii modules can use the node standard library. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.NodeStandardLibrary), fullyQualifiedName: "jsii-calc.NodeStandardLibrary")] - public class NodeStandardLibrary : DeputyBase - { - /// - /// Stability: Experimental - /// - public NodeStandardLibrary(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected NodeStandardLibrary(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected NodeStandardLibrary(DeputyProps props): base(props) - { - } - - /// Uses node.js "crypto" module to calculate sha256 of a string. - /// "6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50" - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "cryptoSha256", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public virtual string CryptoSha256() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Reads a local resource file (resource.txt) asynchronously. - /// "Hello, resource!" - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "fsReadFile", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isAsync: true)] - public virtual string FsReadFile() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Sync version of fsReadFile. - /// "Hello, resource! SYNC!" - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "fsReadFileSync", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public virtual string FsReadFileSync() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Returns the current os.platform() from the "os" node module. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "osPlatform", typeJson: "{\"primitive\":\"string\"}")] - public virtual string OsPlatform - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefined.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefined.cs deleted file mode 100644 index f4a238d7fe..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefined.cs +++ /dev/null @@ -1,73 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// jsii#282, aws-cdk#157: null should be treated as "undefined". - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.NullShouldBeTreatedAsUndefined), fullyQualifiedName: "jsii-calc.NullShouldBeTreatedAsUndefined", parametersJson: "[{\"name\":\"_param1\",\"type\":{\"primitive\":\"string\"}},{\"name\":\"optional\",\"optional\":true,\"type\":{\"primitive\":\"any\"}}]")] - public class NullShouldBeTreatedAsUndefined : DeputyBase - { - /// - /// Stability: Experimental - /// - public NullShouldBeTreatedAsUndefined(string param1, object? optional = null): base(new DeputyProps(new object?[]{param1, optional})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected NullShouldBeTreatedAsUndefined(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected NullShouldBeTreatedAsUndefined(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "giveMeUndefined", parametersJson: "[{\"name\":\"value\",\"optional\":true,\"type\":{\"primitive\":\"any\"}}]")] - public virtual void GiveMeUndefined(object? @value = null) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(object)}, new object?[]{@value}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "giveMeUndefinedInsideAnObject", parametersJson: "[{\"name\":\"input\",\"type\":{\"fqn\":\"jsii-calc.NullShouldBeTreatedAsUndefinedData\"}}]")] - public virtual void GiveMeUndefinedInsideAnObject(Amazon.JSII.Tests.CalculatorNamespace.INullShouldBeTreatedAsUndefinedData input) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.INullShouldBeTreatedAsUndefinedData)}, new object[]{input}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "verifyPropertyIsUndefined")] - public virtual void VerifyPropertyIsUndefined() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "changeMeToUndefined", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public virtual string? ChangeMeToUndefined - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefinedData.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefinedData.cs deleted file mode 100644 index 7bf97343ff..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefinedData.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.NullShouldBeTreatedAsUndefinedData")] - public class NullShouldBeTreatedAsUndefinedData : Amazon.JSII.Tests.CalculatorNamespace.INullShouldBeTreatedAsUndefinedData - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "arrayWithThreeElementsAndUndefinedAsSecondArgument", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"array\"}}", isOverride: true)] - public object[] ArrayWithThreeElementsAndUndefinedAsSecondArgument - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "thisShouldBeUndefined", typeJson: "{\"primitive\":\"any\"}", isOptional: true, isOverride: true)] - public object? ThisShouldBeUndefined - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefinedDataProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefinedDataProxy.cs deleted file mode 100644 index 196225af4a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NullShouldBeTreatedAsUndefinedDataProxy.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(INullShouldBeTreatedAsUndefinedData), fullyQualifiedName: "jsii-calc.NullShouldBeTreatedAsUndefinedData")] - internal sealed class NullShouldBeTreatedAsUndefinedDataProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.INullShouldBeTreatedAsUndefinedData - { - private NullShouldBeTreatedAsUndefinedDataProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "arrayWithThreeElementsAndUndefinedAsSecondArgument", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"array\"}}")] - public object[] ArrayWithThreeElementsAndUndefinedAsSecondArgument - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "thisShouldBeUndefined", typeJson: "{\"primitive\":\"any\"}", isOptional: true)] - public object? ThisShouldBeUndefined - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NumberGenerator.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NumberGenerator.cs deleted file mode 100644 index 574e60fb11..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/NumberGenerator.cs +++ /dev/null @@ -1,63 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// This allows us to test that a reference can be stored for objects that implement interfaces. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.NumberGenerator), fullyQualifiedName: "jsii-calc.NumberGenerator", parametersJson: "[{\"name\":\"generator\",\"type\":{\"fqn\":\"jsii-calc.IRandomNumberGenerator\"}}]")] - public class NumberGenerator : DeputyBase - { - /// - /// Stability: Experimental - /// - public NumberGenerator(Amazon.JSII.Tests.CalculatorNamespace.IRandomNumberGenerator generator): base(new DeputyProps(new object[]{generator})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected NumberGenerator(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected NumberGenerator(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "isSameGenerator", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"gen\",\"type\":{\"fqn\":\"jsii-calc.IRandomNumberGenerator\"}}]")] - public virtual bool IsSameGenerator(Amazon.JSII.Tests.CalculatorNamespace.IRandomNumberGenerator gen) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IRandomNumberGenerator)}, new object[]{gen}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "nextTimes100", returnsJson: "{\"type\":{\"primitive\":\"number\"}}")] - public virtual double NextTimes100() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "generator", typeJson: "{\"fqn\":\"jsii-calc.IRandomNumberGenerator\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.IRandomNumberGenerator Generator - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ObjectRefsInCollections.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ObjectRefsInCollections.cs deleted file mode 100644 index 6b45df883b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ObjectRefsInCollections.cs +++ /dev/null @@ -1,55 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Verify that object references can be passed inside collections. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ObjectRefsInCollections), fullyQualifiedName: "jsii-calc.ObjectRefsInCollections")] - public class ObjectRefsInCollections : DeputyBase - { - /// - /// Stability: Experimental - /// - public ObjectRefsInCollections(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ObjectRefsInCollections(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ObjectRefsInCollections(DeputyProps props): base(props) - { - } - - /// Returns the sum of all values. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "sumFromArray", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", parametersJson: "[{\"name\":\"values\",\"type\":{\"collection\":{\"elementtype\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"},\"kind\":\"array\"}}}]")] - public virtual double SumFromArray(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_[] values) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_[])}, new object[]{values}); - } - - /// Returns the sum of all values in a map. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "sumFromMap", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", parametersJson: "[{\"name\":\"values\",\"type\":{\"collection\":{\"elementtype\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"},\"kind\":\"map\"}}}]")] - public virtual double SumFromMap(System.Collections.Generic.IDictionary values) - { - return InvokeInstanceMethod(new System.Type[]{typeof(System.Collections.Generic.IDictionary)}, new object[]{values}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ObjectWithPropertyProvider.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ObjectWithPropertyProvider.cs deleted file mode 100644 index 32e1cc2176..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ObjectWithPropertyProvider.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ObjectWithPropertyProvider), fullyQualifiedName: "jsii-calc.ObjectWithPropertyProvider")] - public class ObjectWithPropertyProvider : DeputyBase - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ObjectWithPropertyProvider(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ObjectWithPropertyProvider(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "provide", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.IObjectWithProperty\"}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.IObjectWithProperty Provide() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.ObjectWithPropertyProvider), new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Old.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Old.cs deleted file mode 100644 index bc24fc60e7..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Old.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Old class. - /// - /// Stability: Deprecated - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Old), fullyQualifiedName: "jsii-calc.Old")] - [System.Obsolete("Use the new class")] - public class Old : DeputyBase - { - /// - /// Stability: Experimental - /// - public Old(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Old(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Old(DeputyProps props): base(props) - { - } - - /// Doo wop that thing. - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "doAThing")] - [System.Obsolete()] - public virtual void DoAThing() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalArgumentInvoker.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalArgumentInvoker.cs deleted file mode 100644 index 71a808bded..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalArgumentInvoker.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.OptionalArgumentInvoker), fullyQualifiedName: "jsii-calc.OptionalArgumentInvoker", parametersJson: "[{\"name\":\"delegate\",\"type\":{\"fqn\":\"jsii-calc.IInterfaceWithOptionalMethodArguments\"}}]")] - public class OptionalArgumentInvoker : DeputyBase - { - /// - /// Stability: Experimental - /// - public OptionalArgumentInvoker(Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithOptionalMethodArguments @delegate): base(new DeputyProps(new object[]{@delegate})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected OptionalArgumentInvoker(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected OptionalArgumentInvoker(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "invokeWithOptional")] - public virtual void InvokeWithOptional() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "invokeWithoutOptional")] - public virtual void InvokeWithoutOptional() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalConstructorArgument.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalConstructorArgument.cs deleted file mode 100644 index c2af050109..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalConstructorArgument.cs +++ /dev/null @@ -1,62 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.OptionalConstructorArgument), fullyQualifiedName: "jsii-calc.OptionalConstructorArgument", parametersJson: "[{\"name\":\"arg1\",\"type\":{\"primitive\":\"number\"}},{\"name\":\"arg2\",\"type\":{\"primitive\":\"string\"}},{\"name\":\"arg3\",\"optional\":true,\"type\":{\"primitive\":\"date\"}}]")] - public class OptionalConstructorArgument : DeputyBase - { - /// - /// Stability: Experimental - /// - public OptionalConstructorArgument(double arg1, string arg2, System.DateTime? arg3 = null): base(new DeputyProps(new object?[]{arg1, arg2, arg3})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected OptionalConstructorArgument(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected OptionalConstructorArgument(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "arg1", typeJson: "{\"primitive\":\"number\"}")] - public virtual double Arg1 - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "arg2", typeJson: "{\"primitive\":\"string\"}")] - public virtual string Arg2 - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "arg3", typeJson: "{\"primitive\":\"date\"}", isOptional: true)] - public virtual System.DateTime? Arg3 - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalStruct.cs deleted file mode 100644 index a734f19e6a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalStruct.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.OptionalStruct")] - public class OptionalStruct : Amazon.JSII.Tests.CalculatorNamespace.IOptionalStruct - { - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "field", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - public string? Field - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalStructConsumer.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalStructConsumer.cs deleted file mode 100644 index a6d80e094c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalStructConsumer.cs +++ /dev/null @@ -1,53 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.OptionalStructConsumer), fullyQualifiedName: "jsii-calc.OptionalStructConsumer", parametersJson: "[{\"name\":\"optionalStruct\",\"optional\":true,\"type\":{\"fqn\":\"jsii-calc.OptionalStruct\"}}]")] - public class OptionalStructConsumer : DeputyBase - { - /// - /// Stability: Experimental - /// - public OptionalStructConsumer(Amazon.JSII.Tests.CalculatorNamespace.IOptionalStruct? optionalStruct = null): base(new DeputyProps(new object?[]{optionalStruct})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected OptionalStructConsumer(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected OptionalStructConsumer(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "parameterWasUndefined", typeJson: "{\"primitive\":\"boolean\"}")] - public virtual bool ParameterWasUndefined - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "fieldValue", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public virtual string? FieldValue - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalStructProxy.cs deleted file mode 100644 index ea0c9fa351..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OptionalStructProxy.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IOptionalStruct), fullyQualifiedName: "jsii-calc.OptionalStruct")] - internal sealed class OptionalStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IOptionalStruct - { - private OptionalStructProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "field", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public string? Field - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OverridableProtectedMember.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OverridableProtectedMember.cs deleted file mode 100644 index b864d3f9dd..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OverridableProtectedMember.cs +++ /dev/null @@ -1,82 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - /// See: https://github.com/aws/jsii/issues/903 - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.OverridableProtectedMember), fullyQualifiedName: "jsii-calc.OverridableProtectedMember")] - public class OverridableProtectedMember : DeputyBase - { - /// - /// Stability: Experimental - /// - public OverridableProtectedMember(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected OverridableProtectedMember(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected OverridableProtectedMember(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "overrideMe", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - protected virtual string OverrideMe() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "switchModes")] - public virtual void SwitchModes() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "valueFromProtected", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public virtual string ValueFromProtected() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "overrideReadOnly", typeJson: "{\"primitive\":\"string\"}")] - protected virtual string OverrideReadOnly - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "overrideReadWrite", typeJson: "{\"primitive\":\"string\"}")] - protected virtual string OverrideReadWrite - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OverrideReturnsObject.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OverrideReturnsObject.cs deleted file mode 100644 index c7b5cf1dd4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/OverrideReturnsObject.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.OverrideReturnsObject), fullyQualifiedName: "jsii-calc.OverrideReturnsObject")] - public class OverrideReturnsObject : DeputyBase - { - /// - /// Stability: Experimental - /// - public OverrideReturnsObject(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected OverrideReturnsObject(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected OverrideReturnsObject(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "test", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", parametersJson: "[{\"name\":\"obj\",\"type\":{\"fqn\":\"jsii-calc.IReturnsNumber\"}}]")] - public virtual double Test(Amazon.JSII.Tests.CalculatorNamespace.IReturnsNumber obj) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IReturnsNumber)}, new object[]{obj}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ParentStruct982.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ParentStruct982.cs deleted file mode 100644 index 85afd15639..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ParentStruct982.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// https://github.com/aws/jsii/issues/982. - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.ParentStruct982")] - public class ParentStruct982 : Amazon.JSII.Tests.CalculatorNamespace.IParentStruct982 - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string Foo - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ParentStruct982Proxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ParentStruct982Proxy.cs deleted file mode 100644 index 275ef7c034..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ParentStruct982Proxy.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// https://github.com/aws/jsii/issues/982. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IParentStruct982), fullyQualifiedName: "jsii-calc.ParentStruct982")] - internal sealed class ParentStruct982Proxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IParentStruct982 - { - private ParentStruct982Proxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "foo", typeJson: "{\"primitive\":\"string\"}")] - public string Foo - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PartiallyInitializedThisConsumer.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PartiallyInitializedThisConsumer.cs deleted file mode 100644 index ae3b00b828..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PartiallyInitializedThisConsumer.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.PartiallyInitializedThisConsumer), fullyQualifiedName: "jsii-calc.PartiallyInitializedThisConsumer")] - public abstract class PartiallyInitializedThisConsumer : DeputyBase - { - /// - /// Stability: Experimental - /// - protected PartiallyInitializedThisConsumer(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected PartiallyInitializedThisConsumer(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected PartiallyInitializedThisConsumer(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "consumePartiallyInitializedThis", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"obj\",\"type\":{\"fqn\":\"jsii-calc.ConstructorPassesThisOut\"}},{\"name\":\"dt\",\"type\":{\"primitive\":\"date\"}},{\"name\":\"ev\",\"type\":{\"fqn\":\"jsii-calc.AllTypesEnum\"}}]")] - public abstract string ConsumePartiallyInitializedThis(Amazon.JSII.Tests.CalculatorNamespace.ConstructorPassesThisOut obj, System.DateTime dt, Amazon.JSII.Tests.CalculatorNamespace.AllTypesEnum ev); - - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PartiallyInitializedThisConsumerProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PartiallyInitializedThisConsumerProxy.cs deleted file mode 100644 index 721a24c93a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PartiallyInitializedThisConsumerProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.PartiallyInitializedThisConsumer), fullyQualifiedName: "jsii-calc.PartiallyInitializedThisConsumer")] - internal sealed class PartiallyInitializedThisConsumerProxy : Amazon.JSII.Tests.CalculatorNamespace.PartiallyInitializedThisConsumer - { - private PartiallyInitializedThisConsumerProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "consumePartiallyInitializedThis", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"obj\",\"type\":{\"fqn\":\"jsii-calc.ConstructorPassesThisOut\"}},{\"name\":\"dt\",\"type\":{\"primitive\":\"date\"}},{\"name\":\"ev\",\"type\":{\"fqn\":\"jsii-calc.AllTypesEnum\"}}]")] - public override string ConsumePartiallyInitializedThis(Amazon.JSII.Tests.CalculatorNamespace.ConstructorPassesThisOut obj, System.DateTime dt, Amazon.JSII.Tests.CalculatorNamespace.AllTypesEnum ev) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.ConstructorPassesThisOut), typeof(System.DateTime), typeof(Amazon.JSII.Tests.CalculatorNamespace.AllTypesEnum)}, new object[]{obj, dt, ev}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Polymorphism.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Polymorphism.cs deleted file mode 100644 index 883f7593e4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Polymorphism.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Polymorphism), fullyQualifiedName: "jsii-calc.Polymorphism")] - public class Polymorphism : DeputyBase - { - /// - /// Stability: Experimental - /// - public Polymorphism(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Polymorphism(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Polymorphism(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "sayHello", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"friendly\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.IFriendly\"}}]")] - public virtual string SayHello(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly friendly) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.IFriendly)}, new object[]{friendly}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Power.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Power.cs deleted file mode 100644 index f366aa6847..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Power.cs +++ /dev/null @@ -1,70 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// The power operation. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Power), fullyQualifiedName: "jsii-calc.Power", parametersJson: "[{\"docs\":{\"summary\":\"The base of the power.\"},\"name\":\"base\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"}},{\"docs\":{\"summary\":\"The number of times to multiply.\"},\"name\":\"pow\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"}}]")] - public class Power : Amazon.JSII.Tests.CalculatorNamespace.Composition.CompositeOperation - { - /// Creates a Power operation. - /// The base of the power. - /// The number of times to multiply. - /// - /// Stability: Experimental - /// - public Power(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ @base, Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ pow): base(new DeputyProps(new object[]{@base, pow})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Power(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Power(DeputyProps props): base(props) - { - } - - /// The base of the power. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "base", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.Value\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Base - { - get => GetInstanceProperty(); - } - - /// The expression that this operation consists of. - /// - /// Must be implemented by derived classes. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "expression", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.Value\"}")] - public override Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Expression - { - get => GetInstanceProperty(); - } - - /// The number of times to multiply. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "pow", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.Value\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Pow - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PropertyNamedProperty.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PropertyNamedProperty.cs deleted file mode 100644 index 7eb3cf1be2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PropertyNamedProperty.cs +++ /dev/null @@ -1,53 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Reproduction for https://github.com/aws/jsii/issues/1113 Where a method or property named "property" would result in impossible to load Python code. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.PropertyNamedProperty), fullyQualifiedName: "jsii-calc.PropertyNamedProperty")] - public class PropertyNamedProperty : DeputyBase - { - /// - /// Stability: Experimental - /// - public PropertyNamedProperty(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected PropertyNamedProperty(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected PropertyNamedProperty(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "property", typeJson: "{\"primitive\":\"string\"}")] - public virtual string Property - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "yetAnoterOne", typeJson: "{\"primitive\":\"boolean\"}")] - public virtual bool YetAnoterOne - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PublicClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PublicClass.cs deleted file mode 100644 index 240d05b3a3..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PublicClass.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.PublicClass), fullyQualifiedName: "jsii-calc.PublicClass")] - public class PublicClass : DeputyBase - { - /// - /// Stability: Experimental - /// - public PublicClass(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected PublicClass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected PublicClass(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "hello")] - public virtual void Hello() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonReservedWords.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonReservedWords.cs deleted file mode 100644 index 0b9dfc10ca..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonReservedWords.cs +++ /dev/null @@ -1,322 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.PythonReservedWords), fullyQualifiedName: "jsii-calc.PythonReservedWords")] - public class PythonReservedWords : DeputyBase - { - /// - /// Stability: Experimental - /// - public PythonReservedWords(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected PythonReservedWords(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected PythonReservedWords(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "and")] - public virtual void And() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "as")] - public virtual void As() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "assert")] - public virtual void Assert() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "async")] - public virtual void Async() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "await")] - public virtual void Await() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "break")] - public virtual void Break() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "class")] - public virtual void Class() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "continue")] - public virtual void Continue() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "def")] - public virtual void Def() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "del")] - public virtual void Del() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "elif")] - public virtual void Elif() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "else")] - public virtual void Else() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "except")] - public virtual void Except() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "finally")] - public virtual void Finally() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "for")] - public virtual void For() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "from")] - public virtual void From() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "global")] - public virtual void Global() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "if")] - public virtual void If() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "import")] - public virtual void Import() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "in")] - public virtual void In() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "is")] - public virtual void Is() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "lambda")] - public virtual void Lambda() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "nonlocal")] - public virtual void Nonlocal() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "not")] - public virtual void Not() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "or")] - public virtual void Or() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "pass")] - public virtual void Pass() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "raise")] - public virtual void Raise() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "return")] - public virtual void Return() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "try")] - public virtual void Try() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "while")] - public virtual void While() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "with")] - public virtual void With() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "yield")] - public virtual void Yield() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/ClassWithSelf.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/ClassWithSelf.cs deleted file mode 100644 index 98d62902da..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/ClassWithSelf.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.PythonSelf -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.PythonSelf.ClassWithSelf), fullyQualifiedName: "jsii-calc.PythonSelf.ClassWithSelf", parametersJson: "[{\"name\":\"self\",\"type\":{\"primitive\":\"string\"}}]")] - public class ClassWithSelf : DeputyBase - { - /// - /// Stability: Experimental - /// - public ClassWithSelf(string self): base(new DeputyProps(new object[]{self})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassWithSelf(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassWithSelf(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "method", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"self\",\"type\":{\"primitive\":\"number\"}}]")] - public virtual string Method(double self) - { - return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{self}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "self", typeJson: "{\"primitive\":\"string\"}")] - public virtual string Self - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/ClassWithSelfKwarg.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/ClassWithSelfKwarg.cs deleted file mode 100644 index 0c3f21b129..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/ClassWithSelfKwarg.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.PythonSelf -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.PythonSelf.ClassWithSelfKwarg), fullyQualifiedName: "jsii-calc.PythonSelf.ClassWithSelfKwarg", parametersJson: "[{\"name\":\"props\",\"type\":{\"fqn\":\"jsii-calc.PythonSelf.StructWithSelf\"}}]")] - public class ClassWithSelfKwarg : DeputyBase - { - /// - /// Stability: Experimental - /// - public ClassWithSelfKwarg(Amazon.JSII.Tests.CalculatorNamespace.PythonSelf.IStructWithSelf props): base(new DeputyProps(new object[]{props})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassWithSelfKwarg(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ClassWithSelfKwarg(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "props", typeJson: "{\"fqn\":\"jsii-calc.PythonSelf.StructWithSelf\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.PythonSelf.IStructWithSelf Props - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/IInterfaceWithSelf.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/IInterfaceWithSelf.cs deleted file mode 100644 index 4069ae833e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/IInterfaceWithSelf.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.PythonSelf -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IInterfaceWithSelf), fullyQualifiedName: "jsii-calc.PythonSelf.IInterfaceWithSelf")] - public interface IInterfaceWithSelf - { - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "method", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"self\",\"type\":{\"primitive\":\"number\"}}]")] - string Method(double self); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/IInterfaceWithSelfProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/IInterfaceWithSelfProxy.cs deleted file mode 100644 index 354e571d62..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/IInterfaceWithSelfProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.PythonSelf -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IInterfaceWithSelf), fullyQualifiedName: "jsii-calc.PythonSelf.IInterfaceWithSelf")] - internal sealed class IInterfaceWithSelfProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.PythonSelf.IInterfaceWithSelf - { - private IInterfaceWithSelfProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "method", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"self\",\"type\":{\"primitive\":\"number\"}}]")] - public string Method(double self) - { - return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{self}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/IStructWithSelf.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/IStructWithSelf.cs deleted file mode 100644 index 5b39d347f9..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/IStructWithSelf.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.PythonSelf -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IStructWithSelf), fullyQualifiedName: "jsii-calc.PythonSelf.StructWithSelf")] - public interface IStructWithSelf - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "self", typeJson: "{\"primitive\":\"string\"}")] - string Self - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/StructWithSelf.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/StructWithSelf.cs deleted file mode 100644 index 947d9697cb..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/StructWithSelf.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.PythonSelf -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.PythonSelf.StructWithSelf")] - public class StructWithSelf : Amazon.JSII.Tests.CalculatorNamespace.PythonSelf.IStructWithSelf - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "self", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string Self - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/StructWithSelfProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/StructWithSelfProxy.cs deleted file mode 100644 index 0eb4bf9069..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/PythonSelf/StructWithSelfProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.PythonSelf -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IStructWithSelf), fullyQualifiedName: "jsii-calc.PythonSelf.StructWithSelf")] - internal sealed class StructWithSelfProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.PythonSelf.IStructWithSelf - { - private StructWithSelfProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "self", typeJson: "{\"primitive\":\"string\"}")] - public string Self - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ReferenceEnumFromScopedPackage.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ReferenceEnumFromScopedPackage.cs deleted file mode 100644 index 8a39a76371..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ReferenceEnumFromScopedPackage.cs +++ /dev/null @@ -1,64 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// See awslabs/jsii#138. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ReferenceEnumFromScopedPackage), fullyQualifiedName: "jsii-calc.ReferenceEnumFromScopedPackage")] - public class ReferenceEnumFromScopedPackage : DeputyBase - { - /// - /// Stability: Experimental - /// - public ReferenceEnumFromScopedPackage(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ReferenceEnumFromScopedPackage(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ReferenceEnumFromScopedPackage(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "loadFoo", returnsJson: "{\"optional\":true,\"type\":{\"fqn\":\"@scope/jsii-calc-lib.EnumFromScopedModule\"}}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.EnumFromScopedModule? LoadFoo() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "saveFoo", parametersJson: "[{\"name\":\"value\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.EnumFromScopedModule\"}}]")] - public virtual void SaveFoo(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.EnumFromScopedModule @value) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.EnumFromScopedModule)}, new object[]{@value}); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "foo", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.EnumFromScopedModule\"}", isOptional: true)] - public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.EnumFromScopedModule? Foo - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ReturnsPrivateImplementationOfInterface.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ReturnsPrivateImplementationOfInterface.cs deleted file mode 100644 index 728333deb5..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/ReturnsPrivateImplementationOfInterface.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Helps ensure the JSII kernel & runtime cooperate correctly when an un-exported instance of a class is returned with a declared type that is an exported interface, and the instance inherits from an exported class. - /// an instance of an un-exported class that extends `ExportedBaseClass`, declared as `IPrivatelyImplemented`. - /// - /// Stability: Experimental - /// - /// See: https://github.com/aws/jsii/issues/320 - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.ReturnsPrivateImplementationOfInterface), fullyQualifiedName: "jsii-calc.ReturnsPrivateImplementationOfInterface")] - public class ReturnsPrivateImplementationOfInterface : DeputyBase - { - /// - /// Stability: Experimental - /// - public ReturnsPrivateImplementationOfInterface(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ReturnsPrivateImplementationOfInterface(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected ReturnsPrivateImplementationOfInterface(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "privateImplementation", typeJson: "{\"fqn\":\"jsii-calc.IPrivatelyImplemented\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.IPrivatelyImplemented PrivateImplementation - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RootStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RootStruct.cs deleted file mode 100644 index 68f3a11453..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RootStruct.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// This is here to check that we can pass a nested struct into a kwargs by specifying it as an in-line dictionary. - /// - /// This is cheating with the (current) declared types, but this is the "more - /// idiomatic" way for Pythonists. - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.RootStruct")] - public class RootStruct : Amazon.JSII.Tests.CalculatorNamespace.IRootStruct - { - /// May not be empty. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "stringProp", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string StringProp - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "nestedStruct", typeJson: "{\"fqn\":\"jsii-calc.NestedStruct\"}", isOptional: true, isOverride: true)] - public Amazon.JSII.Tests.CalculatorNamespace.INestedStruct? NestedStruct - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RootStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RootStructProxy.cs deleted file mode 100644 index 35c3c57f12..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RootStructProxy.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// This is here to check that we can pass a nested struct into a kwargs by specifying it as an in-line dictionary. - /// - /// This is cheating with the (current) declared types, but this is the "more - /// idiomatic" way for Pythonists. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IRootStruct), fullyQualifiedName: "jsii-calc.RootStruct")] - internal sealed class RootStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IRootStruct - { - private RootStructProxy(ByRefValue reference): base(reference) - { - } - - /// May not be empty. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "stringProp", typeJson: "{\"primitive\":\"string\"}")] - public string StringProp - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "nestedStruct", typeJson: "{\"fqn\":\"jsii-calc.NestedStruct\"}", isOptional: true)] - public Amazon.JSII.Tests.CalculatorNamespace.INestedStruct? NestedStruct - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RootStructValidator.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RootStructValidator.cs deleted file mode 100644 index f560779442..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RootStructValidator.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.RootStructValidator), fullyQualifiedName: "jsii-calc.RootStructValidator")] - public class RootStructValidator : DeputyBase - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected RootStructValidator(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected RootStructValidator(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "validate", parametersJson: "[{\"name\":\"struct\",\"type\":{\"fqn\":\"jsii-calc.RootStruct\"}}]")] - public static void Validate(Amazon.JSII.Tests.CalculatorNamespace.IRootStruct @struct) - { - InvokeStaticVoidMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.RootStructValidator), new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IRootStruct)}, new object[]{@struct}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RuntimeTypeChecking.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RuntimeTypeChecking.cs deleted file mode 100644 index 10976ffd8c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/RuntimeTypeChecking.cs +++ /dev/null @@ -1,62 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.RuntimeTypeChecking), fullyQualifiedName: "jsii-calc.RuntimeTypeChecking")] - public class RuntimeTypeChecking : DeputyBase - { - /// - /// Stability: Experimental - /// - public RuntimeTypeChecking(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected RuntimeTypeChecking(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected RuntimeTypeChecking(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "methodWithDefaultedArguments", parametersJson: "[{\"name\":\"arg1\",\"optional\":true,\"type\":{\"primitive\":\"number\"}},{\"name\":\"arg2\",\"optional\":true,\"type\":{\"primitive\":\"string\"}},{\"name\":\"arg3\",\"optional\":true,\"type\":{\"primitive\":\"date\"}}]")] - public virtual void MethodWithDefaultedArguments(double? arg1 = null, string? arg2 = null, System.DateTime? arg3 = null) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(double), typeof(string), typeof(System.DateTime)}, new object?[]{arg1, arg2, arg3}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "methodWithOptionalAnyArgument", parametersJson: "[{\"name\":\"arg\",\"optional\":true,\"type\":{\"primitive\":\"any\"}}]")] - public virtual void MethodWithOptionalAnyArgument(object? arg = null) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(object)}, new object?[]{arg}); - } - - /// Used to verify verification of number of method arguments. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "methodWithOptionalArguments", parametersJson: "[{\"name\":\"arg1\",\"type\":{\"primitive\":\"number\"}},{\"name\":\"arg2\",\"type\":{\"primitive\":\"string\"}},{\"name\":\"arg3\",\"optional\":true,\"type\":{\"primitive\":\"date\"}}]")] - public virtual void MethodWithOptionalArguments(double arg1, string arg2, System.DateTime? arg3 = null) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(double), typeof(string), typeof(System.DateTime)}, new object?[]{arg1, arg2, arg3}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SecondLevelStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SecondLevelStruct.cs deleted file mode 100644 index 18f6fa479d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SecondLevelStruct.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.SecondLevelStruct")] - public class SecondLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.ISecondLevelStruct - { - /// It's long and required. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "deeperRequiredProp", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string DeeperRequiredProp - { - get; - set; - } - - /// It's long, but you'll almost never pass it. - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "deeperOptionalProp", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - public string? DeeperOptionalProp - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SecondLevelStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SecondLevelStructProxy.cs deleted file mode 100644 index 45f51b425f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SecondLevelStructProxy.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(ISecondLevelStruct), fullyQualifiedName: "jsii-calc.SecondLevelStruct")] - internal sealed class SecondLevelStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.ISecondLevelStruct - { - private SecondLevelStructProxy(ByRefValue reference): base(reference) - { - } - - /// It's long and required. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "deeperRequiredProp", typeJson: "{\"primitive\":\"string\"}")] - public string DeeperRequiredProp - { - get => GetInstanceProperty(); - } - - /// It's long, but you'll almost never pass it. - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "deeperOptionalProp", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public string? DeeperOptionalProp - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingleInstanceTwoTypes.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingleInstanceTwoTypes.cs deleted file mode 100644 index cc0b51ae4e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingleInstanceTwoTypes.cs +++ /dev/null @@ -1,57 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Test that a single instance can be returned under two different FQNs. - /// - /// JSII clients can instantiate 2 different strongly-typed wrappers for the same - /// object. Unfortunately, this will break object equality, but if we didn't do - /// this it would break runtime type checks in the JVM or CLR. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.SingleInstanceTwoTypes), fullyQualifiedName: "jsii-calc.SingleInstanceTwoTypes")] - public class SingleInstanceTwoTypes : DeputyBase - { - /// - /// Stability: Experimental - /// - public SingleInstanceTwoTypes(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected SingleInstanceTwoTypes(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected SingleInstanceTwoTypes(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "interface1", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.InbetweenClass\"}}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.InbetweenClass Interface1() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "interface2", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.IPublicInterface\"}}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.IPublicInterface Interface2() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonInt.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonInt.cs deleted file mode 100644 index 172df42f94..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonInt.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Verifies that singleton enums are handled correctly. - /// - /// https://github.com/aws/jsii/issues/231 - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.SingletonInt), fullyQualifiedName: "jsii-calc.SingletonInt")] - public class SingletonInt : DeputyBase - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected SingletonInt(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected SingletonInt(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "isSingletonInt", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"value\",\"type\":{\"primitive\":\"number\"}}]")] - public virtual bool IsSingletonInt(double @value) - { - return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{@value}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonIntEnum.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonIntEnum.cs deleted file mode 100644 index 255d9ad793..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonIntEnum.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - - /// A singleton integer. - /// - /// Stability: Experimental - /// - [JsiiEnum(nativeType: typeof(SingletonIntEnum), fullyQualifiedName: "jsii-calc.SingletonIntEnum")] - public enum SingletonIntEnum - { - /// Elite! - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "SINGLETON_INT")] - SINGLETON_INT - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonString.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonString.cs deleted file mode 100644 index 0443985851..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonString.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Verifies that singleton enums are handled correctly. - /// - /// https://github.com/aws/jsii/issues/231 - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.SingletonString), fullyQualifiedName: "jsii-calc.SingletonString")] - public class SingletonString : DeputyBase - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected SingletonString(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected SingletonString(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "isSingletonString", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"value\",\"type\":{\"primitive\":\"string\"}}]")] - public virtual bool IsSingletonString(string @value) - { - return InvokeInstanceMethod(new System.Type[]{typeof(string)}, new object[]{@value}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonStringEnum.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonStringEnum.cs deleted file mode 100644 index 5e9afb5734..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SingletonStringEnum.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - - /// A singleton string. - /// - /// Stability: Experimental - /// - [JsiiEnum(nativeType: typeof(SingletonStringEnum), fullyQualifiedName: "jsii-calc.SingletonStringEnum")] - public enum SingletonStringEnum - { - /// 1337. - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "SINGLETON_STRING")] - SINGLETON_STRING - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SmellyStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SmellyStruct.cs deleted file mode 100644 index 3e01f5c21d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SmellyStruct.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.SmellyStruct")] - public class SmellyStruct : Amazon.JSII.Tests.CalculatorNamespace.ISmellyStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "property", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string Property - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "yetAnoterOne", typeJson: "{\"primitive\":\"boolean\"}", isOverride: true)] - public bool YetAnoterOne - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SmellyStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SmellyStructProxy.cs deleted file mode 100644 index e11ad625ea..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SmellyStructProxy.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(ISmellyStruct), fullyQualifiedName: "jsii-calc.SmellyStruct")] - internal sealed class SmellyStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.ISmellyStruct - { - private SmellyStructProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "property", typeJson: "{\"primitive\":\"string\"}")] - public string Property - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "yetAnoterOne", typeJson: "{\"primitive\":\"boolean\"}")] - public bool YetAnoterOne - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SomeTypeJsii976.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SomeTypeJsii976.cs deleted file mode 100644 index ee1042de51..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SomeTypeJsii976.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.SomeTypeJsii976), fullyQualifiedName: "jsii-calc.SomeTypeJsii976")] - public class SomeTypeJsii976 : DeputyBase - { - /// - /// Stability: Experimental - /// - public SomeTypeJsii976(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected SomeTypeJsii976(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected SomeTypeJsii976(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "returnAnonymous", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public static object ReturnAnonymous() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.SomeTypeJsii976), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "returnReturn", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.IReturnJsii976\"}}")] - public static Amazon.JSII.Tests.CalculatorNamespace.IReturnJsii976 ReturnReturn() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.SomeTypeJsii976), new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableClass.cs deleted file mode 100644 index 66ecc68f3e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableClass.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.StableClass), fullyQualifiedName: "jsii-calc.StableClass", parametersJson: "[{\"name\":\"readonlyString\",\"type\":{\"primitive\":\"string\"}},{\"name\":\"mutableNumber\",\"optional\":true,\"type\":{\"primitive\":\"number\"}}]")] - public class StableClass : DeputyBase - { - public StableClass(string readonlyString, double? mutableNumber = null): base(new DeputyProps(new object?[]{readonlyString, mutableNumber})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected StableClass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected StableClass(DeputyProps props): base(props) - { - } - - [JsiiMethod(name: "method")] - public virtual void Method() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}")] - public virtual string ReadonlyProperty - { - get => GetInstanceProperty(); - } - - [JsiiOptional] - [JsiiProperty(name: "mutableProperty", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - public virtual double? MutableProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableEnum.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableEnum.cs deleted file mode 100644 index 17b7d05a04..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableEnum.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - - [JsiiEnum(nativeType: typeof(StableEnum), fullyQualifiedName: "jsii-calc.StableEnum")] - public enum StableEnum - { - [JsiiEnumMember(name: "OPTION_A")] - OPTION_A, - [JsiiEnumMember(name: "OPTION_B")] - OPTION_B - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableStruct.cs deleted file mode 100644 index 7aa4ac8ff1..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableStruct.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - [JsiiByValue(fqn: "jsii-calc.StableStruct")] - public class StableStruct : Amazon.JSII.Tests.CalculatorNamespace.IStableStruct - { - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string ReadonlyProperty - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableStructProxy.cs deleted file mode 100644 index 497a34dfbd..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StableStructProxy.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - [JsiiTypeProxy(nativeType: typeof(IStableStruct), fullyQualifiedName: "jsii-calc.StableStruct")] - internal sealed class StableStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IStableStruct - { - private StableStructProxy(ByRefValue reference): base(reference) - { - } - - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}")] - public string ReadonlyProperty - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StaticContext.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StaticContext.cs deleted file mode 100644 index d803de2769..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StaticContext.cs +++ /dev/null @@ -1,49 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// This is used to validate the ability to use `this` from within a static context. - /// - /// https://github.com/awslabs/aws-cdk/issues/2304 - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.StaticContext), fullyQualifiedName: "jsii-calc.StaticContext")] - public class StaticContext : DeputyBase - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected StaticContext(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected StaticContext(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "canAccessStaticContext", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}")] - public static bool CanAccessStaticContext() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.StaticContext), new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "staticVariable", typeJson: "{\"primitive\":\"boolean\"}")] - public static bool StaticVariable - { - get => GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.StaticContext)); - set => SetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.StaticContext), value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Statics.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Statics.cs deleted file mode 100644 index fabaa43e58..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Statics.cs +++ /dev/null @@ -1,129 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics), fullyQualifiedName: "jsii-calc.Statics", parametersJson: "[{\"name\":\"value\",\"type\":{\"primitive\":\"string\"}}]")] - public class Statics : DeputyBase - { - /// - /// Stability: Experimental - /// - public Statics(string @value): base(new DeputyProps(new object[]{@value})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Statics(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Statics(DeputyProps props): base(props) - { - } - - /// Jsdocs for static method. - /// The name of the person to say hello to. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "staticMethod", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"docs\":{\"summary\":\"The name of the person to say hello to.\"},\"name\":\"name\",\"type\":{\"primitive\":\"string\"}}]")] - public static string StaticMethod(string name) - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics), new System.Type[]{typeof(string)}, new object[]{name}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "justMethod", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public virtual string JustMethod() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// Constants may also use all-caps. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "BAR", typeJson: "{\"primitive\":\"number\"}")] - public static double BAR - { - get; - } - = GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics)); - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "ConstObj", typeJson: "{\"fqn\":\"jsii-calc.DoubleTrouble\"}")] - public static Amazon.JSII.Tests.CalculatorNamespace.DoubleTrouble ConstObj - { - get; - } - = GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics)); - - /// Jsdocs for static property. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "Foo", typeJson: "{\"primitive\":\"string\"}")] - public static string Foo - { - get; - } - = GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics)); - - /// Constants can also use camelCase. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "zooBar", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"map\"}}")] - public static System.Collections.Generic.IDictionary ZooBar - { - get; - } - = GetStaticProperty>(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics)); - - /// Jsdocs for static getter. - /// - /// Jsdocs for static setter. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "instance", typeJson: "{\"fqn\":\"jsii-calc.Statics\"}")] - public static Amazon.JSII.Tests.CalculatorNamespace.Statics Instance - { - get => GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics)); - set => SetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics), value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "nonConstStatic", typeJson: "{\"primitive\":\"number\"}")] - public static double NonConstStatic - { - get => GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics)); - set => SetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Statics), value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"string\"}")] - public virtual string Value - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StringEnum.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StringEnum.cs deleted file mode 100644 index 4c7851da65..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StringEnum.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - - /// - /// Stability: Experimental - /// - [JsiiEnum(nativeType: typeof(StringEnum), fullyQualifiedName: "jsii-calc.StringEnum")] - public enum StringEnum - { - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "A")] - A, - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "B")] - B, - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "C")] - C - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StripInternal.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StripInternal.cs deleted file mode 100644 index 813b037735..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StripInternal.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.StripInternal), fullyQualifiedName: "jsii-calc.StripInternal")] - public class StripInternal : DeputyBase - { - /// - /// Stability: Experimental - /// - public StripInternal(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected StripInternal(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected StripInternal(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "youSeeMe", typeJson: "{\"primitive\":\"string\"}")] - public virtual string YouSeeMe - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructA.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructA.cs deleted file mode 100644 index a689765a1d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructA.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// We can serialize and deserialize structs without silently ignoring optional fields. - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.StructA")] - public class StructA : Amazon.JSII.Tests.CalculatorNamespace.IStructA - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "requiredString", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string RequiredString - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optionalNumber", typeJson: "{\"primitive\":\"number\"}", isOptional: true, isOverride: true)] - public double? OptionalNumber - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optionalString", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - public string? OptionalString - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructAProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructAProxy.cs deleted file mode 100644 index dfccd35da5..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructAProxy.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// We can serialize and deserialize structs without silently ignoring optional fields. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IStructA), fullyQualifiedName: "jsii-calc.StructA")] - internal sealed class StructAProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IStructA - { - private StructAProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "requiredString", typeJson: "{\"primitive\":\"string\"}")] - public string RequiredString - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optionalNumber", typeJson: "{\"primitive\":\"number\"}", isOptional: true)] - public double? OptionalNumber - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optionalString", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public string? OptionalString - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructB.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructB.cs deleted file mode 100644 index 5e3288721b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructB.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// This intentionally overlaps with StructA (where only requiredString is provided) to test htat the kernel properly disambiguates those. - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.StructB")] - public class StructB : Amazon.JSII.Tests.CalculatorNamespace.IStructB - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "requiredString", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string RequiredString - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optionalBoolean", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true, isOverride: true)] - public bool? OptionalBoolean - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optionalStructA", typeJson: "{\"fqn\":\"jsii-calc.StructA\"}", isOptional: true, isOverride: true)] - public Amazon.JSII.Tests.CalculatorNamespace.IStructA? OptionalStructA - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructBProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructBProxy.cs deleted file mode 100644 index fbeb80c2fe..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructBProxy.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// This intentionally overlaps with StructA (where only requiredString is provided) to test htat the kernel properly disambiguates those. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IStructB), fullyQualifiedName: "jsii-calc.StructB")] - internal sealed class StructBProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IStructB - { - private StructBProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "requiredString", typeJson: "{\"primitive\":\"string\"}")] - public string RequiredString - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optionalBoolean", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true)] - public bool? OptionalBoolean - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optionalStructA", typeJson: "{\"fqn\":\"jsii-calc.StructA\"}", isOptional: true)] - public Amazon.JSII.Tests.CalculatorNamespace.IStructA? OptionalStructA - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructParameterType.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructParameterType.cs deleted file mode 100644 index 498e8ebb67..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructParameterType.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// Verifies that, in languages that do keyword lifting (e.g: Python), having a struct member with the same name as a positional parameter results in the correct code being emitted. - /// - /// See: https://github.com/aws/aws-cdk/issues/4302 - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.StructParameterType")] - public class StructParameterType : Amazon.JSII.Tests.CalculatorNamespace.IStructParameterType - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "scope", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string Scope - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "props", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true, isOverride: true)] - public bool? Props - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructParameterTypeProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructParameterTypeProxy.cs deleted file mode 100644 index 25ffff86b0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructParameterTypeProxy.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Verifies that, in languages that do keyword lifting (e.g: Python), having a struct member with the same name as a positional parameter results in the correct code being emitted. - /// - /// See: https://github.com/aws/aws-cdk/issues/4302 - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IStructParameterType), fullyQualifiedName: "jsii-calc.StructParameterType")] - internal sealed class StructParameterTypeProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IStructParameterType - { - private StructParameterTypeProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "scope", typeJson: "{\"primitive\":\"string\"}")] - public string Scope - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "props", typeJson: "{\"primitive\":\"boolean\"}", isOptional: true)] - public bool? Props - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructPassing.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructPassing.cs deleted file mode 100644 index d10b5fb52a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructPassing.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Just because we can. - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.StructPassing), fullyQualifiedName: "jsii-calc.StructPassing")] - public class StructPassing : DeputyBase - { - /// - /// Stability: Experimental - /// - public StructPassing(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected StructPassing(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected StructPassing(DeputyProps props): base(props) - { - } - - [JsiiMethod(name: "howManyVarArgsDidIPass", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", parametersJson: "[{\"name\":\"_positional\",\"type\":{\"primitive\":\"number\"}},{\"name\":\"inputs\",\"type\":{\"fqn\":\"jsii-calc.TopLevelStruct\"},\"variadic\":true}]")] - public static double HowManyVarArgsDidIPass(double positional, params Amazon.JSII.Tests.CalculatorNamespace.ITopLevelStruct[] inputs) - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.StructPassing), new System.Type[]{typeof(double), typeof(Amazon.JSII.Tests.CalculatorNamespace.ITopLevelStruct[])}, new object[]{positional, inputs}); - } - - [JsiiMethod(name: "roundTrip", returnsJson: "{\"type\":{\"fqn\":\"jsii-calc.TopLevelStruct\"}}", parametersJson: "[{\"name\":\"_positional\",\"type\":{\"primitive\":\"number\"}},{\"name\":\"input\",\"type\":{\"fqn\":\"jsii-calc.TopLevelStruct\"}}]")] - public static Amazon.JSII.Tests.CalculatorNamespace.ITopLevelStruct RoundTrip(double positional, Amazon.JSII.Tests.CalculatorNamespace.ITopLevelStruct input) - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.StructPassing), new System.Type[]{typeof(double), typeof(Amazon.JSII.Tests.CalculatorNamespace.ITopLevelStruct)}, new object[]{positional, input}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructUnionConsumer.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructUnionConsumer.cs deleted file mode 100644 index 550aa1ab46..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructUnionConsumer.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.StructUnionConsumer), fullyQualifiedName: "jsii-calc.StructUnionConsumer")] - public class StructUnionConsumer : DeputyBase - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected StructUnionConsumer(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected StructUnionConsumer(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "isStructA", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"struct\",\"type\":{\"union\":{\"types\":[{\"fqn\":\"jsii-calc.StructA\"},{\"fqn\":\"jsii-calc.StructB\"}]}}}]")] - public static bool IsStructA(object @struct) - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.StructUnionConsumer), new System.Type[]{typeof(object)}, new object[]{@struct}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "isStructB", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"struct\",\"type\":{\"union\":{\"types\":[{\"fqn\":\"jsii-calc.StructA\"},{\"fqn\":\"jsii-calc.StructB\"}]}}}]")] - public static bool IsStructB(object @struct) - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.StructUnionConsumer), new System.Type[]{typeof(object)}, new object[]{@struct}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructWithJavaReservedWords.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructWithJavaReservedWords.cs deleted file mode 100644 index ae29361d74..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructWithJavaReservedWords.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.StructWithJavaReservedWords")] - public class StructWithJavaReservedWords : Amazon.JSII.Tests.CalculatorNamespace.IStructWithJavaReservedWords - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "default", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string Default - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "assert", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - public string? Assert - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "result", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - public string? Result - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "that", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - public string? That - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructWithJavaReservedWordsProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructWithJavaReservedWordsProxy.cs deleted file mode 100644 index 82d29eef13..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/StructWithJavaReservedWordsProxy.cs +++ /dev/null @@ -1,56 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IStructWithJavaReservedWords), fullyQualifiedName: "jsii-calc.StructWithJavaReservedWords")] - internal sealed class StructWithJavaReservedWordsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IStructWithJavaReservedWords - { - private StructWithJavaReservedWordsProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "default", typeJson: "{\"primitive\":\"string\"}")] - public string Default - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "assert", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public string? Assert - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "result", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public string? Result - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "that", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public string? That - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/BackReferences/IMyClassReference.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/BackReferences/IMyClassReference.cs deleted file mode 100644 index d0bba143dc..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/BackReferences/IMyClassReference.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.BackReferences -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IMyClassReference), fullyQualifiedName: "jsii-calc.submodule.back_references.MyClassReference")] - public interface IMyClassReference - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "reference", typeJson: "{\"fqn\":\"jsii-calc.submodule.MyClass\"}")] - Amazon.JSII.Tests.CalculatorNamespace.Submodule.MyClass Reference - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/BackReferences/MyClassReference.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/BackReferences/MyClassReference.cs deleted file mode 100644 index 3abbb5b89f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/BackReferences/MyClassReference.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.BackReferences -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.submodule.back_references.MyClassReference")] - public class MyClassReference : Amazon.JSII.Tests.CalculatorNamespace.Submodule.BackReferences.IMyClassReference - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "reference", typeJson: "{\"fqn\":\"jsii-calc.submodule.MyClass\"}", isOverride: true)] - public Amazon.JSII.Tests.CalculatorNamespace.Submodule.MyClass Reference - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/BackReferences/MyClassReferenceProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/BackReferences/MyClassReferenceProxy.cs deleted file mode 100644 index e2c5c7874a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/BackReferences/MyClassReferenceProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.BackReferences -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IMyClassReference), fullyQualifiedName: "jsii-calc.submodule.back_references.MyClassReference")] - internal sealed class MyClassReferenceProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.Submodule.BackReferences.IMyClassReference - { - private MyClassReferenceProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "reference", typeJson: "{\"fqn\":\"jsii-calc.submodule.MyClass\"}")] - public Amazon.JSII.Tests.CalculatorNamespace.Submodule.MyClass Reference - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/Awesomeness.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/Awesomeness.cs deleted file mode 100644 index 6bf4fd036e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/Awesomeness.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child -{ - - /// - /// Stability: Experimental - /// - [JsiiEnum(nativeType: typeof(Awesomeness), fullyQualifiedName: "jsii-calc.submodule.child.Awesomeness")] - public enum Awesomeness - { - /// It was awesome! - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "AWESOME")] - AWESOME - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/Goodness.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/Goodness.cs deleted file mode 100644 index d479b90294..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/Goodness.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child -{ - - /// - /// Stability: Experimental - /// - [JsiiEnum(nativeType: typeof(Goodness), fullyQualifiedName: "jsii-calc.submodule.child.Goodness")] - public enum Goodness - { - /// It's pretty good. - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "PRETTY_GOOD")] - PRETTY_GOOD, - /// It's really good. - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "REALLY_GOOD")] - REALLY_GOOD, - /// It's amazingly good. - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "AMAZINGLY_GOOD")] - AMAZINGLY_GOOD - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/IKwargsProps.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/IKwargsProps.cs deleted file mode 100644 index feccce1a0c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/IKwargsProps.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IKwargsProps), fullyQualifiedName: "jsii-calc.submodule.child.KwargsProps")] - public interface IKwargsProps : Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.ISomeStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "extra", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - [Amazon.JSII.Runtime.Deputy.JsiiOptional] - string? Extra - { - get - { - return null; - } - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/ISomeStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/ISomeStruct.cs deleted file mode 100644 index 80a8cf22a6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/ISomeStruct.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(ISomeStruct), fullyQualifiedName: "jsii-calc.submodule.child.SomeStruct")] - public interface ISomeStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "prop", typeJson: "{\"fqn\":\"jsii-calc.submodule.child.SomeEnum\"}")] - Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.SomeEnum Prop - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/IStructure.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/IStructure.cs deleted file mode 100644 index 0592d56531..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/IStructure.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(IStructure), fullyQualifiedName: "jsii-calc.submodule.child.Structure")] - public interface IStructure - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bool", typeJson: "{\"primitive\":\"boolean\"}")] - bool Bool - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/InnerClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/InnerClass.cs deleted file mode 100644 index b81390a756..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/InnerClass.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.InnerClass), fullyQualifiedName: "jsii-calc.submodule.child.InnerClass")] - public class InnerClass : DeputyBase - { - /// - /// Stability: Experimental - /// - public InnerClass(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected InnerClass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected InnerClass(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "staticProp", typeJson: "{\"fqn\":\"jsii-calc.submodule.child.SomeStruct\"}")] - public static Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.ISomeStruct StaticProp - { - get; - } - = GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.InnerClass)); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/KwargsProps.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/KwargsProps.cs deleted file mode 100644 index b15e33e05c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/KwargsProps.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child -{ - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.submodule.child.KwargsProps")] - public class KwargsProps : Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.IKwargsProps - { - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "extra", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - public string? Extra - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "prop", typeJson: "{\"fqn\":\"jsii-calc.submodule.child.SomeEnum\"}", isOverride: true)] - public Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.SomeEnum Prop - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/KwargsPropsProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/KwargsPropsProxy.cs deleted file mode 100644 index 07fa362113..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/KwargsPropsProxy.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IKwargsProps), fullyQualifiedName: "jsii-calc.submodule.child.KwargsProps")] - internal sealed class KwargsPropsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.IKwargsProps - { - private KwargsPropsProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "extra", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public string? Extra - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "prop", typeJson: "{\"fqn\":\"jsii-calc.submodule.child.SomeEnum\"}")] - public Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.SomeEnum Prop - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/OuterClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/OuterClass.cs deleted file mode 100644 index b348b5c725..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/OuterClass.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child -{ - /// Checks that classes can self-reference during initialization. - /// - /// Stability: Experimental - /// - /// See: : https://github.com/aws/jsii/pull/1706 - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.OuterClass), fullyQualifiedName: "jsii-calc.submodule.child.OuterClass")] - public class OuterClass : DeputyBase - { - /// - /// Stability: Experimental - /// - public OuterClass(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected OuterClass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected OuterClass(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "innerClass", typeJson: "{\"fqn\":\"jsii-calc.submodule.child.InnerClass\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.InnerClass InnerClass - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/SomeEnum.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/SomeEnum.cs deleted file mode 100644 index 17e0efdf61..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/SomeEnum.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child -{ - - /// - /// Stability: Experimental - /// - [JsiiEnum(nativeType: typeof(SomeEnum), fullyQualifiedName: "jsii-calc.submodule.child.SomeEnum")] - public enum SomeEnum - { - /// - /// Stability: Experimental - /// - [JsiiEnumMember(name: "SOME")] - SOME - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/SomeStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/SomeStruct.cs deleted file mode 100644 index 5245796dde..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/SomeStruct.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.submodule.child.SomeStruct")] - public class SomeStruct : Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.ISomeStruct - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "prop", typeJson: "{\"fqn\":\"jsii-calc.submodule.child.SomeEnum\"}", isOverride: true)] - public Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.SomeEnum Prop - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/SomeStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/SomeStructProxy.cs deleted file mode 100644 index 06b47ddaa6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/SomeStructProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(ISomeStruct), fullyQualifiedName: "jsii-calc.submodule.child.SomeStruct")] - internal sealed class SomeStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.ISomeStruct - { - private SomeStructProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "prop", typeJson: "{\"fqn\":\"jsii-calc.submodule.child.SomeEnum\"}")] - public Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.SomeEnum Prop - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/Structure.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/Structure.cs deleted file mode 100644 index 249762ae88..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/Structure.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.submodule.child.Structure")] - public class Structure : Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.IStructure - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bool", typeJson: "{\"primitive\":\"boolean\"}", isOverride: true)] - public bool Bool - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/StructureProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/StructureProxy.cs deleted file mode 100644 index 945641b246..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Child/StructureProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IStructure), fullyQualifiedName: "jsii-calc.submodule.child.Structure")] - internal sealed class StructureProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.IStructure - { - private StructureProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bool", typeJson: "{\"primitive\":\"boolean\"}")] - public bool Bool - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Isolated/Kwargs.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Isolated/Kwargs.cs deleted file mode 100644 index 97e3829e20..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/Isolated/Kwargs.cs +++ /dev/null @@ -1,37 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.Isolated -{ - /// Ensures imports are correctly registered for kwargs lifted properties from super-structs. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Isolated.Kwargs), fullyQualifiedName: "jsii-calc.submodule.isolated.Kwargs")] - public class Kwargs : DeputyBase - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Kwargs(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Kwargs(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "method", returnsJson: "{\"type\":{\"primitive\":\"boolean\"}}", parametersJson: "[{\"name\":\"props\",\"optional\":true,\"type\":{\"fqn\":\"jsii-calc.submodule.child.KwargsProps\"}}]")] - public static bool Method(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.IKwargsProps? props = null) - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Isolated.Kwargs), new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.IKwargsProps)}, new object?[]{props}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/MyClass.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/MyClass.cs deleted file mode 100644 index 977d3ba5ac..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/MyClass.cs +++ /dev/null @@ -1,81 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.MyClass), fullyQualifiedName: "jsii-calc.submodule.MyClass", parametersJson: "[{\"name\":\"props\",\"type\":{\"fqn\":\"jsii-calc.submodule.child.SomeStruct\"}}]")] - public class MyClass : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.DeeplyNested.INamespaced - { - /// - /// Stability: Experimental - /// - public MyClass(Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.ISomeStruct props): base(new DeputyProps(new object[]{props})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected MyClass(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected MyClass(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "awesomeness", typeJson: "{\"fqn\":\"jsii-calc.submodule.child.Awesomeness\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.Awesomeness Awesomeness - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "definedAt", typeJson: "{\"primitive\":\"string\"}")] - public virtual string DefinedAt - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "goodness", typeJson: "{\"fqn\":\"jsii-calc.submodule.child.Goodness\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.Goodness Goodness - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "props", typeJson: "{\"fqn\":\"jsii-calc.submodule.child.SomeStruct\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.ISomeStruct Props - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "allTypes", typeJson: "{\"fqn\":\"jsii-calc.AllTypes\"}", isOptional: true)] - public virtual Amazon.JSII.Tests.CalculatorNamespace.AllTypes? AllTypes - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/DeeplyNested/INamespaced.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/DeeplyNested/INamespaced.cs deleted file mode 100644 index b68772f183..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/DeeplyNested/INamespaced.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.DeeplyNested -{ - /// - /// Stability: Experimental - /// - [JsiiInterface(nativeType: typeof(INamespaced), fullyQualifiedName: "jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced")] - public interface INamespaced - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "definedAt", typeJson: "{\"primitive\":\"string\"}")] - string DefinedAt - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/DeeplyNested/INamespacedProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/DeeplyNested/INamespacedProxy.cs deleted file mode 100644 index 13f38d0463..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/DeeplyNested/INamespacedProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.DeeplyNested -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(INamespaced), fullyQualifiedName: "jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced")] - internal sealed class INamespacedProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.DeeplyNested.INamespaced - { - private INamespacedProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "definedAt", typeJson: "{\"primitive\":\"string\"}")] - public string DefinedAt - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/Namespaced.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/Namespaced.cs deleted file mode 100644 index 665a692841..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/Namespaced.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.Namespaced), fullyQualifiedName: "jsii-calc.submodule.nested_submodule.Namespaced")] - public abstract class Namespaced : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.DeeplyNested.INamespaced - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Namespaced(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Namespaced(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "definedAt", typeJson: "{\"primitive\":\"string\"}")] - public virtual string DefinedAt - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "goodness", typeJson: "{\"fqn\":\"jsii-calc.submodule.child.Goodness\"}")] - public abstract Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.Goodness Goodness - { - get; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/NamespacedProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/NamespacedProxy.cs deleted file mode 100644 index 8ba980f079..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Submodule/NestedSubmodule/NamespacedProxy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.Namespaced), fullyQualifiedName: "jsii-calc.submodule.nested_submodule.Namespaced")] - internal sealed class NamespacedProxy : Amazon.JSII.Tests.CalculatorNamespace.Submodule.NestedSubmodule.Namespaced - { - private NamespacedProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "goodness", typeJson: "{\"fqn\":\"jsii-calc.submodule.child.Goodness\"}")] - public override Amazon.JSII.Tests.CalculatorNamespace.Submodule.Child.Goodness Goodness - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Sum.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Sum.cs deleted file mode 100644 index a6c703dc0e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Sum.cs +++ /dev/null @@ -1,58 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// An operation that sums multiple values. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Sum), fullyQualifiedName: "jsii-calc.Sum")] - public class Sum : Amazon.JSII.Tests.CalculatorNamespace.Composition.CompositeOperation - { - /// - /// Stability: Experimental - /// - public Sum(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Sum(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Sum(DeputyProps props): base(props) - { - } - - /// The expression that this operation consists of. - /// - /// Must be implemented by derived classes. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "expression", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.Value\"}")] - public override Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Expression - { - get => GetInstanceProperty(); - } - - /// The parts to sum. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "parts", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"},\"kind\":\"array\"}}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_[] Parts - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilder.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilder.cs deleted file mode 100644 index 4d125e367a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilder.cs +++ /dev/null @@ -1,57 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.SupportsNiceJavaBuilder), fullyQualifiedName: "jsii-calc.SupportsNiceJavaBuilder", parametersJson: "[{\"docs\":{\"summary\":\"some identifier.\"},\"name\":\"id\",\"type\":{\"primitive\":\"number\"}},{\"docs\":{\"summary\":\"the default value of `bar`.\"},\"name\":\"defaultBar\",\"optional\":true,\"type\":{\"primitive\":\"number\"}},{\"docs\":{\"summary\":\"some props once can provide.\"},\"name\":\"props\",\"optional\":true,\"type\":{\"fqn\":\"jsii-calc.SupportsNiceJavaBuilderProps\"}},{\"docs\":{\"summary\":\"a variadic continuation.\"},\"name\":\"rest\",\"type\":{\"primitive\":\"string\"},\"variadic\":true}]")] - public class SupportsNiceJavaBuilder : Amazon.JSII.Tests.CalculatorNamespace.SupportsNiceJavaBuilderWithRequiredProps - { - /// some identifier. - /// the default value of `bar`. - /// some props once can provide. - /// a variadic continuation. - /// - /// Stability: Experimental - /// - public SupportsNiceJavaBuilder(double id, double? defaultBar = null, Amazon.JSII.Tests.CalculatorNamespace.ISupportsNiceJavaBuilderProps? props = null, params string[] rest): base(new DeputyProps(new object?[]{id, defaultBar, props, rest})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected SupportsNiceJavaBuilder(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected SupportsNiceJavaBuilder(DeputyProps props): base(props) - { - } - - /// some identifier. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "id", typeJson: "{\"primitive\":\"number\"}")] - public override double Id - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "rest", typeJson: "{\"collection\":{\"elementtype\":{\"primitive\":\"string\"},\"kind\":\"array\"}}")] - public virtual string[] Rest - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilderProps.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilderProps.cs deleted file mode 100644 index 16c2819a9d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilderProps.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.SupportsNiceJavaBuilderProps")] - public class SupportsNiceJavaBuilderProps : Amazon.JSII.Tests.CalculatorNamespace.ISupportsNiceJavaBuilderProps - { - /// Some number, like 42. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bar", typeJson: "{\"primitive\":\"number\"}", isOverride: true)] - public double Bar - { - get; - set; - } - - /// 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. - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "id", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - public string? Id - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilderPropsProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilderPropsProxy.cs deleted file mode 100644 index d11df3b092..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilderPropsProxy.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(ISupportsNiceJavaBuilderProps), fullyQualifiedName: "jsii-calc.SupportsNiceJavaBuilderProps")] - internal sealed class SupportsNiceJavaBuilderPropsProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.ISupportsNiceJavaBuilderProps - { - private SupportsNiceJavaBuilderPropsProxy(ByRefValue reference): base(reference) - { - } - - /// Some number, like 42. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bar", typeJson: "{\"primitive\":\"number\"}")] - public double Bar - { - get => GetInstanceProperty(); - } - - /// 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. - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "id", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public string? Id - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilderWithRequiredProps.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilderWithRequiredProps.cs deleted file mode 100644 index 2f9b227c46..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SupportsNiceJavaBuilderWithRequiredProps.cs +++ /dev/null @@ -1,66 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// We can generate fancy builders in Java for classes which take a mix of positional & struct parameters. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.SupportsNiceJavaBuilderWithRequiredProps), fullyQualifiedName: "jsii-calc.SupportsNiceJavaBuilderWithRequiredProps", parametersJson: "[{\"docs\":{\"summary\":\"some identifier of your choice.\"},\"name\":\"id\",\"type\":{\"primitive\":\"number\"}},{\"docs\":{\"summary\":\"some properties.\"},\"name\":\"props\",\"type\":{\"fqn\":\"jsii-calc.SupportsNiceJavaBuilderProps\"}}]")] - public class SupportsNiceJavaBuilderWithRequiredProps : DeputyBase - { - /// some identifier of your choice. - /// some properties. - /// - /// Stability: Experimental - /// - public SupportsNiceJavaBuilderWithRequiredProps(double id, Amazon.JSII.Tests.CalculatorNamespace.ISupportsNiceJavaBuilderProps props): base(new DeputyProps(new object[]{id, props})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected SupportsNiceJavaBuilderWithRequiredProps(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected SupportsNiceJavaBuilderWithRequiredProps(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bar", typeJson: "{\"primitive\":\"number\"}")] - public virtual double Bar - { - get => GetInstanceProperty(); - } - - /// some identifier of your choice. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "id", typeJson: "{\"primitive\":\"number\"}")] - public virtual double Id - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "propId", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public virtual string? PropId - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SyncVirtualMethods.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SyncVirtualMethods.cs deleted file mode 100644 index b464ae172d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/SyncVirtualMethods.cs +++ /dev/null @@ -1,183 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.SyncVirtualMethods), fullyQualifiedName: "jsii-calc.SyncVirtualMethods")] - public class SyncVirtualMethods : DeputyBase - { - /// - /// Stability: Experimental - /// - public SyncVirtualMethods(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected SyncVirtualMethods(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected SyncVirtualMethods(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "callerIsAsync", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", isAsync: true)] - public virtual double CallerIsAsync() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "callerIsMethod", returnsJson: "{\"type\":{\"primitive\":\"number\"}}")] - public virtual double CallerIsMethod() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "modifyOtherProperty", parametersJson: "[{\"name\":\"value\",\"type\":{\"primitive\":\"string\"}}]")] - public virtual void ModifyOtherProperty(string @value) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(string)}, new object[]{@value}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "modifyValueOfTheProperty", parametersJson: "[{\"name\":\"value\",\"type\":{\"primitive\":\"string\"}}]")] - public virtual void ModifyValueOfTheProperty(string @value) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(string)}, new object[]{@value}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "readA", returnsJson: "{\"type\":{\"primitive\":\"number\"}}")] - public virtual double ReadA() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "retrieveOtherProperty", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public virtual string RetrieveOtherProperty() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "retrieveReadOnlyProperty", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public virtual string RetrieveReadOnlyProperty() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "retrieveValueOfTheProperty", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public virtual string RetrieveValueOfTheProperty() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "virtualMethod", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", parametersJson: "[{\"name\":\"n\",\"type\":{\"primitive\":\"number\"}}]")] - public virtual double VirtualMethod(double n) - { - return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{n}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "writeA", parametersJson: "[{\"name\":\"value\",\"type\":{\"primitive\":\"number\"}}]")] - public virtual void WriteA(double @value) - { - InvokeInstanceVoidMethod(new System.Type[]{typeof(double)}, new object[]{@value}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "readonlyProperty", typeJson: "{\"primitive\":\"string\"}")] - public virtual string ReadonlyProperty - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "a", typeJson: "{\"primitive\":\"number\"}")] - public virtual double A - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "callerIsProperty", typeJson: "{\"primitive\":\"number\"}")] - public virtual double CallerIsProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "otherProperty", typeJson: "{\"primitive\":\"string\"}")] - public virtual string OtherProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "theProperty", typeJson: "{\"primitive\":\"string\"}")] - public virtual string TheProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "valueOfOtherProperty", typeJson: "{\"primitive\":\"string\"}")] - public virtual string ValueOfOtherProperty - { - get => GetInstanceProperty(); - set => SetInstanceProperty(value); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Thrower.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Thrower.cs deleted file mode 100644 index 2cdd78c71c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/Thrower.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.Thrower), fullyQualifiedName: "jsii-calc.Thrower")] - public class Thrower : DeputyBase - { - /// - /// Stability: Experimental - /// - public Thrower(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Thrower(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected Thrower(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "throwError")] - public virtual void ThrowError() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/TopLevelStruct.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/TopLevelStruct.cs deleted file mode 100644 index 71952e0149..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/TopLevelStruct.cs +++ /dev/null @@ -1,49 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.TopLevelStruct")] - public class TopLevelStruct : Amazon.JSII.Tests.CalculatorNamespace.ITopLevelStruct - { - /// This is a required field. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "required", typeJson: "{\"primitive\":\"string\"}", isOverride: true)] - public string Required - { - get; - set; - } - - /// A union to really stress test our serialization. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "secondLevel", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"jsii-calc.SecondLevelStruct\"}]}}", isOverride: true)] - public object SecondLevel - { - get; - set; - } - - /// You don't have to pass this. - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optional", typeJson: "{\"primitive\":\"string\"}", isOptional: true, isOverride: true)] - public string? Optional - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/TopLevelStructProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/TopLevelStructProxy.cs deleted file mode 100644 index 9c94640e97..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/TopLevelStructProxy.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(ITopLevelStruct), fullyQualifiedName: "jsii-calc.TopLevelStruct")] - internal sealed class TopLevelStructProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.ITopLevelStruct - { - private TopLevelStructProxy(ByRefValue reference): base(reference) - { - } - - /// This is a required field. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "required", typeJson: "{\"primitive\":\"string\"}")] - public string Required - { - get => GetInstanceProperty(); - } - - /// A union to really stress test our serialization. - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "secondLevel", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"number\"},{\"fqn\":\"jsii-calc.SecondLevelStruct\"}]}}")] - public object SecondLevel - { - get => GetInstanceProperty(); - } - - /// You don't have to pass this. - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "optional", typeJson: "{\"primitive\":\"string\"}", isOptional: true)] - public string? Optional - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UmaskCheck.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UmaskCheck.cs deleted file mode 100644 index 7acc1fa677..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UmaskCheck.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Checks the current file permissions are cool (no funky UMASK down-scoping happened). - /// - /// Stability: Experimental - /// - /// See: https://github.com/aws/jsii/issues/1765 - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.UmaskCheck), fullyQualifiedName: "jsii-calc.UmaskCheck")] - public class UmaskCheck : DeputyBase - { - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected UmaskCheck(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected UmaskCheck(DeputyProps props): base(props) - { - } - - /// This should return 0o644 (-rw-r--r--). - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "mode", returnsJson: "{\"type\":{\"primitive\":\"number\"}}")] - public static double Mode() - { - return InvokeStaticMethod(typeof(Amazon.JSII.Tests.CalculatorNamespace.UmaskCheck), new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnaryOperation.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnaryOperation.cs deleted file mode 100644 index 20bcad5a4c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnaryOperation.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// An operation on a single operand. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.UnaryOperation), fullyQualifiedName: "jsii-calc.UnaryOperation", parametersJson: "[{\"name\":\"operand\",\"type\":{\"fqn\":\"@scope/jsii-calc-lib.Value\"}}]")] - public abstract class UnaryOperation : Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Operation - { - /// - /// Stability: Experimental - /// - protected UnaryOperation(Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ operand): base(new DeputyProps(new object[]{operand})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected UnaryOperation(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected UnaryOperation(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "operand", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.Value\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.LibNamespace.Value_ Operand - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnaryOperationProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnaryOperationProxy.cs deleted file mode 100644 index cf7df5d32b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnaryOperationProxy.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// An operation on a single operand. - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.UnaryOperation), fullyQualifiedName: "jsii-calc.UnaryOperation")] - internal sealed class UnaryOperationProxy : Amazon.JSII.Tests.CalculatorNamespace.UnaryOperation - { - private UnaryOperationProxy(ByRefValue reference): base(reference) - { - } - - /// The value. - /// - /// Stability: Deprecated - /// - [JsiiProperty(name: "value", typeJson: "{\"primitive\":\"number\"}")] - [System.Obsolete()] - public override double Value - { - get => GetInstanceProperty(); - } - - /// String representation of the value. - /// - /// Stability: Deprecated - /// - [JsiiMethod(name: "toString", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", isOverride: true)] - [System.Obsolete()] - public override string ToString() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnionProperties.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnionProperties.cs deleted file mode 100644 index c827b0e642..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnionProperties.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - #pragma warning disable CS8618 - - /// - /// Stability: Experimental - /// - [JsiiByValue(fqn: "jsii-calc.UnionProperties")] - public class UnionProperties : Amazon.JSII.Tests.CalculatorNamespace.IUnionProperties - { - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bar", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"primitive\":\"number\"},{\"fqn\":\"jsii-calc.AllTypes\"}]}}", isOverride: true)] - public object Bar - { - get; - set; - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "foo", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"primitive\":\"number\"}]}}", isOptional: true, isOverride: true)] - public object? Foo - { - get; - set; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnionPropertiesProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnionPropertiesProxy.cs deleted file mode 100644 index 16732ebbcf..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UnionPropertiesProxy.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(IUnionProperties), fullyQualifiedName: "jsii-calc.UnionProperties")] - internal sealed class UnionPropertiesProxy : DeputyBase, Amazon.JSII.Tests.CalculatorNamespace.IUnionProperties - { - private UnionPropertiesProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "bar", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"primitive\":\"number\"},{\"fqn\":\"jsii-calc.AllTypes\"}]}}")] - public object Bar - { - get => GetInstanceProperty(); - } - - /// - /// Stability: Experimental - /// - [JsiiOptional] - [JsiiProperty(name: "foo", typeJson: "{\"union\":{\"types\":[{\"primitive\":\"string\"},{\"primitive\":\"number\"}]}}", isOptional: true)] - public object? Foo - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UpcasingReflectable.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UpcasingReflectable.cs deleted file mode 100644 index 7631f50509..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UpcasingReflectable.cs +++ /dev/null @@ -1,54 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Ensures submodule-imported types from dependencies can be used correctly. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.UpcasingReflectable), fullyQualifiedName: "jsii-calc.UpcasingReflectable", parametersJson: "[{\"name\":\"delegate\",\"type\":{\"collection\":{\"elementtype\":{\"primitive\":\"any\"},\"kind\":\"map\"}}}]")] - public class UpcasingReflectable : DeputyBase, Amazon.JSII.Tests.CustomSubmoduleName.IReflectable - { - /// - /// Stability: Experimental - /// - public UpcasingReflectable(System.Collections.Generic.IDictionary @delegate): base(new DeputyProps(new object[]{@delegate})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected UpcasingReflectable(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected UpcasingReflectable(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "reflector", typeJson: "{\"fqn\":\"@scope/jsii-calc-lib.submodule.Reflector\"}")] - public static Amazon.JSII.Tests.CustomSubmoduleName.Reflector Reflector - { - get; - } - = GetStaticProperty(typeof(Amazon.JSII.Tests.CalculatorNamespace.UpcasingReflectable)); - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "entries", typeJson: "{\"collection\":{\"elementtype\":{\"fqn\":\"@scope/jsii-calc-lib.submodule.ReflectableEntry\"},\"kind\":\"array\"}}")] - public virtual Amazon.JSII.Tests.CustomSubmoduleName.IReflectableEntry[] Entries - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UseBundledDependency.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UseBundledDependency.cs deleted file mode 100644 index 1f197e160d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UseBundledDependency.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.UseBundledDependency), fullyQualifiedName: "jsii-calc.UseBundledDependency")] - public class UseBundledDependency : DeputyBase - { - /// - /// Stability: Experimental - /// - public UseBundledDependency(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected UseBundledDependency(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected UseBundledDependency(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "value", returnsJson: "{\"type\":{\"primitive\":\"any\"}}")] - public virtual object Value() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UseCalcBase.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UseCalcBase.cs deleted file mode 100644 index d9345aa926..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UseCalcBase.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Depend on a type from jsii-calc-base as a test for awslabs/jsii#128. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.UseCalcBase), fullyQualifiedName: "jsii-calc.UseCalcBase")] - public class UseCalcBase : DeputyBase - { - /// - /// Stability: Experimental - /// - public UseCalcBase(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected UseCalcBase(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected UseCalcBase(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "hello", returnsJson: "{\"type\":{\"fqn\":\"@scope/jsii-calc-base.Base\"}}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace.Base Hello() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UsesInterfaceWithProperties.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UsesInterfaceWithProperties.cs deleted file mode 100644 index 85b8ea2818..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/UsesInterfaceWithProperties.cs +++ /dev/null @@ -1,70 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.UsesInterfaceWithProperties), fullyQualifiedName: "jsii-calc.UsesInterfaceWithProperties", parametersJson: "[{\"name\":\"obj\",\"type\":{\"fqn\":\"jsii-calc.IInterfaceWithProperties\"}}]")] - public class UsesInterfaceWithProperties : DeputyBase - { - /// - /// Stability: Experimental - /// - public UsesInterfaceWithProperties(Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithProperties obj): base(new DeputyProps(new object[]{obj})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected UsesInterfaceWithProperties(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected UsesInterfaceWithProperties(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "justRead", returnsJson: "{\"type\":{\"primitive\":\"string\"}}")] - public virtual string JustRead() - { - return InvokeInstanceMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "readStringAndNumber", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"ext\",\"type\":{\"fqn\":\"jsii-calc.IInterfaceWithPropertiesExtension\"}}]")] - public virtual string ReadStringAndNumber(Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithPropertiesExtension ext) - { - return InvokeInstanceMethod(new System.Type[]{typeof(Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithPropertiesExtension)}, new object[]{ext}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "writeAndRead", returnsJson: "{\"type\":{\"primitive\":\"string\"}}", parametersJson: "[{\"name\":\"value\",\"type\":{\"primitive\":\"string\"}}]")] - public virtual string WriteAndRead(string @value) - { - return InvokeInstanceMethod(new System.Type[]{typeof(string)}, new object[]{@value}); - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "obj", typeJson: "{\"fqn\":\"jsii-calc.IInterfaceWithProperties\"}")] - public virtual Amazon.JSII.Tests.CalculatorNamespace.IInterfaceWithProperties Obj - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VariadicInvoker.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VariadicInvoker.cs deleted file mode 100644 index 2c7f3d7d65..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VariadicInvoker.cs +++ /dev/null @@ -1,43 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.VariadicInvoker), fullyQualifiedName: "jsii-calc.VariadicInvoker", parametersJson: "[{\"name\":\"method\",\"type\":{\"fqn\":\"jsii-calc.VariadicMethod\"}}]")] - public class VariadicInvoker : DeputyBase - { - /// - /// Stability: Experimental - /// - public VariadicInvoker(Amazon.JSII.Tests.CalculatorNamespace.VariadicMethod method): base(new DeputyProps(new object[]{method})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected VariadicInvoker(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected VariadicInvoker(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "asArray", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"primitive\":\"number\"},\"kind\":\"array\"}}}", parametersJson: "[{\"name\":\"values\",\"type\":{\"primitive\":\"number\"},\"variadic\":true}]")] - public virtual double[] AsArray(params double[] values) - { - return InvokeInstanceMethod(new System.Type[]{typeof(double[])}, new object[]{values}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VariadicMethod.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VariadicMethod.cs deleted file mode 100644 index 102b19b473..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VariadicMethod.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.VariadicMethod), fullyQualifiedName: "jsii-calc.VariadicMethod", parametersJson: "[{\"docs\":{\"summary\":\"a prefix that will be use for all values returned by `#asArray`.\"},\"name\":\"prefix\",\"type\":{\"primitive\":\"number\"},\"variadic\":true}]")] - public class VariadicMethod : DeputyBase - { - /// a prefix that will be use for all values returned by `#asArray`. - /// - /// Stability: Experimental - /// - public VariadicMethod(params double[] prefix): base(new DeputyProps(new object[]{prefix})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected VariadicMethod(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected VariadicMethod(DeputyProps props): base(props) - { - } - - /// the first element of the array to be returned (after the `prefix` provided at construction time). - /// other elements to be included in the array. - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "asArray", returnsJson: "{\"type\":{\"collection\":{\"elementtype\":{\"primitive\":\"number\"},\"kind\":\"array\"}}}", parametersJson: "[{\"docs\":{\"summary\":\"the first element of the array to be returned (after the `prefix` provided at construction time).\"},\"name\":\"first\",\"type\":{\"primitive\":\"number\"}},{\"docs\":{\"summary\":\"other elements to be included in the array.\"},\"name\":\"others\",\"type\":{\"primitive\":\"number\"},\"variadic\":true}]")] - public virtual double[] AsArray(double first, params double[] others) - { - return InvokeInstanceMethod(new System.Type[]{typeof(double), typeof(double[])}, new object[]{first, others}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VirtualMethodPlayground.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VirtualMethodPlayground.cs deleted file mode 100644 index 62c46abfc1..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VirtualMethodPlayground.cs +++ /dev/null @@ -1,79 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.VirtualMethodPlayground), fullyQualifiedName: "jsii-calc.VirtualMethodPlayground")] - public class VirtualMethodPlayground : DeputyBase - { - /// - /// Stability: Experimental - /// - public VirtualMethodPlayground(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected VirtualMethodPlayground(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected VirtualMethodPlayground(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "overrideMeAsync", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", parametersJson: "[{\"name\":\"index\",\"type\":{\"primitive\":\"number\"}}]", isAsync: true)] - public virtual double OverrideMeAsync(double index) - { - return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{index}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "overrideMeSync", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", parametersJson: "[{\"name\":\"index\",\"type\":{\"primitive\":\"number\"}}]")] - public virtual double OverrideMeSync(double index) - { - return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{index}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "parallelSumAsync", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", parametersJson: "[{\"name\":\"count\",\"type\":{\"primitive\":\"number\"}}]", isAsync: true)] - public virtual double ParallelSumAsync(double count) - { - return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{count}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "serialSumAsync", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", parametersJson: "[{\"name\":\"count\",\"type\":{\"primitive\":\"number\"}}]", isAsync: true)] - public virtual double SerialSumAsync(double count) - { - return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{count}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "sumSync", returnsJson: "{\"type\":{\"primitive\":\"number\"}}", parametersJson: "[{\"name\":\"count\",\"type\":{\"primitive\":\"number\"}}]")] - public virtual double SumSync(double count) - { - return InvokeInstanceMethod(new System.Type[]{typeof(double)}, new object[]{count}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VoidCallback.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VoidCallback.cs deleted file mode 100644 index f1e4dcf79b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VoidCallback.cs +++ /dev/null @@ -1,66 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// This test is used to validate the runtimes can return correctly from a void callback. - /// - /// - /// Implement overrideMe (method does not have to do anything). - /// Invoke callMe - /// Verify that methodWasCalled is true. - /// - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.VoidCallback), fullyQualifiedName: "jsii-calc.VoidCallback")] - public abstract class VoidCallback : DeputyBase - { - /// - /// Stability: Experimental - /// - protected VoidCallback(): base(new DeputyProps(new object[]{})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected VoidCallback(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected VoidCallback(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "callMe")] - public virtual void CallMe() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "overrideMe")] - protected abstract void OverrideMe(); - - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "methodWasCalled", typeJson: "{\"primitive\":\"boolean\"}")] - public virtual bool MethodWasCalled - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VoidCallbackProxy.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VoidCallbackProxy.cs deleted file mode 100644 index 17fcef5856..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/VoidCallbackProxy.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// This test is used to validate the runtimes can return correctly from a void callback. - /// - /// - /// Implement overrideMe (method does not have to do anything). - /// Invoke callMe - /// Verify that methodWasCalled is true. - /// - /// - /// Stability: Experimental - /// - [JsiiTypeProxy(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.VoidCallback), fullyQualifiedName: "jsii-calc.VoidCallback")] - internal sealed class VoidCallbackProxy : Amazon.JSII.Tests.CalculatorNamespace.VoidCallback - { - private VoidCallbackProxy(ByRefValue reference): base(reference) - { - } - - /// - /// Stability: Experimental - /// - [JsiiMethod(name: "overrideMe")] - protected override void OverrideMe() - { - InvokeInstanceVoidMethod(new System.Type[]{}, new object[]{}); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/WithPrivatePropertyInConstructor.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/WithPrivatePropertyInConstructor.cs deleted file mode 100644 index 2dfcb9651f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/Amazon/JSII/Tests/CalculatorNamespace/WithPrivatePropertyInConstructor.cs +++ /dev/null @@ -1,44 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -#pragma warning disable CS0672,CS0809,CS1591 - -namespace Amazon.JSII.Tests.CalculatorNamespace -{ - /// Verifies that private property declarations in constructor arguments are hidden. - /// - /// Stability: Experimental - /// - [JsiiClass(nativeType: typeof(Amazon.JSII.Tests.CalculatorNamespace.WithPrivatePropertyInConstructor), fullyQualifiedName: "jsii-calc.WithPrivatePropertyInConstructor", parametersJson: "[{\"name\":\"privateField\",\"optional\":true,\"type\":{\"primitive\":\"string\"}}]")] - public class WithPrivatePropertyInConstructor : DeputyBase - { - /// - /// Stability: Experimental - /// - public WithPrivatePropertyInConstructor(string? privateField = null): base(new DeputyProps(new object?[]{privateField})) - { - } - - /// Used by jsii to construct an instance of this class from a Javascript-owned object reference - /// The Javascript-owned object reference - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected WithPrivatePropertyInConstructor(ByRefValue reference): base(reference) - { - } - - /// Used by jsii to construct an instance of this class from DeputyProps - /// The deputy props - [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] - protected WithPrivatePropertyInConstructor(DeputyProps props): base(props) - { - } - - /// - /// Stability: Experimental - /// - [JsiiProperty(name: "success", typeJson: "{\"primitive\":\"boolean\"}")] - public virtual bool Success - { - get => GetInstanceProperty(); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/AssemblyInfo.cs b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/AssemblyInfo.cs deleted file mode 100644 index f1f382a288..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/AssemblyInfo.cs +++ /dev/null @@ -1,3 +0,0 @@ -using Amazon.JSII.Runtime.Deputy; - -[assembly: JsiiAssembly("jsii-calc", "0.0.0", "jsii-calc-0.0.0.tgz")] diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/jsii-calc-0.0.0.tgz b/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/jsii-calc-0.0.0.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/dotnet/Amazon.JSII.Tests.CalculatorPackageId/jsii-calc-0.0.0.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/pom.xml b/packages/jsii-pacmak/test/expected.jsii-calc/java/pom.xml deleted file mode 100644 index 027d425e2c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/pom.xml +++ /dev/null @@ -1,180 +0,0 @@ - - - 4.0.0 - ${project.groupId}:${project.artifactId} - A simple calcuator built on JSII. - https://github.com/aws/jsii - - - Apache License 2.0 - http://www.apache.org/licenses/LICENSE-2.0 - repo - An OSI-approved license - - - - - Amazon Web Services - - author - - https://aws.amazon.com - - - Elad Ben-Israel - - maintainer - - https://github.com/eladb - - - Rico Huijbers - - maintainer - - https://github.com/rix0rrr - - - Romain Marcadier-Muller - - maintainer - - https://github.com/RomainMuller - - - - scm:git:https://github.com/aws/jsii.git - https://github.com/aws/jsii.git - - software.amazon.jsii.tests - calculator - 0.0.0 - jar - - UTF-8 - - - - software.amazon.jsii.tests - calculator-base - [0.0.0,0.0.1) - - - software.amazon.jsii.tests - calculator-base-of-base - [0.0.0,0.0.1) - - - software.amazon.jsii.tests - calculator-lib - [0.0.0.DEVPREVIEW,0.0.1.DEVPREVIEW) - - - software.amazon.jsii - jsii-runtime - [0.0.0,0.0.1) - - - org.jetbrains - annotations - [16.0.3,20.0.0) - - - - javax.annotation - javax.annotation-api - [1.3.2,1.4.0) - compile - - - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.8.1 - - 1.8 - 1.8 - - - - org.apache.maven.plugins - maven-jar-plugin - 3.2.0 - - - true - - true - true - - - - - - org.apache.maven.plugins - maven-source-plugin - 3.2.1 - - - attach-sources - - jar - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.1.1 - - - attach-javadocs - - jar - - - - - false - protected - - **/$Module.java - - -J-XX:+TieredCompilation - -J-XX:TieredStopAtLevel=1 - - - - org.apache.maven.plugins - maven-enforcer-plugin - 3.0.0-M3 - - - enforce-maven - - enforce - - - - - 3.6 - - - - - - - - org.codehaus.mojo - versions-maven-plugin - 2.7 - - false - - - - - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/$Module.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/$Module.java deleted file mode 100644 index 9015a7e763..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/$Module.java +++ /dev/null @@ -1,75 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -import static java.util.Arrays.asList; - -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.IOException; -import java.io.Reader; -import java.io.UncheckedIOException; - -import java.nio.charset.StandardCharsets; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import software.amazon.jsii.JsiiModule; - -public final class $Module extends JsiiModule { - private static final Map MODULE_TYPES = load(); - - private static Map load() { - final Map result = new HashMap<>(); - final ClassLoader cl = $Module.class.getClassLoader(); - try (final InputStream is = cl.getResourceAsStream("software/amazon/jsii/tests/calculator/$Module.txt"); - final Reader rd = new InputStreamReader(is, StandardCharsets.UTF_8); - final BufferedReader br = new BufferedReader(rd)) { - br.lines() - .filter(line -> !line.trim().isEmpty()) - .forEach(line -> { - final String[] parts = line.split("=", 2); - final String fqn = parts[0]; - final String className = parts[1]; - result.put(fqn, className); - }); - } - catch (final IOException exception) { - throw new UncheckedIOException(exception); - } - return result; - } - - private final Map> cache = new HashMap<>(); - - public $Module() { - super("jsii-calc", "0.0.0", $Module.class, "jsii-calc@0.0.0.jsii.tgz"); - } - - @Override - public List> getDependencies() { - return asList(software.amazon.jsii.tests.calculator.base.$Module.class, software.amazon.jsii.tests.calculator.baseofbase.$Module.class, software.amazon.jsii.tests.calculator.lib.$Module.class); - } - - @Override - protected Class resolveClass(final String fqn) throws ClassNotFoundException { - if (!MODULE_TYPES.containsKey(fqn)) { - throw new ClassNotFoundException("Unknown JSII type: " + fqn); - } - String className = MODULE_TYPES.get(fqn); - if (!this.cache.containsKey(className)) { - this.cache.put(className, this.findClass(className)); - } - return this.cache.get(className); - } - - private Class findClass(final String binaryName) { - try { - return Class.forName(binaryName); - } - catch (final ClassNotFoundException exception) { - throw new RuntimeException(exception); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AbstractClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AbstractClass.java deleted file mode 100644 index 6254fd7922..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AbstractClass.java +++ /dev/null @@ -1,90 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.AbstractClass") -public abstract class AbstractClass extends software.amazon.jsii.tests.calculator.AbstractClassBase implements software.amazon.jsii.tests.calculator.IInterfaceImplementedByAbstractClass { - - protected AbstractClass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected AbstractClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected AbstractClass() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param name This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public abstract @org.jetbrains.annotations.NotNull java.lang.String abstractMethod(final @org.jetbrains.annotations.NotNull java.lang.String name); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number nonAbstractMethod() { - return this.jsiiCall("nonAbstractMethod", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getPropFromInterface() { - return this.jsiiGet("propFromInterface", java.lang.String.class); - } - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.AbstractClass { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getPropFromInterface() { - return this.jsiiGet("propFromInterface", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getAbstractProperty() { - return this.jsiiGet("abstractProperty", java.lang.String.class); - } - - /** - * EXPERIMENTAL - *

- * @param name This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String abstractMethod(final @org.jetbrains.annotations.NotNull java.lang.String name) { - return this.jsiiCall("abstractMethod", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(name, "name is required") }); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AbstractClassBase.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AbstractClassBase.java deleted file mode 100644 index 9e0799861a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AbstractClassBase.java +++ /dev/null @@ -1,51 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.AbstractClassBase") -public abstract class AbstractClassBase extends software.amazon.jsii.JsiiObject { - - protected AbstractClassBase(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected AbstractClassBase(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected AbstractClassBase() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public abstract @org.jetbrains.annotations.NotNull java.lang.String getAbstractProperty(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.AbstractClassBase { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getAbstractProperty() { - return this.jsiiGet("abstractProperty", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AbstractClassReturner.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AbstractClassReturner.java deleted file mode 100644 index 425c3035bc..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AbstractClassReturner.java +++ /dev/null @@ -1,51 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.AbstractClassReturner") -public class AbstractClassReturner extends software.amazon.jsii.JsiiObject { - - protected AbstractClassReturner(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected AbstractClassReturner(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public AbstractClassReturner() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.AbstractClass giveMeAbstract() { - return this.jsiiCall("giveMeAbstract", software.amazon.jsii.tests.calculator.AbstractClass.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IInterfaceImplementedByAbstractClass giveMeInterface() { - return this.jsiiCall("giveMeInterface", software.amazon.jsii.tests.calculator.IInterfaceImplementedByAbstractClass.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.AbstractClassBase getReturnAbstractFromProperty() { - return this.jsiiGet("returnAbstractFromProperty", software.amazon.jsii.tests.calculator.AbstractClassBase.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AbstractSuite.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AbstractSuite.java deleted file mode 100644 index 28c94f7129..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AbstractSuite.java +++ /dev/null @@ -1,99 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Ensures abstract members implementations correctly register overrides in various languages. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.AbstractSuite") -public abstract class AbstractSuite extends software.amazon.jsii.JsiiObject { - - protected AbstractSuite(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected AbstractSuite(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected AbstractSuite() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param str This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected abstract @org.jetbrains.annotations.NotNull java.lang.String someMethod(final @org.jetbrains.annotations.NotNull java.lang.String str); - - /** - * Sets `seed` to `this.property`, then calls `someMethod` with `this.property` and returns the result. - *

- * EXPERIMENTAL - *

- * @param seed a `string`. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String workItAll(final @org.jetbrains.annotations.NotNull java.lang.String seed) { - return this.jsiiCall("workItAll", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(seed, "seed is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected abstract @org.jetbrains.annotations.NotNull java.lang.String getProperty(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected abstract void setProperty(final @org.jetbrains.annotations.NotNull java.lang.String value); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.AbstractSuite { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected @org.jetbrains.annotations.NotNull java.lang.String getProperty() { - return this.jsiiGet("property", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected void setProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("property", java.util.Objects.requireNonNull(value, "property is required")); - } - - /** - * EXPERIMENTAL - *

- * @param str This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - protected @org.jetbrains.annotations.NotNull java.lang.String someMethod(final @org.jetbrains.annotations.NotNull java.lang.String str) { - return this.jsiiCall("someMethod", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(str, "str is required") }); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Add.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Add.java deleted file mode 100644 index 98a711ff34..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Add.java +++ /dev/null @@ -1,56 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * The "+" binary operation. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Add") -public class Add extends software.amazon.jsii.tests.calculator.BinaryOperation { - - protected Add(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Add(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * Creates a BinaryOperation. - *

- * EXPERIMENTAL - *

- * @param lhs Left-hand side operand. This parameter is required. - * @param rhs Right-hand side operand. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Add(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value lhs, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value rhs) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(lhs, "lhs is required"), java.util.Objects.requireNonNull(rhs, "rhs is required") }); - } - - /** - * String representation of the value. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String toString() { - return this.jsiiCall("toString", java.lang.String.class); - } - - /** - * The value. - *

- * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { - return this.jsiiGet("value", java.lang.Number.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AllTypes.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AllTypes.java deleted file mode 100644 index 1e2ba42994..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AllTypes.java +++ /dev/null @@ -1,380 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * This class includes property for all types supported by jsii. - *

- * The setters will validate - * that the value set is of the expected type and throw otherwise. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.AllTypes") -public class AllTypes extends software.amazon.jsii.JsiiObject { - - protected AllTypes(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected AllTypes(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public AllTypes() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param inp This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void anyIn(final @org.jetbrains.annotations.NotNull java.lang.Object inp) { - this.jsiiCall("anyIn", software.amazon.jsii.NativeType.VOID, new Object[] { inp }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Object anyOut() { - return this.jsiiCall("anyOut", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - *

- * @param value This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StringEnum enumMethod(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StringEnum value) { - return this.jsiiCall("enumMethod", software.amazon.jsii.tests.calculator.StringEnum.class, new Object[] { java.util.Objects.requireNonNull(value, "value is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getEnumPropertyValue() { - return this.jsiiGet("enumPropertyValue", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.List getAnyArrayProperty() { - return java.util.Collections.unmodifiableList(this.jsiiGet("anyArrayProperty", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setAnyArrayProperty(final @org.jetbrains.annotations.NotNull java.util.List value) { - this.jsiiSet("anyArrayProperty", java.util.Objects.requireNonNull(value, "anyArrayProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.Map getAnyMapProperty() { - return java.util.Collections.unmodifiableMap(this.jsiiGet("anyMapProperty", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setAnyMapProperty(final @org.jetbrains.annotations.NotNull java.util.Map value) { - this.jsiiSet("anyMapProperty", java.util.Objects.requireNonNull(value, "anyMapProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Object getAnyProperty() { - return this.jsiiGet("anyProperty", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setAnyProperty(final @org.jetbrains.annotations.NotNull java.lang.Object value) { - this.jsiiSet("anyProperty", java.util.Objects.requireNonNull(value, "anyProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.List getArrayProperty() { - return java.util.Collections.unmodifiableList(this.jsiiGet("arrayProperty", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setArrayProperty(final @org.jetbrains.annotations.NotNull java.util.List value) { - this.jsiiSet("arrayProperty", java.util.Objects.requireNonNull(value, "arrayProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean getBooleanProperty() { - return this.jsiiGet("booleanProperty", java.lang.Boolean.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setBooleanProperty(final @org.jetbrains.annotations.NotNull java.lang.Boolean value) { - this.jsiiSet("booleanProperty", java.util.Objects.requireNonNull(value, "booleanProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.time.Instant getDateProperty() { - return this.jsiiGet("dateProperty", java.time.Instant.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setDateProperty(final @org.jetbrains.annotations.NotNull java.time.Instant value) { - this.jsiiSet("dateProperty", java.util.Objects.requireNonNull(value, "dateProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.AllTypesEnum getEnumProperty() { - return this.jsiiGet("enumProperty", software.amazon.jsii.tests.calculator.AllTypesEnum.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setEnumProperty(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.AllTypesEnum value) { - this.jsiiSet("enumProperty", java.util.Objects.requireNonNull(value, "enumProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull com.fasterxml.jackson.databind.node.ObjectNode getJsonProperty() { - return this.jsiiGet("jsonProperty", com.fasterxml.jackson.databind.node.ObjectNode.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setJsonProperty(final @org.jetbrains.annotations.NotNull com.fasterxml.jackson.databind.node.ObjectNode value) { - this.jsiiSet("jsonProperty", java.util.Objects.requireNonNull(value, "jsonProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.Map getMapProperty() { - return java.util.Collections.unmodifiableMap(this.jsiiGet("mapProperty", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.lib.Number.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setMapProperty(final @org.jetbrains.annotations.NotNull java.util.Map value) { - this.jsiiSet("mapProperty", java.util.Objects.requireNonNull(value, "mapProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getNumberProperty() { - return this.jsiiGet("numberProperty", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setNumberProperty(final @org.jetbrains.annotations.NotNull java.lang.Number value) { - this.jsiiSet("numberProperty", java.util.Objects.requireNonNull(value, "numberProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getStringProperty() { - return this.jsiiGet("stringProperty", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setStringProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("stringProperty", java.util.Objects.requireNonNull(value, "stringProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.List getUnionArrayProperty() { - return java.util.Collections.unmodifiableList(this.jsiiGet("unionArrayProperty", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setUnionArrayProperty(final @org.jetbrains.annotations.NotNull java.util.List value) { - this.jsiiSet("unionArrayProperty", java.util.Objects.requireNonNull(value, "unionArrayProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.Map getUnionMapProperty() { - return java.util.Collections.unmodifiableMap(this.jsiiGet("unionMapProperty", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setUnionMapProperty(final @org.jetbrains.annotations.NotNull java.util.Map value) { - this.jsiiSet("unionMapProperty", java.util.Objects.requireNonNull(value, "unionMapProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Object getUnionProperty() { - return this.jsiiGet("unionProperty", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setUnionProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("unionProperty", java.util.Objects.requireNonNull(value, "unionProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setUnionProperty(final @org.jetbrains.annotations.NotNull java.lang.Number value) { - this.jsiiSet("unionProperty", java.util.Objects.requireNonNull(value, "unionProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setUnionProperty(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Multiply value) { - this.jsiiSet("unionProperty", java.util.Objects.requireNonNull(value, "unionProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setUnionProperty(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Number value) { - this.jsiiSet("unionProperty", java.util.Objects.requireNonNull(value, "unionProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.List getUnknownArrayProperty() { - return java.util.Collections.unmodifiableList(this.jsiiGet("unknownArrayProperty", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setUnknownArrayProperty(final @org.jetbrains.annotations.NotNull java.util.List value) { - this.jsiiSet("unknownArrayProperty", java.util.Objects.requireNonNull(value, "unknownArrayProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.Map getUnknownMapProperty() { - return java.util.Collections.unmodifiableMap(this.jsiiGet("unknownMapProperty", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setUnknownMapProperty(final @org.jetbrains.annotations.NotNull java.util.Map value) { - this.jsiiSet("unknownMapProperty", java.util.Objects.requireNonNull(value, "unknownMapProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Object getUnknownProperty() { - return this.jsiiGet("unknownProperty", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setUnknownProperty(final @org.jetbrains.annotations.NotNull java.lang.Object value) { - this.jsiiSet("unknownProperty", java.util.Objects.requireNonNull(value, "unknownProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.StringEnum getOptionalEnumValue() { - return this.jsiiGet("optionalEnumValue", software.amazon.jsii.tests.calculator.StringEnum.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setOptionalEnumValue(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.StringEnum value) { - this.jsiiSet("optionalEnumValue", value); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AllTypesEnum.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AllTypesEnum.java deleted file mode 100644 index 5037016559..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AllTypesEnum.java +++ /dev/null @@ -1,25 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.AllTypesEnum") -public enum AllTypesEnum { - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - MY_ENUM_VALUE, - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - YOUR_ENUM_VALUE, - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - THIS_IS_GREAT, -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AllowedMethodNames.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AllowedMethodNames.java deleted file mode 100644 index 255bf24728..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AllowedMethodNames.java +++ /dev/null @@ -1,75 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.AllowedMethodNames") -public class AllowedMethodNames extends software.amazon.jsii.JsiiObject { - - protected AllowedMethodNames(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected AllowedMethodNames(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public AllowedMethodNames() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param _p1 This parameter is required. - * @param _p2 This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void getBar(final @org.jetbrains.annotations.NotNull java.lang.String _p1, final @org.jetbrains.annotations.NotNull java.lang.Number _p2) { - this.jsiiCall("getBar", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(_p1, "_p1 is required"), java.util.Objects.requireNonNull(_p2, "_p2 is required") }); - } - - /** - * getXxx() is not allowed (see negatives), but getXxx(a, ...) is okay. - *

- * EXPERIMENTAL - *

- * @param withParam This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getFoo(final @org.jetbrains.annotations.NotNull java.lang.String withParam) { - return this.jsiiCall("getFoo", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(withParam, "withParam is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param _x This parameter is required. - * @param _y This parameter is required. - * @param _z This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setBar(final @org.jetbrains.annotations.NotNull java.lang.String _x, final @org.jetbrains.annotations.NotNull java.lang.Number _y, final @org.jetbrains.annotations.NotNull java.lang.Boolean _z) { - this.jsiiCall("setBar", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(_x, "_x is required"), java.util.Objects.requireNonNull(_y, "_y is required"), java.util.Objects.requireNonNull(_z, "_z is required") }); - } - - /** - * setFoo(x) is not allowed (see negatives), but setXxx(a, b, ...) is okay. - *

- * EXPERIMENTAL - *

- * @param _x This parameter is required. - * @param _y This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setFoo(final @org.jetbrains.annotations.NotNull java.lang.String _x, final @org.jetbrains.annotations.NotNull java.lang.Number _y) { - this.jsiiCall("setFoo", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(_x, "_x is required"), java.util.Objects.requireNonNull(_y, "_y is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AmbiguousParameters.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AmbiguousParameters.java deleted file mode 100644 index 24b0c43215..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AmbiguousParameters.java +++ /dev/null @@ -1,107 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.AmbiguousParameters") -public class AmbiguousParameters extends software.amazon.jsii.JsiiObject { - - protected AmbiguousParameters(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected AmbiguousParameters(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param scope This parameter is required. - * @param props This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public AmbiguousParameters(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Bell scope, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StructParameterType props) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(props, "props is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StructParameterType getProps() { - return this.jsiiGet("props", software.amazon.jsii.tests.calculator.StructParameterType.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Bell getScope() { - return this.jsiiGet("scope", software.amazon.jsii.tests.calculator.Bell.class); - } - - /** - * A fluent builder for {@link software.amazon.jsii.tests.calculator.AmbiguousParameters}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - /** - * EXPERIMENTAL - *

- * @return a new instance of {@link Builder}. - * @param scope This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static Builder create(final software.amazon.jsii.tests.calculator.Bell scope) { - return new Builder(scope); - } - - private final software.amazon.jsii.tests.calculator.Bell scope; - private final software.amazon.jsii.tests.calculator.StructParameterType.Builder props; - - private Builder(final software.amazon.jsii.tests.calculator.Bell scope) { - this.scope = scope; - this.props = new software.amazon.jsii.tests.calculator.StructParameterType.Builder(); - } - - /** - * EXPERIMENTAL - *

- * @return {@code this} - * @param scope This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder scope(final java.lang.String scope) { - this.props.scope(scope); - return this; - } - - /** - * EXPERIMENTAL - *

- * @return {@code this} - * @param props This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder props(final java.lang.Boolean props) { - this.props.props(props); - return this; - } - - /** - * @returns a newly built instance of {@link software.amazon.jsii.tests.calculator.AmbiguousParameters}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public software.amazon.jsii.tests.calculator.AmbiguousParameters build() { - return new software.amazon.jsii.tests.calculator.AmbiguousParameters( - this.scope, - this.props.build() - ); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AnonymousImplementationProvider.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AnonymousImplementationProvider.java deleted file mode 100644 index bf6d35a613..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AnonymousImplementationProvider.java +++ /dev/null @@ -1,45 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.AnonymousImplementationProvider") -public class AnonymousImplementationProvider extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IAnonymousImplementationProvider { - - protected AnonymousImplementationProvider(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected AnonymousImplementationProvider(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public AnonymousImplementationProvider() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Implementation provideAsClass() { - return this.jsiiCall("provideAsClass", software.amazon.jsii.tests.calculator.Implementation.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IAnonymouslyImplementMe provideAsInterface() { - return this.jsiiCall("provideAsInterface", software.amazon.jsii.tests.calculator.IAnonymouslyImplementMe.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AsyncVirtualMethods.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AsyncVirtualMethods.java deleted file mode 100644 index 110e076e5a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AsyncVirtualMethods.java +++ /dev/null @@ -1,85 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.AsyncVirtualMethods") -public class AsyncVirtualMethods extends software.amazon.jsii.JsiiObject { - - protected AsyncVirtualMethods(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected AsyncVirtualMethods(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public AsyncVirtualMethods() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number callMe() { - return this.jsiiAsyncCall("callMe", java.lang.Number.class); - } - - /** - * Just calls "overrideMeToo". - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number callMe2() { - return this.jsiiAsyncCall("callMe2", java.lang.Number.class); - } - - /** - * This method calls the "callMe" async method indirectly, which will then invoke a virtual method. - *

- * This is a "double promise" situation, which - * means that callbacks are not going to be available immediate, but only - * after an "immediates" cycle. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number callMeDoublePromise() { - return this.jsiiAsyncCall("callMeDoublePromise", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number dontOverrideMe() { - return this.jsiiCall("dontOverrideMe", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - *

- * @param mult This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number overrideMe(final @org.jetbrains.annotations.NotNull java.lang.Number mult) { - return this.jsiiAsyncCall("overrideMe", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(mult, "mult is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number overrideMeToo() { - return this.jsiiAsyncCall("overrideMeToo", java.lang.Number.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AugmentableClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AugmentableClass.java deleted file mode 100644 index f17f3da582..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/AugmentableClass.java +++ /dev/null @@ -1,43 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.AugmentableClass") -public class AugmentableClass extends software.amazon.jsii.JsiiObject { - - protected AugmentableClass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected AugmentableClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public AugmentableClass() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void methodOne() { - this.jsiiCall("methodOne", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void methodTwo() { - this.jsiiCall("methodTwo", software.amazon.jsii.NativeType.VOID); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/BaseJsii976.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/BaseJsii976.java deleted file mode 100644 index 65b77a885a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/BaseJsii976.java +++ /dev/null @@ -1,27 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.BaseJsii976") -public class BaseJsii976 extends software.amazon.jsii.JsiiObject { - - protected BaseJsii976(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected BaseJsii976(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public BaseJsii976() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Bell.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Bell.java deleted file mode 100644 index 1bd3b04f6e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Bell.java +++ /dev/null @@ -1,52 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Bell") -public class Bell extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IBell { - - protected Bell(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Bell(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Bell() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void ring() { - this.jsiiCall("ring", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean getRung() { - return this.jsiiGet("rung", java.lang.Boolean.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setRung(final @org.jetbrains.annotations.NotNull java.lang.Boolean value) { - this.jsiiSet("rung", java.util.Objects.requireNonNull(value, "rung is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/BinaryOperation.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/BinaryOperation.java deleted file mode 100644 index 989aa1da99..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/BinaryOperation.java +++ /dev/null @@ -1,104 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Represents an operation with two operands. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.BinaryOperation") -public abstract class BinaryOperation extends software.amazon.jsii.tests.calculator.lib.Operation implements software.amazon.jsii.tests.calculator.lib.IFriendly { - - protected BinaryOperation(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected BinaryOperation(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * Creates a BinaryOperation. - *

- * EXPERIMENTAL - *

- * @param lhs Left-hand side operand. This parameter is required. - * @param rhs Right-hand side operand. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected BinaryOperation(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value lhs, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value rhs) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(lhs, "lhs is required"), java.util.Objects.requireNonNull(rhs, "rhs is required") }); - } - - /** - * Say hello! - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String hello() { - return this.jsiiCall("hello", java.lang.String.class); - } - - /** - * Left-hand side operand. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getLhs() { - return this.jsiiGet("lhs", software.amazon.jsii.tests.calculator.lib.Value.class); - } - - /** - * Right-hand side operand. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getRhs() { - return this.jsiiGet("rhs", software.amazon.jsii.tests.calculator.lib.Value.class); - } - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.BinaryOperation { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * The value. - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { - return this.jsiiGet("value", java.lang.Number.class); - } - - /** - * Say hello! - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public @org.jetbrains.annotations.NotNull java.lang.String hello() { - return this.jsiiCall("hello", java.lang.String.class); - } - - /** - * String representation of the value. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public @org.jetbrains.annotations.NotNull java.lang.String toString() { - return this.jsiiCall("toString", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Calculator.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Calculator.java deleted file mode 100644 index a5300012f9..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Calculator.java +++ /dev/null @@ -1,305 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * A calculator which maintains a current value and allows adding operations. - *

- * Here's how you use it: - *

- *

- * // Example automatically generated. See https://github.com/aws/jsii/issues/826
- * Calculator calculator = new Calculator();
- * calculator.add(5);
- * calculator.mul(3);
- * System.out.println(calculator.expression.getValue());
- * 
- *

- * I will repeat this example again, but in an @example tag. - *

- * Example: - *

- *

{@code
- * // Example automatically generated. See https://github.com/aws/jsii/issues/826
- * Calculator calculator = new Calculator();
- * calculator.add(5);
- * calculator.mul(3);
- * System.out.println(calculator.expression.getValue());}
- *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Calculator") -public class Calculator extends software.amazon.jsii.tests.calculator.composition.CompositeOperation { - - protected Calculator(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Calculator(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * Creates a Calculator object. - *

- * EXPERIMENTAL - *

- * @param props Initialization properties. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Calculator(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.CalculatorProps props) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { props }); - } - - /** - * Creates a Calculator object. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Calculator() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * Adds a number to the current value. - *

- * EXPERIMENTAL - *

- * @param value This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void add(final @org.jetbrains.annotations.NotNull java.lang.Number value) { - this.jsiiCall("add", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(value, "value is required") }); - } - - /** - * Multiplies the current value by a number. - *

- * EXPERIMENTAL - *

- * @param value This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void mul(final @org.jetbrains.annotations.NotNull java.lang.Number value) { - this.jsiiCall("mul", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(value, "value is required") }); - } - - /** - * Negates the current value. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void neg() { - this.jsiiCall("neg", software.amazon.jsii.NativeType.VOID); - } - - /** - * Raises the current value by a power. - *

- * EXPERIMENTAL - *

- * @param value This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void pow(final @org.jetbrains.annotations.NotNull java.lang.Number value) { - this.jsiiCall("pow", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(value, "value is required") }); - } - - /** - * Returns teh value of the union property (if defined). - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number readUnionValue() { - return this.jsiiCall("readUnionValue", java.lang.Number.class); - } - - /** - * Returns the expression. - *

- * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getExpression() { - return this.jsiiGet("expression", software.amazon.jsii.tests.calculator.lib.Value.class); - } - - /** - * A log of all operations. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.List getOperationsLog() { - return java.util.Collections.unmodifiableList(this.jsiiGet("operationsLog", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.lib.Value.class)))); - } - - /** - * A map of per operation name of all operations performed. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.Map> getOperationsMap() { - return java.util.Collections.unmodifiableMap(this.jsiiGet("operationsMap", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.lib.Value.class))))); - } - - /** - * The current value. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getCurr() { - return this.jsiiGet("curr", software.amazon.jsii.tests.calculator.lib.Value.class); - } - - /** - * The current value. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setCurr(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value value) { - this.jsiiSet("curr", java.util.Objects.requireNonNull(value, "curr is required")); - } - - /** - * The maximum value allows in this calculator. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable java.lang.Number getMaxValue() { - return this.jsiiGet("maxValue", java.lang.Number.class); - } - - /** - * The maximum value allows in this calculator. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setMaxValue(final @org.jetbrains.annotations.Nullable java.lang.Number value) { - this.jsiiSet("maxValue", value); - } - - /** - * Example of a property that accepts a union of types. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable java.lang.Object getUnionProperty() { - return this.jsiiGet("unionProperty", java.lang.Object.class); - } - - /** - * Example of a property that accepts a union of types. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setUnionProperty(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.Add value) { - this.jsiiSet("unionProperty", value); - } - - /** - * Example of a property that accepts a union of types. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setUnionProperty(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.Multiply value) { - this.jsiiSet("unionProperty", value); - } - - /** - * Example of a property that accepts a union of types. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setUnionProperty(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.Power value) { - this.jsiiSet("unionProperty", value); - } - - /** - * A fluent builder for {@link software.amazon.jsii.tests.calculator.Calculator}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - /** - * EXPERIMENTAL - *

- * @return a new instance of {@link Builder}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static Builder create() { - return new Builder(); - } - - private software.amazon.jsii.tests.calculator.CalculatorProps.Builder props; - - private Builder() { - } - - /** - * The initial value of the calculator. - *

- * NOTE: Any number works here, it's fine. - *

- * Default: 0 - *

- * EXPERIMENTAL - *

- * @return {@code this} - * @param initialValue The initial value of the calculator. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder initialValue(final java.lang.Number initialValue) { - this.props().initialValue(initialValue); - return this; - } - - /** - * The maximum value the calculator can store. - *

- * Default: none - *

- * EXPERIMENTAL - *

- * @return {@code this} - * @param maximumValue The maximum value the calculator can store. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder maximumValue(final java.lang.Number maximumValue) { - this.props().maximumValue(maximumValue); - return this; - } - - /** - * @returns a newly built instance of {@link software.amazon.jsii.tests.calculator.Calculator}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public software.amazon.jsii.tests.calculator.Calculator build() { - return new software.amazon.jsii.tests.calculator.Calculator( - this.props != null ? this.props.build() : null - ); - } - - private software.amazon.jsii.tests.calculator.CalculatorProps.Builder props() { - if (this.props == null) { - this.props = new software.amazon.jsii.tests.calculator.CalculatorProps.Builder(); - } - return this.props; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/CalculatorProps.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/CalculatorProps.java deleted file mode 100644 index 1fbe4a7245..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/CalculatorProps.java +++ /dev/null @@ -1,167 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Properties for Calculator. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.CalculatorProps") -@software.amazon.jsii.Jsii.Proxy(CalculatorProps.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface CalculatorProps extends software.amazon.jsii.JsiiSerializable { - - /** - * The initial value of the calculator. - *

- * NOTE: Any number works here, it's fine. - *

- * Default: 0 - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.Number getInitialValue() { - return null; - } - - /** - * The maximum value the calculator can store. - *

- * Default: none - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.Number getMaximumValue() { - return null; - } - - /** - * @return a {@link Builder} of {@link CalculatorProps} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link CalculatorProps} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.Number initialValue; - private java.lang.Number maximumValue; - - /** - * Sets the value of {@link CalculatorProps#getInitialValue} - * @param initialValue The initial value of the calculator. - * NOTE: Any number works here, it's fine. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder initialValue(java.lang.Number initialValue) { - this.initialValue = initialValue; - return this; - } - - /** - * Sets the value of {@link CalculatorProps#getMaximumValue} - * @param maximumValue The maximum value the calculator can store. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder maximumValue(java.lang.Number maximumValue) { - this.maximumValue = maximumValue; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link CalculatorProps} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public CalculatorProps build() { - return new Jsii$Proxy(initialValue, maximumValue); - } - } - - /** - * An implementation for {@link CalculatorProps} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CalculatorProps { - private final java.lang.Number initialValue; - private final java.lang.Number maximumValue; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.initialValue = this.jsiiGet("initialValue", java.lang.Number.class); - this.maximumValue = this.jsiiGet("maximumValue", java.lang.Number.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.Number initialValue, final java.lang.Number maximumValue) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.initialValue = initialValue; - this.maximumValue = maximumValue; - } - - @Override - public java.lang.Number getInitialValue() { - return this.initialValue; - } - - @Override - public java.lang.Number getMaximumValue() { - return this.maximumValue; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - if (this.getInitialValue() != null) { - data.set("initialValue", om.valueToTree(this.getInitialValue())); - } - if (this.getMaximumValue() != null) { - data.set("maximumValue", om.valueToTree(this.getMaximumValue())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.CalculatorProps")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - CalculatorProps.Jsii$Proxy that = (CalculatorProps.Jsii$Proxy) o; - - if (this.initialValue != null ? !this.initialValue.equals(that.initialValue) : that.initialValue != null) return false; - return this.maximumValue != null ? this.maximumValue.equals(that.maximumValue) : that.maximumValue == null; - } - - @Override - public int hashCode() { - int result = this.initialValue != null ? this.initialValue.hashCode() : 0; - result = 31 * result + (this.maximumValue != null ? this.maximumValue.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ChildStruct982.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ChildStruct982.java deleted file mode 100644 index 8e7dbf90c4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ChildStruct982.java +++ /dev/null @@ -1,140 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ChildStruct982") -@software.amazon.jsii.Jsii.Proxy(ChildStruct982.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface ChildStruct982 extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.ParentStruct982 { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Number getBar(); - - /** - * @return a {@link Builder} of {@link ChildStruct982} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link ChildStruct982} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.Number bar; - private java.lang.String foo; - - /** - * Sets the value of {@link ChildStruct982#getBar} - * @param bar the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder bar(java.lang.Number bar) { - this.bar = bar; - return this; - } - - /** - * Sets the value of {@link ChildStruct982#getFoo} - * @param foo the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder foo(java.lang.String foo) { - this.foo = foo; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link ChildStruct982} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public ChildStruct982 build() { - return new Jsii$Proxy(bar, foo); - } - } - - /** - * An implementation for {@link ChildStruct982} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ChildStruct982 { - private final java.lang.Number bar; - private final java.lang.String foo; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.bar = this.jsiiGet("bar", java.lang.Number.class); - this.foo = this.jsiiGet("foo", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.Number bar, final java.lang.String foo) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.bar = java.util.Objects.requireNonNull(bar, "bar is required"); - this.foo = java.util.Objects.requireNonNull(foo, "foo is required"); - } - - @Override - public java.lang.Number getBar() { - return this.bar; - } - - @Override - public java.lang.String getFoo() { - return this.foo; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("bar", om.valueToTree(this.getBar())); - data.set("foo", om.valueToTree(this.getFoo())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.ChildStruct982")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - ChildStruct982.Jsii$Proxy that = (ChildStruct982.Jsii$Proxy) o; - - if (!bar.equals(that.bar)) return false; - return this.foo.equals(that.foo); - } - - @Override - public int hashCode() { - int result = this.bar.hashCode(); - result = 31 * result + (this.foo.hashCode()); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassThatImplementsTheInternalInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassThatImplementsTheInternalInterface.java deleted file mode 100644 index 0c4b70ea07..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassThatImplementsTheInternalInterface.java +++ /dev/null @@ -1,97 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ClassThatImplementsTheInternalInterface") -public class ClassThatImplementsTheInternalInterface extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.INonInternalInterface { - - protected ClassThatImplementsTheInternalInterface(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ClassThatImplementsTheInternalInterface(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ClassThatImplementsTheInternalInterface() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getA() { - return this.jsiiGet("a", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setA(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("a", java.util.Objects.requireNonNull(value, "a is required")); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getB() { - return this.jsiiGet("b", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setB(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("b", java.util.Objects.requireNonNull(value, "b is required")); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getC() { - return this.jsiiGet("c", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setC(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("c", java.util.Objects.requireNonNull(value, "c is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getD() { - return this.jsiiGet("d", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setD(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("d", java.util.Objects.requireNonNull(value, "d is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassThatImplementsThePrivateInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassThatImplementsThePrivateInterface.java deleted file mode 100644 index 3dc953ff91..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassThatImplementsThePrivateInterface.java +++ /dev/null @@ -1,97 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ClassThatImplementsThePrivateInterface") -public class ClassThatImplementsThePrivateInterface extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.INonInternalInterface { - - protected ClassThatImplementsThePrivateInterface(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ClassThatImplementsThePrivateInterface(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ClassThatImplementsThePrivateInterface() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getA() { - return this.jsiiGet("a", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setA(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("a", java.util.Objects.requireNonNull(value, "a is required")); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getB() { - return this.jsiiGet("b", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setB(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("b", java.util.Objects.requireNonNull(value, "b is required")); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getC() { - return this.jsiiGet("c", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setC(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("c", java.util.Objects.requireNonNull(value, "c is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getE() { - return this.jsiiGet("e", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setE(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("e", java.util.Objects.requireNonNull(value, "e is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithCollections.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithCollections.java deleted file mode 100644 index fde75d67a0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithCollections.java +++ /dev/null @@ -1,110 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ClassWithCollections") -public class ClassWithCollections extends software.amazon.jsii.JsiiObject { - - protected ClassWithCollections(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ClassWithCollections(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param map This parameter is required. - * @param array This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ClassWithCollections(final @org.jetbrains.annotations.NotNull java.util.Map map, final @org.jetbrains.annotations.NotNull java.util.List array) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(map, "map is required"), java.util.Objects.requireNonNull(array, "array is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.util.List createAList() { - return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ClassWithCollections.class, "createAList", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.util.Map createAMap() { - return java.util.Collections.unmodifiableMap(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ClassWithCollections.class, "createAMap", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.util.List getStaticArray() { - return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.ClassWithCollections.class, "staticArray", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static void setStaticArray(final @org.jetbrains.annotations.NotNull java.util.List value) { - software.amazon.jsii.JsiiObject.jsiiStaticSet(software.amazon.jsii.tests.calculator.ClassWithCollections.class, "staticArray", java.util.Objects.requireNonNull(value, "staticArray is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.util.Map getStaticMap() { - return java.util.Collections.unmodifiableMap(software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.ClassWithCollections.class, "staticMap", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static void setStaticMap(final @org.jetbrains.annotations.NotNull java.util.Map value) { - software.amazon.jsii.JsiiObject.jsiiStaticSet(software.amazon.jsii.tests.calculator.ClassWithCollections.class, "staticMap", java.util.Objects.requireNonNull(value, "staticMap is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.List getArray() { - return java.util.Collections.unmodifiableList(this.jsiiGet("array", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setArray(final @org.jetbrains.annotations.NotNull java.util.List value) { - this.jsiiSet("array", java.util.Objects.requireNonNull(value, "array is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.Map getMap() { - return java.util.Collections.unmodifiableMap(this.jsiiGet("map", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setMap(final @org.jetbrains.annotations.NotNull java.util.Map value) { - this.jsiiSet("map", java.util.Objects.requireNonNull(value, "map is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithDocs.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithDocs.java deleted file mode 100644 index 8d92529c0e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithDocs.java +++ /dev/null @@ -1,38 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * This class has docs. - *

- * The docs are great. They're a bunch of tags. - *

- * Example: - *

- *

{@code
- * // Example automatically generated. See https://github.com/aws/jsii/issues/826
- * public void anExample() {
- * }}
- *

- * @see https://aws.amazon.com/ - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ClassWithDocs") -public class ClassWithDocs extends software.amazon.jsii.JsiiObject { - - protected ClassWithDocs(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ClassWithDocs(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ClassWithDocs() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithJavaReservedWords.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithJavaReservedWords.java deleted file mode 100644 index 8909302c32..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithJavaReservedWords.java +++ /dev/null @@ -1,47 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ClassWithJavaReservedWords") -public class ClassWithJavaReservedWords extends software.amazon.jsii.JsiiObject { - - protected ClassWithJavaReservedWords(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ClassWithJavaReservedWords(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param int This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ClassWithJavaReservedWords(final @org.jetbrains.annotations.NotNull java.lang.String intValue) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(intValue, "intValue is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param assert This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String doImport(final @org.jetbrains.annotations.NotNull java.lang.String assertValue) { - return this.jsiiCall("import", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(assertValue, "assertValue is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getIntValue() { - return this.jsiiGet("int", java.lang.String.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithMutableObjectLiteralProperty.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithMutableObjectLiteralProperty.java deleted file mode 100644 index e94f7f7044..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithMutableObjectLiteralProperty.java +++ /dev/null @@ -1,43 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ClassWithMutableObjectLiteralProperty") -public class ClassWithMutableObjectLiteralProperty extends software.amazon.jsii.JsiiObject { - - protected ClassWithMutableObjectLiteralProperty(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ClassWithMutableObjectLiteralProperty(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ClassWithMutableObjectLiteralProperty() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IMutableObjectLiteral getMutableObject() { - return this.jsiiGet("mutableObject", software.amazon.jsii.tests.calculator.IMutableObjectLiteral.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setMutableObject(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IMutableObjectLiteral value) { - this.jsiiSet("mutableObject", java.util.Objects.requireNonNull(value, "mutableObject is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithPrivateConstructorAndAutomaticProperties.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithPrivateConstructorAndAutomaticProperties.java deleted file mode 100644 index aa9b4d92d6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ClassWithPrivateConstructorAndAutomaticProperties.java +++ /dev/null @@ -1,58 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Class that implements interface properties automatically, but using a private constructor. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties") -public class ClassWithPrivateConstructorAndAutomaticProperties extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceWithProperties { - - protected ClassWithPrivateConstructorAndAutomaticProperties(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ClassWithPrivateConstructorAndAutomaticProperties(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param readOnlyString This parameter is required. - * @param readWriteString This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.ClassWithPrivateConstructorAndAutomaticProperties create(final @org.jetbrains.annotations.NotNull java.lang.String readOnlyString, final @org.jetbrains.annotations.NotNull java.lang.String readWriteString) { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ClassWithPrivateConstructorAndAutomaticProperties.class, "create", software.amazon.jsii.tests.calculator.ClassWithPrivateConstructorAndAutomaticProperties.class, new Object[] { java.util.Objects.requireNonNull(readOnlyString, "readOnlyString is required"), java.util.Objects.requireNonNull(readWriteString, "readWriteString is required") }); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getReadOnlyString() { - return this.jsiiGet("readOnlyString", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getReadWriteString() { - return this.jsiiGet("readWriteString", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setReadWriteString(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("readWriteString", java.util.Objects.requireNonNull(value, "readWriteString is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConfusingToJackson.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConfusingToJackson.java deleted file mode 100644 index 50693499d4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConfusingToJackson.java +++ /dev/null @@ -1,62 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * This tries to confuse Jackson by having overloaded property setters. - *

- * EXPERIMENTAL - *

- * @see https://github.com/aws/aws-cdk/issues/4080 - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ConfusingToJackson") -public class ConfusingToJackson extends software.amazon.jsii.JsiiObject { - - protected ConfusingToJackson(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ConfusingToJackson(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.ConfusingToJackson makeInstance() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ConfusingToJackson.class, "makeInstance", software.amazon.jsii.tests.calculator.ConfusingToJackson.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.ConfusingToJacksonStruct makeStructInstance() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ConfusingToJackson.class, "makeStructInstance", software.amazon.jsii.tests.calculator.ConfusingToJacksonStruct.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable java.lang.Object getUnionProperty() { - return this.jsiiGet("unionProperty", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setUnionProperty(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.lib.IFriendly value) { - this.jsiiSet("unionProperty", value); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setUnionProperty(final @org.jetbrains.annotations.Nullable java.util.List value) { - this.jsiiSet("unionProperty", value); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConfusingToJacksonStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConfusingToJacksonStruct.java deleted file mode 100644 index 1dc3eb8720..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConfusingToJacksonStruct.java +++ /dev/null @@ -1,132 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ConfusingToJacksonStruct") -@software.amazon.jsii.Jsii.Proxy(ConfusingToJacksonStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface ConfusingToJacksonStruct extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.Object getUnionProperty() { - return null; - } - - /** - * @return a {@link Builder} of {@link ConfusingToJacksonStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link ConfusingToJacksonStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.Object unionProperty; - - /** - * Sets the value of {@link ConfusingToJacksonStruct#getUnionProperty} - * @param unionProperty the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder unionProperty(software.amazon.jsii.tests.calculator.lib.IFriendly unionProperty) { - this.unionProperty = unionProperty; - return this; - } - - /** - * Sets the value of {@link ConfusingToJacksonStruct#getUnionProperty} - * @param unionProperty the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder unionProperty(java.util.List unionProperty) { - this.unionProperty = unionProperty; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link ConfusingToJacksonStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public ConfusingToJacksonStruct build() { - return new Jsii$Proxy(unionProperty); - } - } - - /** - * An implementation for {@link ConfusingToJacksonStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ConfusingToJacksonStruct { - private final java.lang.Object unionProperty; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.unionProperty = this.jsiiGet("unionProperty", java.lang.Object.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.Object unionProperty) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.unionProperty = unionProperty; - } - - @Override - public java.lang.Object getUnionProperty() { - return this.unionProperty; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - if (this.getUnionProperty() != null) { - data.set("unionProperty", om.valueToTree(this.getUnionProperty())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.ConfusingToJacksonStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - ConfusingToJacksonStruct.Jsii$Proxy that = (ConfusingToJacksonStruct.Jsii$Proxy) o; - - return this.unionProperty != null ? this.unionProperty.equals(that.unionProperty) : that.unionProperty == null; - } - - @Override - public int hashCode() { - int result = this.unionProperty != null ? this.unionProperty.hashCode() : 0; - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConstructorPassesThisOut.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConstructorPassesThisOut.java deleted file mode 100644 index df0af47c17..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConstructorPassesThisOut.java +++ /dev/null @@ -1,29 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ConstructorPassesThisOut") -public class ConstructorPassesThisOut extends software.amazon.jsii.JsiiObject { - - protected ConstructorPassesThisOut(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ConstructorPassesThisOut(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param consumer This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ConstructorPassesThisOut(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.PartiallyInitializedThisConsumer consumer) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(consumer, "consumer is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Constructors.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Constructors.java deleted file mode 100644 index c74757871c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Constructors.java +++ /dev/null @@ -1,83 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Constructors") -public class Constructors extends software.amazon.jsii.JsiiObject { - - protected Constructors(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Constructors(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Constructors() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IPublicInterface hiddenInterface() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Constructors.class, "hiddenInterface", software.amazon.jsii.tests.calculator.IPublicInterface.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.util.List hiddenInterfaces() { - return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Constructors.class, "hiddenInterfaces", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.IPublicInterface.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.util.List hiddenSubInterfaces() { - return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Constructors.class, "hiddenSubInterfaces", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.IPublicInterface.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.PublicClass makeClass() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Constructors.class, "makeClass", software.amazon.jsii.tests.calculator.PublicClass.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IPublicInterface makeInterface() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Constructors.class, "makeInterface", software.amazon.jsii.tests.calculator.IPublicInterface.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IPublicInterface2 makeInterface2() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Constructors.class, "makeInterface2", software.amazon.jsii.tests.calculator.IPublicInterface2.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.util.List makeInterfaces() { - return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Constructors.class, "makeInterfaces", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.IPublicInterface.class)))); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConsumePureInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConsumePureInterface.java deleted file mode 100644 index 10ee1b8178..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConsumePureInterface.java +++ /dev/null @@ -1,37 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ConsumePureInterface") -public class ConsumePureInterface extends software.amazon.jsii.JsiiObject { - - protected ConsumePureInterface(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ConsumePureInterface(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param delegate This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ConsumePureInterface(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IStructReturningDelegate delegate) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(delegate, "delegate is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StructB workItBaby() { - return this.jsiiCall("workItBaby", software.amazon.jsii.tests.calculator.StructB.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConsumerCanRingBell.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConsumerCanRingBell.java deleted file mode 100644 index 2af7cf73dd..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConsumerCanRingBell.java +++ /dev/null @@ -1,144 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Test calling back to consumers that implement interfaces. - *

- * Check that if a JSII consumer implements IConsumerWithInterfaceParam, they can call - * the method on the argument that they're passed... - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ConsumerCanRingBell") -public class ConsumerCanRingBell extends software.amazon.jsii.JsiiObject { - - protected ConsumerCanRingBell(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ConsumerCanRingBell(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ConsumerCanRingBell() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * ...if the interface is implemented using an object literal. - *

- * Returns whether the bell was rung. - *

- * EXPERIMENTAL - *

- * @param ringer This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Boolean staticImplementedByObjectLiteral(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBellRinger ringer) { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ConsumerCanRingBell.class, "staticImplementedByObjectLiteral", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, "ringer is required") }); - } - - /** - * ...if the interface is implemented using a private class. - *

- * Return whether the bell was rung. - *

- * EXPERIMENTAL - *

- * @param ringer This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Boolean staticImplementedByPrivateClass(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBellRinger ringer) { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ConsumerCanRingBell.class, "staticImplementedByPrivateClass", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, "ringer is required") }); - } - - /** - * ...if the interface is implemented using a public class. - *

- * Return whether the bell was rung. - *

- * EXPERIMENTAL - *

- * @param ringer This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Boolean staticImplementedByPublicClass(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBellRinger ringer) { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ConsumerCanRingBell.class, "staticImplementedByPublicClass", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, "ringer is required") }); - } - - /** - * If the parameter is a concrete class instead of an interface. - *

- * Return whether the bell was rung. - *

- * EXPERIMENTAL - *

- * @param ringer This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Boolean staticWhenTypedAsClass(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IConcreteBellRinger ringer) { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ConsumerCanRingBell.class, "staticWhenTypedAsClass", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, "ringer is required") }); - } - - /** - * ...if the interface is implemented using an object literal. - *

- * Returns whether the bell was rung. - *

- * EXPERIMENTAL - *

- * @param ringer This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean implementedByObjectLiteral(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBellRinger ringer) { - return this.jsiiCall("implementedByObjectLiteral", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, "ringer is required") }); - } - - /** - * ...if the interface is implemented using a private class. - *

- * Return whether the bell was rung. - *

- * EXPERIMENTAL - *

- * @param ringer This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean implementedByPrivateClass(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBellRinger ringer) { - return this.jsiiCall("implementedByPrivateClass", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, "ringer is required") }); - } - - /** - * ...if the interface is implemented using a public class. - *

- * Return whether the bell was rung. - *

- * EXPERIMENTAL - *

- * @param ringer This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean implementedByPublicClass(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBellRinger ringer) { - return this.jsiiCall("implementedByPublicClass", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, "ringer is required") }); - } - - /** - * If the parameter is a concrete class instead of an interface. - *

- * Return whether the bell was rung. - *

- * EXPERIMENTAL - *

- * @param ringer This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean whenTypedAsClass(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IConcreteBellRinger ringer) { - return this.jsiiCall("whenTypedAsClass", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(ringer, "ringer is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConsumersOfThisCrazyTypeSystem.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConsumersOfThisCrazyTypeSystem.java deleted file mode 100644 index 9089d5d47b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ConsumersOfThisCrazyTypeSystem.java +++ /dev/null @@ -1,47 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ConsumersOfThisCrazyTypeSystem") -public class ConsumersOfThisCrazyTypeSystem extends software.amazon.jsii.JsiiObject { - - protected ConsumersOfThisCrazyTypeSystem(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ConsumersOfThisCrazyTypeSystem(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ConsumersOfThisCrazyTypeSystem() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param obj This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String consumeAnotherPublicInterface(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IAnotherPublicInterface obj) { - return this.jsiiCall("consumeAnotherPublicInterface", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(obj, "obj is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param obj This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Object consumeNonInternalInterface(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.INonInternalInterface obj) { - return this.jsiiCall("consumeNonInternalInterface", java.lang.Object.class, new Object[] { java.util.Objects.requireNonNull(obj, "obj is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DataRenderer.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DataRenderer.java deleted file mode 100644 index abcb865f83..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DataRenderer.java +++ /dev/null @@ -1,67 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Verifies proper type handling through dynamic overrides. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DataRenderer") -public class DataRenderer extends software.amazon.jsii.JsiiObject { - - protected DataRenderer(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected DataRenderer(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public DataRenderer() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param data - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String render(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.lib.MyFirstStruct data) { - return this.jsiiCall("render", java.lang.String.class, new Object[] { data }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String render() { - return this.jsiiCall("render", java.lang.String.class); - } - - /** - * EXPERIMENTAL - *

- * @param data This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String renderArbitrary(final @org.jetbrains.annotations.NotNull java.util.Map data) { - return this.jsiiCall("renderArbitrary", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(data, "data is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param map This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String renderMap(final @org.jetbrains.annotations.NotNull java.util.Map map) { - return this.jsiiCall("renderMap", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(map, "map is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DefaultedConstructorArgument.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DefaultedConstructorArgument.java deleted file mode 100644 index 804a6ff2e9..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DefaultedConstructorArgument.java +++ /dev/null @@ -1,87 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DefaultedConstructorArgument") -public class DefaultedConstructorArgument extends software.amazon.jsii.JsiiObject { - - protected DefaultedConstructorArgument(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected DefaultedConstructorArgument(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param arg1 - * @param arg2 - * @param arg3 - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public DefaultedConstructorArgument(final @org.jetbrains.annotations.Nullable java.lang.Number arg1, final @org.jetbrains.annotations.Nullable java.lang.String arg2, final @org.jetbrains.annotations.Nullable java.time.Instant arg3) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { arg1, arg2, arg3 }); - } - - /** - * EXPERIMENTAL - *

- * @param arg1 - * @param arg2 - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public DefaultedConstructorArgument(final @org.jetbrains.annotations.Nullable java.lang.Number arg1, final @org.jetbrains.annotations.Nullable java.lang.String arg2) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { arg1, arg2 }); - } - - /** - * EXPERIMENTAL - *

- * @param arg1 - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public DefaultedConstructorArgument(final @org.jetbrains.annotations.Nullable java.lang.Number arg1) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { arg1 }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public DefaultedConstructorArgument() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getArg1() { - return this.jsiiGet("arg1", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.time.Instant getArg3() { - return this.jsiiGet("arg3", java.time.Instant.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable java.lang.String getArg2() { - return this.jsiiGet("arg2", java.lang.String.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Demonstrate982.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Demonstrate982.java deleted file mode 100644 index 44d9540c2d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Demonstrate982.java +++ /dev/null @@ -1,52 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * 1. - *

- * call #takeThis() -> An ObjectRef will be provisioned for the value (it'll be re-used!) - * 2. call #takeThisToo() -> The ObjectRef from before will need to be down-cased to the ParentStruct982 type - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Demonstrate982") -public class Demonstrate982 extends software.amazon.jsii.JsiiObject { - - protected Demonstrate982(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Demonstrate982(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Demonstrate982() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * It's dangerous to go alone! - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.ChildStruct982 takeThis() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Demonstrate982.class, "takeThis", software.amazon.jsii.tests.calculator.ChildStruct982.class); - } - - /** - * It's dangerous to go alone! - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.ParentStruct982 takeThisToo() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Demonstrate982.class, "takeThisToo", software.amazon.jsii.tests.calculator.ParentStruct982.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DeprecatedClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DeprecatedClass.java deleted file mode 100644 index 164665b54e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DeprecatedClass.java +++ /dev/null @@ -1,78 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * @deprecated a pretty boring class - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DeprecatedClass") -public class DeprecatedClass extends software.amazon.jsii.JsiiObject { - - protected DeprecatedClass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected DeprecatedClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * @deprecated this constructor is "just" okay - * @param readonlyString This parameter is required. - * @param mutableNumber - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public DeprecatedClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString, final @org.jetbrains.annotations.Nullable java.lang.Number mutableNumber) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, "readonlyString is required"), mutableNumber }); - } - - /** - * @deprecated this constructor is "just" okay - * @param readonlyString This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public DeprecatedClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, "readonlyString is required") }); - } - - /** - * @deprecated it was a bad idea - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public void method() { - this.jsiiCall("method", software.amazon.jsii.NativeType.VOID); - } - - /** - * @deprecated this is not always "wazoo", be ready to be disappointed - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty() { - return this.jsiiGet("readonlyProperty", java.lang.String.class); - } - - /** - * @deprecated shouldn't have been mutable - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { - return this.jsiiGet("mutableProperty", java.lang.Number.class); - } - - /** - * @deprecated shouldn't have been mutable - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { - this.jsiiSet("mutableProperty", value); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DeprecatedEnum.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DeprecatedEnum.java deleted file mode 100644 index aee4dd6aaf..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DeprecatedEnum.java +++ /dev/null @@ -1,23 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * @deprecated your deprecated selection of bad options - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DeprecatedEnum") -public enum DeprecatedEnum { - /** - * @deprecated option A is not great - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - OPTION_A, - /** - * @deprecated option B is kinda bad, too - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - OPTION_B, -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DeprecatedStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DeprecatedStruct.java deleted file mode 100644 index 0d22ab7c20..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DeprecatedStruct.java +++ /dev/null @@ -1,125 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * @deprecated it just wraps a string - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DeprecatedStruct") -@software.amazon.jsii.Jsii.Proxy(DeprecatedStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -public interface DeprecatedStruct extends software.amazon.jsii.JsiiSerializable { - - /** - * @deprecated well, yeah - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty(); - - /** - * @return a {@link Builder} of {@link DeprecatedStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link DeprecatedStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String readonlyProperty; - - /** - * Sets the value of {@link DeprecatedStruct#getReadonlyProperty} - * @param readonlyProperty the value to be set. This parameter is required. - * @return {@code this} - * @deprecated well, yeah - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public Builder readonlyProperty(java.lang.String readonlyProperty) { - this.readonlyProperty = readonlyProperty; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link DeprecatedStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public DeprecatedStruct build() { - return new Jsii$Proxy(readonlyProperty); - } - } - - /** - * An implementation for {@link DeprecatedStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DeprecatedStruct { - private final java.lang.String readonlyProperty; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.readonlyProperty = this.jsiiGet("readonlyProperty", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String readonlyProperty) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.readonlyProperty = java.util.Objects.requireNonNull(readonlyProperty, "readonlyProperty is required"); - } - - @Override - public java.lang.String getReadonlyProperty() { - return this.readonlyProperty; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("readonlyProperty", om.valueToTree(this.getReadonlyProperty())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.DeprecatedStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - DeprecatedStruct.Jsii$Proxy that = (DeprecatedStruct.Jsii$Proxy) o; - - return this.readonlyProperty.equals(that.readonlyProperty); - } - - @Override - public int hashCode() { - int result = this.readonlyProperty.hashCode(); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DerivedStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DerivedStruct.java deleted file mode 100644 index 3ea7d58dab..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DerivedStruct.java +++ /dev/null @@ -1,354 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * A struct which derives from another struct. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DerivedStruct") -@software.amazon.jsii.Jsii.Proxy(DerivedStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface DerivedStruct extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.lib.MyFirstStruct { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.time.Instant getAnotherRequired(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Boolean getBool(); - - /** - * An example of a non primitive property. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.DoubleTrouble getNonPrimitive(); - - /** - * This is optional. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.util.Map getAnotherOptional() { - return null; - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.Object getOptionalAny() { - return null; - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.util.List getOptionalArray() { - return null; - } - - /** - * @return a {@link Builder} of {@link DerivedStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link DerivedStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.time.Instant anotherRequired; - private java.lang.Boolean bool; - private software.amazon.jsii.tests.calculator.DoubleTrouble nonPrimitive; - private java.util.Map anotherOptional; - private java.lang.Object optionalAny; - private java.util.List optionalArray; - private java.lang.Number anumber; - private java.lang.String astring; - private java.util.List firstOptional; - - /** - * Sets the value of {@link DerivedStruct#getAnotherRequired} - * @param anotherRequired the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder anotherRequired(java.time.Instant anotherRequired) { - this.anotherRequired = anotherRequired; - return this; - } - - /** - * Sets the value of {@link DerivedStruct#getBool} - * @param bool the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder bool(java.lang.Boolean bool) { - this.bool = bool; - return this; - } - - /** - * Sets the value of {@link DerivedStruct#getNonPrimitive} - * @param nonPrimitive An example of a non primitive property. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder nonPrimitive(software.amazon.jsii.tests.calculator.DoubleTrouble nonPrimitive) { - this.nonPrimitive = nonPrimitive; - return this; - } - - /** - * Sets the value of {@link DerivedStruct#getAnotherOptional} - * @param anotherOptional This is optional. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder anotherOptional(java.util.Map anotherOptional) { - this.anotherOptional = anotherOptional; - return this; - } - - /** - * Sets the value of {@link DerivedStruct#getOptionalAny} - * @param optionalAny the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder optionalAny(java.lang.Object optionalAny) { - this.optionalAny = optionalAny; - return this; - } - - /** - * Sets the value of {@link DerivedStruct#getOptionalArray} - * @param optionalArray the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder optionalArray(java.util.List optionalArray) { - this.optionalArray = optionalArray; - return this; - } - - /** - * Sets the value of {@link DerivedStruct#getAnumber} - * @param anumber An awesome number value. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public Builder anumber(java.lang.Number anumber) { - this.anumber = anumber; - return this; - } - - /** - * Sets the value of {@link DerivedStruct#getAstring} - * @param astring A string value. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public Builder astring(java.lang.String astring) { - this.astring = astring; - return this; - } - - /** - * Sets the value of {@link DerivedStruct#getFirstOptional} - * @param firstOptional the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public Builder firstOptional(java.util.List firstOptional) { - this.firstOptional = firstOptional; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link DerivedStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public DerivedStruct build() { - return new Jsii$Proxy(anotherRequired, bool, nonPrimitive, anotherOptional, optionalAny, optionalArray, anumber, astring, firstOptional); - } - } - - /** - * An implementation for {@link DerivedStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DerivedStruct { - private final java.time.Instant anotherRequired; - private final java.lang.Boolean bool; - private final software.amazon.jsii.tests.calculator.DoubleTrouble nonPrimitive; - private final java.util.Map anotherOptional; - private final java.lang.Object optionalAny; - private final java.util.List optionalArray; - private final java.lang.Number anumber; - private final java.lang.String astring; - private final java.util.List firstOptional; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.anotherRequired = this.jsiiGet("anotherRequired", java.time.Instant.class); - this.bool = this.jsiiGet("bool", java.lang.Boolean.class); - this.nonPrimitive = this.jsiiGet("nonPrimitive", software.amazon.jsii.tests.calculator.DoubleTrouble.class); - this.anotherOptional = this.jsiiGet("anotherOptional", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.lib.Value.class))); - this.optionalAny = this.jsiiGet("optionalAny", java.lang.Object.class); - this.optionalArray = this.jsiiGet("optionalArray", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); - this.anumber = this.jsiiGet("anumber", java.lang.Number.class); - this.astring = this.jsiiGet("astring", java.lang.String.class); - this.firstOptional = this.jsiiGet("firstOptional", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.time.Instant anotherRequired, final java.lang.Boolean bool, final software.amazon.jsii.tests.calculator.DoubleTrouble nonPrimitive, final java.util.Map anotherOptional, final java.lang.Object optionalAny, final java.util.List optionalArray, final java.lang.Number anumber, final java.lang.String astring, final java.util.List firstOptional) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.anotherRequired = java.util.Objects.requireNonNull(anotherRequired, "anotherRequired is required"); - this.bool = java.util.Objects.requireNonNull(bool, "bool is required"); - this.nonPrimitive = java.util.Objects.requireNonNull(nonPrimitive, "nonPrimitive is required"); - this.anotherOptional = anotherOptional; - this.optionalAny = optionalAny; - this.optionalArray = optionalArray; - this.anumber = java.util.Objects.requireNonNull(anumber, "anumber is required"); - this.astring = java.util.Objects.requireNonNull(astring, "astring is required"); - this.firstOptional = firstOptional; - } - - @Override - public java.time.Instant getAnotherRequired() { - return this.anotherRequired; - } - - @Override - public java.lang.Boolean getBool() { - return this.bool; - } - - @Override - public software.amazon.jsii.tests.calculator.DoubleTrouble getNonPrimitive() { - return this.nonPrimitive; - } - - @Override - public java.util.Map getAnotherOptional() { - return this.anotherOptional; - } - - @Override - public java.lang.Object getOptionalAny() { - return this.optionalAny; - } - - @Override - public java.util.List getOptionalArray() { - return this.optionalArray; - } - - @Override - public java.lang.Number getAnumber() { - return this.anumber; - } - - @Override - public java.lang.String getAstring() { - return this.astring; - } - - @Override - public java.util.List getFirstOptional() { - return this.firstOptional; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("anotherRequired", om.valueToTree(this.getAnotherRequired())); - data.set("bool", om.valueToTree(this.getBool())); - data.set("nonPrimitive", om.valueToTree(this.getNonPrimitive())); - if (this.getAnotherOptional() != null) { - data.set("anotherOptional", om.valueToTree(this.getAnotherOptional())); - } - if (this.getOptionalAny() != null) { - data.set("optionalAny", om.valueToTree(this.getOptionalAny())); - } - if (this.getOptionalArray() != null) { - data.set("optionalArray", om.valueToTree(this.getOptionalArray())); - } - data.set("anumber", om.valueToTree(this.getAnumber())); - data.set("astring", om.valueToTree(this.getAstring())); - if (this.getFirstOptional() != null) { - data.set("firstOptional", om.valueToTree(this.getFirstOptional())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.DerivedStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - DerivedStruct.Jsii$Proxy that = (DerivedStruct.Jsii$Proxy) o; - - if (!anotherRequired.equals(that.anotherRequired)) return false; - if (!bool.equals(that.bool)) return false; - if (!nonPrimitive.equals(that.nonPrimitive)) return false; - if (this.anotherOptional != null ? !this.anotherOptional.equals(that.anotherOptional) : that.anotherOptional != null) return false; - if (this.optionalAny != null ? !this.optionalAny.equals(that.optionalAny) : that.optionalAny != null) return false; - if (this.optionalArray != null ? !this.optionalArray.equals(that.optionalArray) : that.optionalArray != null) return false; - if (!anumber.equals(that.anumber)) return false; - if (!astring.equals(that.astring)) return false; - return this.firstOptional != null ? this.firstOptional.equals(that.firstOptional) : that.firstOptional == null; - } - - @Override - public int hashCode() { - int result = this.anotherRequired.hashCode(); - result = 31 * result + (this.bool.hashCode()); - result = 31 * result + (this.nonPrimitive.hashCode()); - result = 31 * result + (this.anotherOptional != null ? this.anotherOptional.hashCode() : 0); - result = 31 * result + (this.optionalAny != null ? this.optionalAny.hashCode() : 0); - result = 31 * result + (this.optionalArray != null ? this.optionalArray.hashCode() : 0); - result = 31 * result + (this.anumber.hashCode()); - result = 31 * result + (this.astring.hashCode()); - result = 31 * result + (this.firstOptional != null ? this.firstOptional.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceBaseLevelStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceBaseLevelStruct.java deleted file mode 100644 index 33e1a5da62..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceBaseLevelStruct.java +++ /dev/null @@ -1,117 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DiamondInheritanceBaseLevelStruct") -@software.amazon.jsii.Jsii.Proxy(DiamondInheritanceBaseLevelStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface DiamondInheritanceBaseLevelStruct extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getBaseLevelProperty(); - - /** - * @return a {@link Builder} of {@link DiamondInheritanceBaseLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link DiamondInheritanceBaseLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String baseLevelProperty; - - /** - * Sets the value of {@link DiamondInheritanceBaseLevelStruct#getBaseLevelProperty} - * @param baseLevelProperty the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder baseLevelProperty(java.lang.String baseLevelProperty) { - this.baseLevelProperty = baseLevelProperty; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link DiamondInheritanceBaseLevelStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public DiamondInheritanceBaseLevelStruct build() { - return new Jsii$Proxy(baseLevelProperty); - } - } - - /** - * An implementation for {@link DiamondInheritanceBaseLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DiamondInheritanceBaseLevelStruct { - private final java.lang.String baseLevelProperty; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.baseLevelProperty = this.jsiiGet("baseLevelProperty", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String baseLevelProperty) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.baseLevelProperty = java.util.Objects.requireNonNull(baseLevelProperty, "baseLevelProperty is required"); - } - - @Override - public java.lang.String getBaseLevelProperty() { - return this.baseLevelProperty; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("baseLevelProperty", om.valueToTree(this.getBaseLevelProperty())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.DiamondInheritanceBaseLevelStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - DiamondInheritanceBaseLevelStruct.Jsii$Proxy that = (DiamondInheritanceBaseLevelStruct.Jsii$Proxy) o; - - return this.baseLevelProperty.equals(that.baseLevelProperty); - } - - @Override - public int hashCode() { - int result = this.baseLevelProperty.hashCode(); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceFirstMidLevelStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceFirstMidLevelStruct.java deleted file mode 100644 index 2fcdc2750a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceFirstMidLevelStruct.java +++ /dev/null @@ -1,140 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DiamondInheritanceFirstMidLevelStruct") -@software.amazon.jsii.Jsii.Proxy(DiamondInheritanceFirstMidLevelStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface DiamondInheritanceFirstMidLevelStruct extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.DiamondInheritanceBaseLevelStruct { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getFirstMidLevelProperty(); - - /** - * @return a {@link Builder} of {@link DiamondInheritanceFirstMidLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link DiamondInheritanceFirstMidLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String firstMidLevelProperty; - private java.lang.String baseLevelProperty; - - /** - * Sets the value of {@link DiamondInheritanceFirstMidLevelStruct#getFirstMidLevelProperty} - * @param firstMidLevelProperty the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder firstMidLevelProperty(java.lang.String firstMidLevelProperty) { - this.firstMidLevelProperty = firstMidLevelProperty; - return this; - } - - /** - * Sets the value of {@link DiamondInheritanceFirstMidLevelStruct#getBaseLevelProperty} - * @param baseLevelProperty the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder baseLevelProperty(java.lang.String baseLevelProperty) { - this.baseLevelProperty = baseLevelProperty; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link DiamondInheritanceFirstMidLevelStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public DiamondInheritanceFirstMidLevelStruct build() { - return new Jsii$Proxy(firstMidLevelProperty, baseLevelProperty); - } - } - - /** - * An implementation for {@link DiamondInheritanceFirstMidLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DiamondInheritanceFirstMidLevelStruct { - private final java.lang.String firstMidLevelProperty; - private final java.lang.String baseLevelProperty; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.firstMidLevelProperty = this.jsiiGet("firstMidLevelProperty", java.lang.String.class); - this.baseLevelProperty = this.jsiiGet("baseLevelProperty", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String firstMidLevelProperty, final java.lang.String baseLevelProperty) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.firstMidLevelProperty = java.util.Objects.requireNonNull(firstMidLevelProperty, "firstMidLevelProperty is required"); - this.baseLevelProperty = java.util.Objects.requireNonNull(baseLevelProperty, "baseLevelProperty is required"); - } - - @Override - public java.lang.String getFirstMidLevelProperty() { - return this.firstMidLevelProperty; - } - - @Override - public java.lang.String getBaseLevelProperty() { - return this.baseLevelProperty; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("firstMidLevelProperty", om.valueToTree(this.getFirstMidLevelProperty())); - data.set("baseLevelProperty", om.valueToTree(this.getBaseLevelProperty())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.DiamondInheritanceFirstMidLevelStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - DiamondInheritanceFirstMidLevelStruct.Jsii$Proxy that = (DiamondInheritanceFirstMidLevelStruct.Jsii$Proxy) o; - - if (!firstMidLevelProperty.equals(that.firstMidLevelProperty)) return false; - return this.baseLevelProperty.equals(that.baseLevelProperty); - } - - @Override - public int hashCode() { - int result = this.firstMidLevelProperty.hashCode(); - result = 31 * result + (this.baseLevelProperty.hashCode()); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceSecondMidLevelStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceSecondMidLevelStruct.java deleted file mode 100644 index 70bd7c38f7..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceSecondMidLevelStruct.java +++ /dev/null @@ -1,140 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DiamondInheritanceSecondMidLevelStruct") -@software.amazon.jsii.Jsii.Proxy(DiamondInheritanceSecondMidLevelStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface DiamondInheritanceSecondMidLevelStruct extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.DiamondInheritanceBaseLevelStruct { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getSecondMidLevelProperty(); - - /** - * @return a {@link Builder} of {@link DiamondInheritanceSecondMidLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link DiamondInheritanceSecondMidLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String secondMidLevelProperty; - private java.lang.String baseLevelProperty; - - /** - * Sets the value of {@link DiamondInheritanceSecondMidLevelStruct#getSecondMidLevelProperty} - * @param secondMidLevelProperty the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder secondMidLevelProperty(java.lang.String secondMidLevelProperty) { - this.secondMidLevelProperty = secondMidLevelProperty; - return this; - } - - /** - * Sets the value of {@link DiamondInheritanceSecondMidLevelStruct#getBaseLevelProperty} - * @param baseLevelProperty the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder baseLevelProperty(java.lang.String baseLevelProperty) { - this.baseLevelProperty = baseLevelProperty; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link DiamondInheritanceSecondMidLevelStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public DiamondInheritanceSecondMidLevelStruct build() { - return new Jsii$Proxy(secondMidLevelProperty, baseLevelProperty); - } - } - - /** - * An implementation for {@link DiamondInheritanceSecondMidLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DiamondInheritanceSecondMidLevelStruct { - private final java.lang.String secondMidLevelProperty; - private final java.lang.String baseLevelProperty; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.secondMidLevelProperty = this.jsiiGet("secondMidLevelProperty", java.lang.String.class); - this.baseLevelProperty = this.jsiiGet("baseLevelProperty", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String secondMidLevelProperty, final java.lang.String baseLevelProperty) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.secondMidLevelProperty = java.util.Objects.requireNonNull(secondMidLevelProperty, "secondMidLevelProperty is required"); - this.baseLevelProperty = java.util.Objects.requireNonNull(baseLevelProperty, "baseLevelProperty is required"); - } - - @Override - public java.lang.String getSecondMidLevelProperty() { - return this.secondMidLevelProperty; - } - - @Override - public java.lang.String getBaseLevelProperty() { - return this.baseLevelProperty; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("secondMidLevelProperty", om.valueToTree(this.getSecondMidLevelProperty())); - data.set("baseLevelProperty", om.valueToTree(this.getBaseLevelProperty())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.DiamondInheritanceSecondMidLevelStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - DiamondInheritanceSecondMidLevelStruct.Jsii$Proxy that = (DiamondInheritanceSecondMidLevelStruct.Jsii$Proxy) o; - - if (!secondMidLevelProperty.equals(that.secondMidLevelProperty)) return false; - return this.baseLevelProperty.equals(that.baseLevelProperty); - } - - @Override - public int hashCode() { - int result = this.secondMidLevelProperty.hashCode(); - result = 31 * result + (this.baseLevelProperty.hashCode()); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceTopLevelStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceTopLevelStruct.java deleted file mode 100644 index 65a77d8c0c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DiamondInheritanceTopLevelStruct.java +++ /dev/null @@ -1,186 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DiamondInheritanceTopLevelStruct") -@software.amazon.jsii.Jsii.Proxy(DiamondInheritanceTopLevelStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface DiamondInheritanceTopLevelStruct extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.DiamondInheritanceFirstMidLevelStruct, software.amazon.jsii.tests.calculator.DiamondInheritanceSecondMidLevelStruct { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getTopLevelProperty(); - - /** - * @return a {@link Builder} of {@link DiamondInheritanceTopLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link DiamondInheritanceTopLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String topLevelProperty; - private java.lang.String firstMidLevelProperty; - private java.lang.String baseLevelProperty; - private java.lang.String secondMidLevelProperty; - - /** - * Sets the value of {@link DiamondInheritanceTopLevelStruct#getTopLevelProperty} - * @param topLevelProperty the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder topLevelProperty(java.lang.String topLevelProperty) { - this.topLevelProperty = topLevelProperty; - return this; - } - - /** - * Sets the value of {@link DiamondInheritanceTopLevelStruct#getFirstMidLevelProperty} - * @param firstMidLevelProperty the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder firstMidLevelProperty(java.lang.String firstMidLevelProperty) { - this.firstMidLevelProperty = firstMidLevelProperty; - return this; - } - - /** - * Sets the value of {@link DiamondInheritanceTopLevelStruct#getBaseLevelProperty} - * @param baseLevelProperty the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder baseLevelProperty(java.lang.String baseLevelProperty) { - this.baseLevelProperty = baseLevelProperty; - return this; - } - - /** - * Sets the value of {@link DiamondInheritanceTopLevelStruct#getSecondMidLevelProperty} - * @param secondMidLevelProperty the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder secondMidLevelProperty(java.lang.String secondMidLevelProperty) { - this.secondMidLevelProperty = secondMidLevelProperty; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link DiamondInheritanceTopLevelStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public DiamondInheritanceTopLevelStruct build() { - return new Jsii$Proxy(topLevelProperty, firstMidLevelProperty, baseLevelProperty, secondMidLevelProperty); - } - } - - /** - * An implementation for {@link DiamondInheritanceTopLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DiamondInheritanceTopLevelStruct { - private final java.lang.String topLevelProperty; - private final java.lang.String firstMidLevelProperty; - private final java.lang.String baseLevelProperty; - private final java.lang.String secondMidLevelProperty; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.topLevelProperty = this.jsiiGet("topLevelProperty", java.lang.String.class); - this.firstMidLevelProperty = this.jsiiGet("firstMidLevelProperty", java.lang.String.class); - this.baseLevelProperty = this.jsiiGet("baseLevelProperty", java.lang.String.class); - this.secondMidLevelProperty = this.jsiiGet("secondMidLevelProperty", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String topLevelProperty, final java.lang.String firstMidLevelProperty, final java.lang.String baseLevelProperty, final java.lang.String secondMidLevelProperty) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.topLevelProperty = java.util.Objects.requireNonNull(topLevelProperty, "topLevelProperty is required"); - this.firstMidLevelProperty = java.util.Objects.requireNonNull(firstMidLevelProperty, "firstMidLevelProperty is required"); - this.baseLevelProperty = java.util.Objects.requireNonNull(baseLevelProperty, "baseLevelProperty is required"); - this.secondMidLevelProperty = java.util.Objects.requireNonNull(secondMidLevelProperty, "secondMidLevelProperty is required"); - } - - @Override - public java.lang.String getTopLevelProperty() { - return this.topLevelProperty; - } - - @Override - public java.lang.String getFirstMidLevelProperty() { - return this.firstMidLevelProperty; - } - - @Override - public java.lang.String getBaseLevelProperty() { - return this.baseLevelProperty; - } - - @Override - public java.lang.String getSecondMidLevelProperty() { - return this.secondMidLevelProperty; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("topLevelProperty", om.valueToTree(this.getTopLevelProperty())); - data.set("firstMidLevelProperty", om.valueToTree(this.getFirstMidLevelProperty())); - data.set("baseLevelProperty", om.valueToTree(this.getBaseLevelProperty())); - data.set("secondMidLevelProperty", om.valueToTree(this.getSecondMidLevelProperty())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.DiamondInheritanceTopLevelStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - DiamondInheritanceTopLevelStruct.Jsii$Proxy that = (DiamondInheritanceTopLevelStruct.Jsii$Proxy) o; - - if (!topLevelProperty.equals(that.topLevelProperty)) return false; - if (!firstMidLevelProperty.equals(that.firstMidLevelProperty)) return false; - if (!baseLevelProperty.equals(that.baseLevelProperty)) return false; - return this.secondMidLevelProperty.equals(that.secondMidLevelProperty); - } - - @Override - public int hashCode() { - int result = this.topLevelProperty.hashCode(); - result = 31 * result + (this.firstMidLevelProperty.hashCode()); - result = 31 * result + (this.baseLevelProperty.hashCode()); - result = 31 * result + (this.secondMidLevelProperty.hashCode()); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DisappointingCollectionSource.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DisappointingCollectionSource.java deleted file mode 100644 index cd8437b7cd..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DisappointingCollectionSource.java +++ /dev/null @@ -1,47 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Verifies that null/undefined can be returned for optional collections. - *

- * This source of collections is disappointing - it'll always give you nothing :( - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DisappointingCollectionSource") -public class DisappointingCollectionSource extends software.amazon.jsii.JsiiObject { - - protected DisappointingCollectionSource(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected DisappointingCollectionSource(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - static { - MAYBE_LIST = java.util.Optional.ofNullable((java.util.List)(software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.DisappointingCollectionSource.class, "maybeList", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))))).map(java.util.Collections::unmodifiableList).orElse(null); - MAYBE_MAP = java.util.Optional.ofNullable((java.util.Map)(software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.DisappointingCollectionSource.class, "maybeMap", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Number.class))))).map(java.util.Collections::unmodifiableMap).orElse(null); - } - - /** - * Some List of strings, maybe? - *

- * (Nah, just a billion dollars mistake!) - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public final static java.util.List MAYBE_LIST; - - /** - * Some Map of strings to numbers, maybe? - *

- * (Nah, just a billion dollars mistake!) - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public final static java.util.Map MAYBE_MAP; -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DoNotOverridePrivates.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DoNotOverridePrivates.java deleted file mode 100644 index 838f73066f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DoNotOverridePrivates.java +++ /dev/null @@ -1,53 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DoNotOverridePrivates") -public class DoNotOverridePrivates extends software.amazon.jsii.JsiiObject { - - protected DoNotOverridePrivates(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected DoNotOverridePrivates(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public DoNotOverridePrivates() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param newValue This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void changePrivatePropertyValue(final @org.jetbrains.annotations.NotNull java.lang.String newValue) { - this.jsiiCall("changePrivatePropertyValue", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(newValue, "newValue is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String privateMethodValue() { - return this.jsiiCall("privateMethodValue", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String privatePropertyValue() { - return this.jsiiCall("privatePropertyValue", java.lang.String.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DoNotRecognizeAnyAsOptional.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DoNotRecognizeAnyAsOptional.java deleted file mode 100644 index e9613a9a82..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DoNotRecognizeAnyAsOptional.java +++ /dev/null @@ -1,62 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * jsii#284: do not recognize "any" as an optional argument. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DoNotRecognizeAnyAsOptional") -public class DoNotRecognizeAnyAsOptional extends software.amazon.jsii.JsiiObject { - - protected DoNotRecognizeAnyAsOptional(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected DoNotRecognizeAnyAsOptional(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public DoNotRecognizeAnyAsOptional() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param _requiredAny This parameter is required. - * @param _optionalAny - * @param _optionalString - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void method(final @org.jetbrains.annotations.NotNull java.lang.Object _requiredAny, final @org.jetbrains.annotations.Nullable java.lang.Object _optionalAny, final @org.jetbrains.annotations.Nullable java.lang.String _optionalString) { - this.jsiiCall("method", software.amazon.jsii.NativeType.VOID, new Object[] { _requiredAny, _optionalAny, _optionalString }); - } - - /** - * EXPERIMENTAL - *

- * @param _requiredAny This parameter is required. - * @param _optionalAny - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void method(final @org.jetbrains.annotations.NotNull java.lang.Object _requiredAny, final @org.jetbrains.annotations.Nullable java.lang.Object _optionalAny) { - this.jsiiCall("method", software.amazon.jsii.NativeType.VOID, new Object[] { _requiredAny, _optionalAny }); - } - - /** - * EXPERIMENTAL - *

- * @param _requiredAny This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void method(final @org.jetbrains.annotations.NotNull java.lang.Object _requiredAny) { - this.jsiiCall("method", software.amazon.jsii.NativeType.VOID, new Object[] { _requiredAny }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DocumentedClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DocumentedClass.java deleted file mode 100644 index 86667dd0f6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DocumentedClass.java +++ /dev/null @@ -1,69 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Here's the first line of the TSDoc comment. - *

- * This is the meat of the TSDoc comment. It may contain - * multiple lines and multiple paragraphs. - *

- * Multiple paragraphs are separated by an empty line. - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DocumentedClass") -public class DocumentedClass extends software.amazon.jsii.JsiiObject { - - protected DocumentedClass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected DocumentedClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public DocumentedClass() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * Greet the indicated person. - *

- * This will print out a friendly greeting intended for - * the indicated person. - *

- * @return A number that everyone knows very well - * @param greetee The person to be greeted. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - public @org.jetbrains.annotations.NotNull java.lang.Number greet(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.Greetee greetee) { - return this.jsiiCall("greet", java.lang.Number.class, new Object[] { greetee }); - } - - /** - * Greet the indicated person. - *

- * This will print out a friendly greeting intended for - * the indicated person. - *

- * @return A number that everyone knows very well - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - public @org.jetbrains.annotations.NotNull java.lang.Number greet() { - return this.jsiiCall("greet", java.lang.Number.class); - } - - /** - * Say ¡Hola! - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void hola() { - this.jsiiCall("hola", software.amazon.jsii.NativeType.VOID); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DontComplainAboutVariadicAfterOptional.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DontComplainAboutVariadicAfterOptional.java deleted file mode 100644 index 4a299e71ec..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DontComplainAboutVariadicAfterOptional.java +++ /dev/null @@ -1,38 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DontComplainAboutVariadicAfterOptional") -public class DontComplainAboutVariadicAfterOptional extends software.amazon.jsii.JsiiObject { - - protected DontComplainAboutVariadicAfterOptional(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected DontComplainAboutVariadicAfterOptional(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public DontComplainAboutVariadicAfterOptional() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param optional - * @param things This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String optionalAndVariadic(final @org.jetbrains.annotations.Nullable java.lang.String optional, final @org.jetbrains.annotations.NotNull java.lang.String... things) { - return this.jsiiCall("optionalAndVariadic", java.lang.String.class, java.util.stream.Stream.concat(java.util.Arrays.stream(new Object[] { optional }), java.util.Arrays.stream(things)).toArray(Object[]::new)); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DoubleTrouble.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DoubleTrouble.java deleted file mode 100644 index 5eb49d952a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/DoubleTrouble.java +++ /dev/null @@ -1,49 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DoubleTrouble") -public class DoubleTrouble extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IFriendlyRandomGenerator { - - protected DoubleTrouble(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected DoubleTrouble(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public DoubleTrouble() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * Say hello! - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String hello() { - return this.jsiiCall("hello", java.lang.String.class); - } - - /** - * Returns another random number. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.Number next() { - return this.jsiiCall("next", java.lang.Number.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/EnumDispenser.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/EnumDispenser.java deleted file mode 100644 index 77f137eb25..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/EnumDispenser.java +++ /dev/null @@ -1,34 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.EnumDispenser") -public class EnumDispenser extends software.amazon.jsii.JsiiObject { - - protected EnumDispenser(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected EnumDispenser(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.AllTypesEnum randomIntegerLikeEnum() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.EnumDispenser.class, "randomIntegerLikeEnum", software.amazon.jsii.tests.calculator.AllTypesEnum.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StringEnum randomStringLikeEnum() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.EnumDispenser.class, "randomStringLikeEnum", software.amazon.jsii.tests.calculator.StringEnum.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/EraseUndefinedHashValues.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/EraseUndefinedHashValues.java deleted file mode 100644 index cc4714b2ee..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/EraseUndefinedHashValues.java +++ /dev/null @@ -1,63 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.EraseUndefinedHashValues") -public class EraseUndefinedHashValues extends software.amazon.jsii.JsiiObject { - - protected EraseUndefinedHashValues(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected EraseUndefinedHashValues(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public EraseUndefinedHashValues() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * Returns `true` if `key` is defined in `opts`. - *

- * Used to check that undefined/null hash values - * are being erased when sending values from native code to JS. - *

- * EXPERIMENTAL - *

- * @param opts This parameter is required. - * @param key This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Boolean doesKeyExist(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.EraseUndefinedHashValuesOptions opts, final @org.jetbrains.annotations.NotNull java.lang.String key) { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.EraseUndefinedHashValues.class, "doesKeyExist", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(opts, "opts is required"), java.util.Objects.requireNonNull(key, "key is required") }); - } - - /** - * We expect "prop1" to be erased. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.util.Map prop1IsNull() { - return java.util.Collections.unmodifiableMap(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.EraseUndefinedHashValues.class, "prop1IsNull", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); - } - - /** - * We expect "prop2" to be erased. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.util.Map prop2IsUndefined() { - return java.util.Collections.unmodifiableMap(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.EraseUndefinedHashValues.class, "prop2IsUndefined", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)))); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/EraseUndefinedHashValuesOptions.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/EraseUndefinedHashValuesOptions.java deleted file mode 100644 index f975ed919a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/EraseUndefinedHashValuesOptions.java +++ /dev/null @@ -1,154 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.EraseUndefinedHashValuesOptions") -@software.amazon.jsii.Jsii.Proxy(EraseUndefinedHashValuesOptions.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface EraseUndefinedHashValuesOptions extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.String getOption1() { - return null; - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.String getOption2() { - return null; - } - - /** - * @return a {@link Builder} of {@link EraseUndefinedHashValuesOptions} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link EraseUndefinedHashValuesOptions} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String option1; - private java.lang.String option2; - - /** - * Sets the value of {@link EraseUndefinedHashValuesOptions#getOption1} - * @param option1 the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder option1(java.lang.String option1) { - this.option1 = option1; - return this; - } - - /** - * Sets the value of {@link EraseUndefinedHashValuesOptions#getOption2} - * @param option2 the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder option2(java.lang.String option2) { - this.option2 = option2; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link EraseUndefinedHashValuesOptions} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public EraseUndefinedHashValuesOptions build() { - return new Jsii$Proxy(option1, option2); - } - } - - /** - * An implementation for {@link EraseUndefinedHashValuesOptions} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements EraseUndefinedHashValuesOptions { - private final java.lang.String option1; - private final java.lang.String option2; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.option1 = this.jsiiGet("option1", java.lang.String.class); - this.option2 = this.jsiiGet("option2", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String option1, final java.lang.String option2) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.option1 = option1; - this.option2 = option2; - } - - @Override - public java.lang.String getOption1() { - return this.option1; - } - - @Override - public java.lang.String getOption2() { - return this.option2; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - if (this.getOption1() != null) { - data.set("option1", om.valueToTree(this.getOption1())); - } - if (this.getOption2() != null) { - data.set("option2", om.valueToTree(this.getOption2())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.EraseUndefinedHashValuesOptions")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - EraseUndefinedHashValuesOptions.Jsii$Proxy that = (EraseUndefinedHashValuesOptions.Jsii$Proxy) o; - - if (this.option1 != null ? !this.option1.equals(that.option1) : that.option1 != null) return false; - return this.option2 != null ? this.option2.equals(that.option2) : that.option2 == null; - } - - @Override - public int hashCode() { - int result = this.option1 != null ? this.option1.hashCode() : 0; - result = 31 * result + (this.option2 != null ? this.option2.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExperimentalClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExperimentalClass.java deleted file mode 100644 index f2e82b1ca5..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExperimentalClass.java +++ /dev/null @@ -1,73 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ExperimentalClass") -public class ExperimentalClass extends software.amazon.jsii.JsiiObject { - - protected ExperimentalClass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ExperimentalClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param readonlyString This parameter is required. - * @param mutableNumber - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ExperimentalClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString, final @org.jetbrains.annotations.Nullable java.lang.Number mutableNumber) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, "readonlyString is required"), mutableNumber }); - } - - /** - * EXPERIMENTAL - *

- * @param readonlyString This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ExperimentalClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, "readonlyString is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void method() { - this.jsiiCall("method", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty() { - return this.jsiiGet("readonlyProperty", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { - return this.jsiiGet("mutableProperty", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { - this.jsiiSet("mutableProperty", value); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExperimentalEnum.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExperimentalEnum.java deleted file mode 100644 index f4fdd8d755..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExperimentalEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ExperimentalEnum") -public enum ExperimentalEnum { - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - OPTION_A, - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - OPTION_B, -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExperimentalStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExperimentalStruct.java deleted file mode 100644 index 64f07a9add..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExperimentalStruct.java +++ /dev/null @@ -1,117 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ExperimentalStruct") -@software.amazon.jsii.Jsii.Proxy(ExperimentalStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface ExperimentalStruct extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty(); - - /** - * @return a {@link Builder} of {@link ExperimentalStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link ExperimentalStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String readonlyProperty; - - /** - * Sets the value of {@link ExperimentalStruct#getReadonlyProperty} - * @param readonlyProperty the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder readonlyProperty(java.lang.String readonlyProperty) { - this.readonlyProperty = readonlyProperty; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link ExperimentalStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public ExperimentalStruct build() { - return new Jsii$Proxy(readonlyProperty); - } - } - - /** - * An implementation for {@link ExperimentalStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ExperimentalStruct { - private final java.lang.String readonlyProperty; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.readonlyProperty = this.jsiiGet("readonlyProperty", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String readonlyProperty) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.readonlyProperty = java.util.Objects.requireNonNull(readonlyProperty, "readonlyProperty is required"); - } - - @Override - public java.lang.String getReadonlyProperty() { - return this.readonlyProperty; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("readonlyProperty", om.valueToTree(this.getReadonlyProperty())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.ExperimentalStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - ExperimentalStruct.Jsii$Proxy that = (ExperimentalStruct.Jsii$Proxy) o; - - return this.readonlyProperty.equals(that.readonlyProperty); - } - - @Override - public int hashCode() { - int result = this.readonlyProperty.hashCode(); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExportedBaseClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExportedBaseClass.java deleted file mode 100644 index aa3ab4a33b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExportedBaseClass.java +++ /dev/null @@ -1,37 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ExportedBaseClass") -public class ExportedBaseClass extends software.amazon.jsii.JsiiObject { - - protected ExportedBaseClass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ExportedBaseClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param success This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ExportedBaseClass(final @org.jetbrains.annotations.NotNull java.lang.Boolean success) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(success, "success is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean getSuccess() { - return this.jsiiGet("success", java.lang.Boolean.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExtendsInternalInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExtendsInternalInterface.java deleted file mode 100644 index 5d96319c59..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExtendsInternalInterface.java +++ /dev/null @@ -1,146 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ExtendsInternalInterface") -@software.amazon.jsii.Jsii.Proxy(ExtendsInternalInterface.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface ExtendsInternalInterface extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Boolean getBoom(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getProp(); - - /** - * @return a {@link Builder} of {@link ExtendsInternalInterface} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link ExtendsInternalInterface} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.Boolean boom; - private java.lang.String prop; - - /** - * Sets the value of {@link ExtendsInternalInterface#getBoom} - * @param boom the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder boom(java.lang.Boolean boom) { - this.boom = boom; - return this; - } - - /** - * Sets the value of {@link ExtendsInternalInterface#getProp} - * @param prop the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder prop(java.lang.String prop) { - this.prop = prop; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link ExtendsInternalInterface} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public ExtendsInternalInterface build() { - return new Jsii$Proxy(boom, prop); - } - } - - /** - * An implementation for {@link ExtendsInternalInterface} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ExtendsInternalInterface { - private final java.lang.Boolean boom; - private final java.lang.String prop; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.boom = this.jsiiGet("boom", java.lang.Boolean.class); - this.prop = this.jsiiGet("prop", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.Boolean boom, final java.lang.String prop) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.boom = java.util.Objects.requireNonNull(boom, "boom is required"); - this.prop = java.util.Objects.requireNonNull(prop, "prop is required"); - } - - @Override - public java.lang.Boolean getBoom() { - return this.boom; - } - - @Override - public java.lang.String getProp() { - return this.prop; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("boom", om.valueToTree(this.getBoom())); - data.set("prop", om.valueToTree(this.getProp())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.ExtendsInternalInterface")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - ExtendsInternalInterface.Jsii$Proxy that = (ExtendsInternalInterface.Jsii$Proxy) o; - - if (!boom.equals(that.boom)) return false; - return this.prop.equals(that.prop); - } - - @Override - public int hashCode() { - int result = this.boom.hashCode(); - result = 31 * result + (this.prop.hashCode()); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExternalClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExternalClass.java deleted file mode 100644 index 926247f8ec..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExternalClass.java +++ /dev/null @@ -1,73 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ExternalClass") -public class ExternalClass extends software.amazon.jsii.JsiiObject { - - protected ExternalClass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ExternalClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param readonlyString This parameter is required. - * @param mutableNumber - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ExternalClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString, final @org.jetbrains.annotations.Nullable java.lang.Number mutableNumber) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, "readonlyString is required"), mutableNumber }); - } - - /** - * EXPERIMENTAL - *

- * @param readonlyString This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ExternalClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, "readonlyString is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void method() { - this.jsiiCall("method", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty() { - return this.jsiiGet("readonlyProperty", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { - return this.jsiiGet("mutableProperty", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { - this.jsiiSet("mutableProperty", value); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExternalEnum.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExternalEnum.java deleted file mode 100644 index f41fc89e8c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExternalEnum.java +++ /dev/null @@ -1,20 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ExternalEnum") -public enum ExternalEnum { - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - OPTION_A, - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - OPTION_B, -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExternalStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExternalStruct.java deleted file mode 100644 index a284bf7b15..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ExternalStruct.java +++ /dev/null @@ -1,117 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ExternalStruct") -@software.amazon.jsii.Jsii.Proxy(ExternalStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface ExternalStruct extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty(); - - /** - * @return a {@link Builder} of {@link ExternalStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link ExternalStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String readonlyProperty; - - /** - * Sets the value of {@link ExternalStruct#getReadonlyProperty} - * @param readonlyProperty the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder readonlyProperty(java.lang.String readonlyProperty) { - this.readonlyProperty = readonlyProperty; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link ExternalStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public ExternalStruct build() { - return new Jsii$Proxy(readonlyProperty); - } - } - - /** - * An implementation for {@link ExternalStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ExternalStruct { - private final java.lang.String readonlyProperty; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.readonlyProperty = this.jsiiGet("readonlyProperty", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String readonlyProperty) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.readonlyProperty = java.util.Objects.requireNonNull(readonlyProperty, "readonlyProperty is required"); - } - - @Override - public java.lang.String getReadonlyProperty() { - return this.readonlyProperty; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("readonlyProperty", om.valueToTree(this.getReadonlyProperty())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.ExternalStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - ExternalStruct.Jsii$Proxy that = (ExternalStruct.Jsii$Proxy) o; - - return this.readonlyProperty.equals(that.readonlyProperty); - } - - @Override - public int hashCode() { - int result = this.readonlyProperty.hashCode(); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/GiveMeStructs.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/GiveMeStructs.java deleted file mode 100644 index 6b075dc043..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/GiveMeStructs.java +++ /dev/null @@ -1,71 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.GiveMeStructs") -public class GiveMeStructs extends software.amazon.jsii.JsiiObject { - - protected GiveMeStructs(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected GiveMeStructs(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public GiveMeStructs() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * Accepts a struct of type DerivedStruct and returns a struct of type FirstStruct. - *

- * EXPERIMENTAL - *

- * @param derived This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.MyFirstStruct derivedToFirst(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.DerivedStruct derived) { - return this.jsiiCall("derivedToFirst", software.amazon.jsii.tests.calculator.lib.MyFirstStruct.class, new Object[] { java.util.Objects.requireNonNull(derived, "derived is required") }); - } - - /** - * Returns the boolean from a DerivedStruct struct. - *

- * EXPERIMENTAL - *

- * @param derived This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.DoubleTrouble readDerivedNonPrimitive(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.DerivedStruct derived) { - return this.jsiiCall("readDerivedNonPrimitive", software.amazon.jsii.tests.calculator.DoubleTrouble.class, new Object[] { java.util.Objects.requireNonNull(derived, "derived is required") }); - } - - /** - * Returns the "anumber" from a MyFirstStruct struct; - *

- * EXPERIMENTAL - *

- * @param first This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number readFirstNumber(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.MyFirstStruct first) { - return this.jsiiCall("readFirstNumber", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(first, "first is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.StructWithOnlyOptionals getStructLiteral() { - return this.jsiiGet("structLiteral", software.amazon.jsii.tests.calculator.lib.StructWithOnlyOptionals.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Greetee.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Greetee.java deleted file mode 100644 index a4bbba4f7f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Greetee.java +++ /dev/null @@ -1,127 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * These are some arguments you can pass to a method. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Greetee") -@software.amazon.jsii.Jsii.Proxy(Greetee.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface Greetee extends software.amazon.jsii.JsiiSerializable { - - /** - * The name of the greetee. - *

- * Default: world - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.String getName() { - return null; - } - - /** - * @return a {@link Builder} of {@link Greetee} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link Greetee} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String name; - - /** - * Sets the value of {@link Greetee#getName} - * @param name The name of the greetee. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder name(java.lang.String name) { - this.name = name; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link Greetee} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public Greetee build() { - return new Jsii$Proxy(name); - } - } - - /** - * An implementation for {@link Greetee} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements Greetee { - private final java.lang.String name; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.name = this.jsiiGet("name", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String name) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.name = name; - } - - @Override - public java.lang.String getName() { - return this.name; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - if (this.getName() != null) { - data.set("name", om.valueToTree(this.getName())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.Greetee")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - Greetee.Jsii$Proxy that = (Greetee.Jsii$Proxy) o; - - return this.name != null ? this.name.equals(that.name) : that.name == null; - } - - @Override - public int hashCode() { - int result = this.name != null ? this.name.hashCode() : 0; - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/GreetingAugmenter.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/GreetingAugmenter.java deleted file mode 100644 index 0c33bf9431..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/GreetingAugmenter.java +++ /dev/null @@ -1,37 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.GreetingAugmenter") -public class GreetingAugmenter extends software.amazon.jsii.JsiiObject { - - protected GreetingAugmenter(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected GreetingAugmenter(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public GreetingAugmenter() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param friendly This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String betterGreeting(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.IFriendly friendly) { - return this.jsiiCall("betterGreeting", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(friendly, "friendly is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IAnonymousImplementationProvider.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IAnonymousImplementationProvider.java deleted file mode 100644 index 56ded56652..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IAnonymousImplementationProvider.java +++ /dev/null @@ -1,52 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * We can return an anonymous interface implementation from an override without losing the interface declarations. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IAnonymousImplementationProvider") -@software.amazon.jsii.Jsii.Proxy(IAnonymousImplementationProvider.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IAnonymousImplementationProvider extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Implementation provideAsClass(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IAnonymouslyImplementMe provideAsInterface(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IAnonymousImplementationProvider { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Implementation provideAsClass() { - return this.jsiiCall("provideAsClass", software.amazon.jsii.tests.calculator.Implementation.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IAnonymouslyImplementMe provideAsInterface() { - return this.jsiiCall("provideAsInterface", software.amazon.jsii.tests.calculator.IAnonymouslyImplementMe.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IAnonymouslyImplementMe.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IAnonymouslyImplementMe.java deleted file mode 100644 index 06a8760603..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IAnonymouslyImplementMe.java +++ /dev/null @@ -1,50 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IAnonymouslyImplementMe") -@software.amazon.jsii.Jsii.Proxy(IAnonymouslyImplementMe.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IAnonymouslyImplementMe extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Number getValue(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String verb(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IAnonymouslyImplementMe { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { - return this.jsiiGet("value", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String verb() { - return this.jsiiCall("verb", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IAnotherPublicInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IAnotherPublicInterface.java deleted file mode 100644 index 24df9c1f7e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IAnotherPublicInterface.java +++ /dev/null @@ -1,49 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IAnotherPublicInterface") -@software.amazon.jsii.Jsii.Proxy(IAnotherPublicInterface.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IAnotherPublicInterface extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getA(); - - /** - * EXPERIMENTAL - */ - void setA(final @org.jetbrains.annotations.NotNull java.lang.String value); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IAnotherPublicInterface { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getA() { - return this.jsiiGet("a", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setA(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("a", java.util.Objects.requireNonNull(value, "a is required")); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IBell.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IBell.java deleted file mode 100644 index f393b3b3d9..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IBell.java +++ /dev/null @@ -1,35 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IBell") -@software.amazon.jsii.Jsii.Proxy(IBell.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IBell extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - void ring(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IBell { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void ring() { - this.jsiiCall("ring", software.amazon.jsii.NativeType.VOID); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IBellRinger.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IBellRinger.java deleted file mode 100644 index 2e022ab157..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IBellRinger.java +++ /dev/null @@ -1,41 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Takes the object parameter as an interface. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IBellRinger") -@software.amazon.jsii.Jsii.Proxy(IBellRinger.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IBellRinger extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - *

- * @param bell This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - void yourTurn(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBell bell); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IBellRinger { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - *

- * @param bell This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void yourTurn(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IBell bell) { - this.jsiiCall("yourTurn", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(bell, "bell is required") }); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IConcreteBellRinger.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IConcreteBellRinger.java deleted file mode 100644 index 33f277235c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IConcreteBellRinger.java +++ /dev/null @@ -1,41 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Takes the object parameter as a calss. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IConcreteBellRinger") -@software.amazon.jsii.Jsii.Proxy(IConcreteBellRinger.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IConcreteBellRinger extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - *

- * @param bell This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - void yourTurn(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Bell bell); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IConcreteBellRinger { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - *

- * @param bell This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void yourTurn(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Bell bell) { - this.jsiiCall("yourTurn", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(bell, "bell is required") }); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IDeprecatedInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IDeprecatedInterface.java deleted file mode 100644 index e21e8f6b01..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IDeprecatedInterface.java +++ /dev/null @@ -1,75 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * @deprecated useless interface - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IDeprecatedInterface") -@software.amazon.jsii.Jsii.Proxy(IDeprecatedInterface.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -public interface IDeprecatedInterface extends software.amazon.jsii.JsiiSerializable { - - /** - * @deprecated could be better - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - default @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { - return null; - } - - /** - * @deprecated could be better - */ - @software.amazon.jsii.Optional - default void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { - throw new UnsupportedOperationException("'void " + getClass().getCanonicalName() + "#setMutableProperty(@org.jetbrains.annotations.Nullable java.lang.Number)' is not implemented!"); - } - - /** - * @deprecated services no purpose - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - void method(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IDeprecatedInterface { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * @deprecated could be better - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { - return this.jsiiGet("mutableProperty", java.lang.Number.class); - } - - /** - * @deprecated could be better - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { - this.jsiiSet("mutableProperty", value); - } - - /** - * @deprecated services no purpose - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public void method() { - this.jsiiCall("method", software.amazon.jsii.NativeType.VOID); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IExperimentalInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IExperimentalInterface.java deleted file mode 100644 index 0275bc94ce..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IExperimentalInterface.java +++ /dev/null @@ -1,69 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IExperimentalInterface") -@software.amazon.jsii.Jsii.Proxy(IExperimentalInterface.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IExperimentalInterface extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { - return null; - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Optional - default void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { - throw new UnsupportedOperationException("'void " + getClass().getCanonicalName() + "#setMutableProperty(@org.jetbrains.annotations.Nullable java.lang.Number)' is not implemented!"); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - void method(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IExperimentalInterface { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { - return this.jsiiGet("mutableProperty", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { - this.jsiiSet("mutableProperty", value); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void method() { - this.jsiiCall("method", software.amazon.jsii.NativeType.VOID); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IExtendsPrivateInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IExtendsPrivateInterface.java deleted file mode 100644 index f42620283e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IExtendsPrivateInterface.java +++ /dev/null @@ -1,64 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IExtendsPrivateInterface") -@software.amazon.jsii.Jsii.Proxy(IExtendsPrivateInterface.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IExtendsPrivateInterface extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.util.List getMoreThings(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getPrivateValue(); - - /** - * EXPERIMENTAL - */ - void setPrivateValue(final @org.jetbrains.annotations.NotNull java.lang.String value); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IExtendsPrivateInterface { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.List getMoreThings() { - return java.util.Collections.unmodifiableList(this.jsiiGet("moreThings", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getPrivateValue() { - return this.jsiiGet("private", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setPrivateValue(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("private", java.util.Objects.requireNonNull(value, "private is required")); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IExternalInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IExternalInterface.java deleted file mode 100644 index 4b1d89da40..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IExternalInterface.java +++ /dev/null @@ -1,69 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IExternalInterface") -@software.amazon.jsii.Jsii.Proxy(IExternalInterface.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IExternalInterface extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { - return null; - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Optional - default void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { - throw new UnsupportedOperationException("'void " + getClass().getCanonicalName() + "#setMutableProperty(@org.jetbrains.annotations.Nullable java.lang.Number)' is not implemented!"); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - void method(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IExternalInterface { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { - return this.jsiiGet("mutableProperty", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { - this.jsiiSet("mutableProperty", value); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void method() { - this.jsiiCall("method", software.amazon.jsii.NativeType.VOID); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IFriendlier.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IFriendlier.java deleted file mode 100644 index 53b6126f04..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IFriendlier.java +++ /dev/null @@ -1,74 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Even friendlier classes can implement this interface. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IFriendlier") -@software.amazon.jsii.Jsii.Proxy(IFriendlier.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IFriendlier extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.lib.IFriendly { - - /** - * Say farewell. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String farewell(); - - /** - * Say goodbye. - *

- * EXPERIMENTAL - *

- * @return A goodbye blessing. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String goodbye(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IFriendlier { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * Say farewell. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String farewell() { - return this.jsiiCall("farewell", java.lang.String.class); - } - - /** - * Say goodbye. - *

- * EXPERIMENTAL - *

- * @return A goodbye blessing. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String goodbye() { - return this.jsiiCall("goodbye", java.lang.String.class); - } - - /** - * Say hello! - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public @org.jetbrains.annotations.NotNull java.lang.String hello() { - return this.jsiiCall("hello", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IFriendlyRandomGenerator.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IFriendlyRandomGenerator.java deleted file mode 100644 index a900844e57..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IFriendlyRandomGenerator.java +++ /dev/null @@ -1,43 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IFriendlyRandomGenerator") -@software.amazon.jsii.Jsii.Proxy(IFriendlyRandomGenerator.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IFriendlyRandomGenerator extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.IRandomNumberGenerator, software.amazon.jsii.tests.calculator.lib.IFriendly { - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IFriendlyRandomGenerator { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * Returns another random number. - *

- * EXPERIMENTAL - *

- * @return A random number. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.Number next() { - return this.jsiiCall("next", java.lang.Number.class); - } - - /** - * Say hello! - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public @org.jetbrains.annotations.NotNull java.lang.String hello() { - return this.jsiiCall("hello", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceImplementedByAbstractClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceImplementedByAbstractClass.java deleted file mode 100644 index d1694f02e4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceImplementedByAbstractClass.java +++ /dev/null @@ -1,37 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * awslabs/jsii#220 Abstract return type. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IInterfaceImplementedByAbstractClass") -@software.amazon.jsii.Jsii.Proxy(IInterfaceImplementedByAbstractClass.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IInterfaceImplementedByAbstractClass extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getPropFromInterface(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceImplementedByAbstractClass { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getPropFromInterface() { - return this.jsiiGet("propFromInterface", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceThatShouldNotBeADataType.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceThatShouldNotBeADataType.java deleted file mode 100644 index 2ea770a360..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceThatShouldNotBeADataType.java +++ /dev/null @@ -1,55 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Even though this interface has only properties, it is disqualified from being a datatype because it inherits from an interface that is not a datatype. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IInterfaceThatShouldNotBeADataType") -@software.amazon.jsii.Jsii.Proxy(IInterfaceThatShouldNotBeADataType.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IInterfaceThatShouldNotBeADataType extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.IInterfaceWithMethods { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getOtherValue(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceThatShouldNotBeADataType { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getOtherValue() { - return this.jsiiGet("otherValue", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getValue() { - return this.jsiiGet("value", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void doThings() { - this.jsiiCall("doThings", software.amazon.jsii.NativeType.VOID); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithInternal.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithInternal.java deleted file mode 100644 index 9c94f424f3..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithInternal.java +++ /dev/null @@ -1,35 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IInterfaceWithInternal") -@software.amazon.jsii.Jsii.Proxy(IInterfaceWithInternal.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IInterfaceWithInternal extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - void visible(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceWithInternal { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void visible() { - this.jsiiCall("visible", software.amazon.jsii.NativeType.VOID); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithMethods.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithMethods.java deleted file mode 100644 index a06c61e818..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithMethods.java +++ /dev/null @@ -1,50 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IInterfaceWithMethods") -@software.amazon.jsii.Jsii.Proxy(IInterfaceWithMethods.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IInterfaceWithMethods extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getValue(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - void doThings(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceWithMethods { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getValue() { - return this.jsiiGet("value", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void doThings() { - this.jsiiCall("doThings", software.amazon.jsii.NativeType.VOID); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithOptionalMethodArguments.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithOptionalMethodArguments.java deleted file mode 100644 index 9df417e6e1..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithOptionalMethodArguments.java +++ /dev/null @@ -1,62 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * awslabs/jsii#175 Interface proxies (and builders) do not respect optional arguments in methods. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IInterfaceWithOptionalMethodArguments") -@software.amazon.jsii.Jsii.Proxy(IInterfaceWithOptionalMethodArguments.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IInterfaceWithOptionalMethodArguments extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - *

- * @param arg1 This parameter is required. - * @param arg2 - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - void hello(final @org.jetbrains.annotations.NotNull java.lang.String arg1, final @org.jetbrains.annotations.Nullable java.lang.Number arg2); - - /** - * EXPERIMENTAL - *

- * @param arg1 This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - void hello(final @org.jetbrains.annotations.NotNull java.lang.String arg1); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceWithOptionalMethodArguments { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - *

- * @param arg1 This parameter is required. - * @param arg2 - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void hello(final @org.jetbrains.annotations.NotNull java.lang.String arg1, final @org.jetbrains.annotations.Nullable java.lang.Number arg2) { - this.jsiiCall("hello", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(arg1, "arg1 is required"), arg2 }); - } - - /** - * EXPERIMENTAL - *

- * @param arg1 This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void hello(final @org.jetbrains.annotations.NotNull java.lang.String arg1) { - this.jsiiCall("hello", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(arg1, "arg1 is required") }); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithProperties.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithProperties.java deleted file mode 100644 index b076c29f7d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithProperties.java +++ /dev/null @@ -1,64 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IInterfaceWithProperties") -@software.amazon.jsii.Jsii.Proxy(IInterfaceWithProperties.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IInterfaceWithProperties extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getReadOnlyString(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getReadWriteString(); - - /** - * EXPERIMENTAL - */ - void setReadWriteString(final @org.jetbrains.annotations.NotNull java.lang.String value); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceWithProperties { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getReadOnlyString() { - return this.jsiiGet("readOnlyString", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getReadWriteString() { - return this.jsiiGet("readWriteString", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setReadWriteString(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("readWriteString", java.util.Objects.requireNonNull(value, "readWriteString is required")); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithPropertiesExtension.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithPropertiesExtension.java deleted file mode 100644 index 77a23479f5..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IInterfaceWithPropertiesExtension.java +++ /dev/null @@ -1,76 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IInterfaceWithPropertiesExtension") -@software.amazon.jsii.Jsii.Proxy(IInterfaceWithPropertiesExtension.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IInterfaceWithPropertiesExtension extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.IInterfaceWithProperties { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Number getFoo(); - - /** - * EXPERIMENTAL - */ - void setFoo(final @org.jetbrains.annotations.NotNull java.lang.Number value); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceWithPropertiesExtension { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getFoo() { - return this.jsiiGet("foo", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setFoo(final @org.jetbrains.annotations.NotNull java.lang.Number value) { - this.jsiiSet("foo", java.util.Objects.requireNonNull(value, "foo is required")); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getReadOnlyString() { - return this.jsiiGet("readOnlyString", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getReadWriteString() { - return this.jsiiGet("readWriteString", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setReadWriteString(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("readWriteString", java.util.Objects.requireNonNull(value, "readWriteString is required")); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJSII417Derived.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJSII417Derived.java deleted file mode 100644 index 54ba7132dc..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJSII417Derived.java +++ /dev/null @@ -1,83 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IJSII417Derived") -@software.amazon.jsii.Jsii.Proxy(IJSII417Derived.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IJSII417Derived extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.IJSII417PublicBaseOfBase { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getProperty(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - void bar(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - void baz(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IJSII417Derived { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getProperty() { - return this.jsiiGet("property", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean getHasRoot() { - return this.jsiiGet("hasRoot", java.lang.Boolean.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void bar() { - this.jsiiCall("bar", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void baz() { - this.jsiiCall("baz", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void foo() { - this.jsiiCall("foo", software.amazon.jsii.NativeType.VOID); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJSII417PublicBaseOfBase.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJSII417PublicBaseOfBase.java deleted file mode 100644 index 2c6820d81d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJSII417PublicBaseOfBase.java +++ /dev/null @@ -1,50 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IJSII417PublicBaseOfBase") -@software.amazon.jsii.Jsii.Proxy(IJSII417PublicBaseOfBase.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IJSII417PublicBaseOfBase extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Boolean getHasRoot(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - void foo(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IJSII417PublicBaseOfBase { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean getHasRoot() { - return this.jsiiGet("hasRoot", java.lang.Boolean.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void foo() { - this.jsiiCall("foo", software.amazon.jsii.NativeType.VOID); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJsii487External.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJsii487External.java deleted file mode 100644 index 7cde89a598..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJsii487External.java +++ /dev/null @@ -1,20 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IJsii487External") -@software.amazon.jsii.Jsii.Proxy(IJsii487External.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IJsii487External extends software.amazon.jsii.JsiiSerializable { - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IJsii487External { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJsii487External2.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJsii487External2.java deleted file mode 100644 index 8bc93504a3..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJsii487External2.java +++ /dev/null @@ -1,20 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IJsii487External2") -@software.amazon.jsii.Jsii.Proxy(IJsii487External2.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IJsii487External2 extends software.amazon.jsii.JsiiSerializable { - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IJsii487External2 { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJsii496.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJsii496.java deleted file mode 100644 index e460b03bc6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IJsii496.java +++ /dev/null @@ -1,20 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IJsii496") -@software.amazon.jsii.Jsii.Proxy(IJsii496.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IJsii496 extends software.amazon.jsii.JsiiSerializable { - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IJsii496 { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IMutableObjectLiteral.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IMutableObjectLiteral.java deleted file mode 100644 index c586b60c1a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IMutableObjectLiteral.java +++ /dev/null @@ -1,49 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IMutableObjectLiteral") -@software.amazon.jsii.Jsii.Proxy(IMutableObjectLiteral.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IMutableObjectLiteral extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getValue(); - - /** - * EXPERIMENTAL - */ - void setValue(final @org.jetbrains.annotations.NotNull java.lang.String value); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IMutableObjectLiteral { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getValue() { - return this.jsiiGet("value", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setValue(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("value", java.util.Objects.requireNonNull(value, "value is required")); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/INonInternalInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/INonInternalInterface.java deleted file mode 100644 index 0eeeddc90b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/INonInternalInterface.java +++ /dev/null @@ -1,96 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.INonInternalInterface") -@software.amazon.jsii.Jsii.Proxy(INonInternalInterface.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface INonInternalInterface extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.IAnotherPublicInterface { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getB(); - - /** - * EXPERIMENTAL - */ - void setB(final @org.jetbrains.annotations.NotNull java.lang.String value); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getC(); - - /** - * EXPERIMENTAL - */ - void setC(final @org.jetbrains.annotations.NotNull java.lang.String value); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.INonInternalInterface { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getB() { - return this.jsiiGet("b", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setB(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("b", java.util.Objects.requireNonNull(value, "b is required")); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getC() { - return this.jsiiGet("c", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setC(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("c", java.util.Objects.requireNonNull(value, "c is required")); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getA() { - return this.jsiiGet("a", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setA(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("a", java.util.Objects.requireNonNull(value, "a is required")); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IObjectWithProperty.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IObjectWithProperty.java deleted file mode 100644 index 52858a88d7..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IObjectWithProperty.java +++ /dev/null @@ -1,66 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Make sure that setters are properly called on objects with interfaces. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IObjectWithProperty") -@software.amazon.jsii.Jsii.Proxy(IObjectWithProperty.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IObjectWithProperty extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getProperty(); - - /** - * EXPERIMENTAL - */ - void setProperty(final @org.jetbrains.annotations.NotNull java.lang.String value); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Boolean wasSet(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IObjectWithProperty { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getProperty() { - return this.jsiiGet("property", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("property", java.util.Objects.requireNonNull(value, "property is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.Boolean wasSet() { - return this.jsiiCall("wasSet", java.lang.Boolean.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IOptionalMethod.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IOptionalMethod.java deleted file mode 100644 index f84d3541fb..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IOptionalMethod.java +++ /dev/null @@ -1,37 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Checks that optional result from interface method code generates correctly. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IOptionalMethod") -@software.amazon.jsii.Jsii.Proxy(IOptionalMethod.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IOptionalMethod extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.Nullable java.lang.String optional(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IOptionalMethod { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.Nullable java.lang.String optional() { - return this.jsiiCall("optional", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IPrivatelyImplemented.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IPrivatelyImplemented.java deleted file mode 100644 index 05e1101d39..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IPrivatelyImplemented.java +++ /dev/null @@ -1,35 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IPrivatelyImplemented") -@software.amazon.jsii.Jsii.Proxy(IPrivatelyImplemented.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IPrivatelyImplemented extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Boolean getSuccess(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IPrivatelyImplemented { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean getSuccess() { - return this.jsiiGet("success", java.lang.Boolean.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IPublicInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IPublicInterface.java deleted file mode 100644 index adf477fa24..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IPublicInterface.java +++ /dev/null @@ -1,35 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IPublicInterface") -@software.amazon.jsii.Jsii.Proxy(IPublicInterface.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IPublicInterface extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String bye(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IPublicInterface { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String bye() { - return this.jsiiCall("bye", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IPublicInterface2.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IPublicInterface2.java deleted file mode 100644 index a206803a86..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IPublicInterface2.java +++ /dev/null @@ -1,35 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IPublicInterface2") -@software.amazon.jsii.Jsii.Proxy(IPublicInterface2.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IPublicInterface2 extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String ciao(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IPublicInterface2 { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String ciao() { - return this.jsiiCall("ciao", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IRandomNumberGenerator.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IRandomNumberGenerator.java deleted file mode 100644 index c80bd318c8..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IRandomNumberGenerator.java +++ /dev/null @@ -1,45 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Generates random numbers. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IRandomNumberGenerator") -@software.amazon.jsii.Jsii.Proxy(IRandomNumberGenerator.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IRandomNumberGenerator extends software.amazon.jsii.JsiiSerializable { - - /** - * Returns another random number. - *

- * EXPERIMENTAL - *

- * @return A random number. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Number next(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IRandomNumberGenerator { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * Returns another random number. - *

- * EXPERIMENTAL - *

- * @return A random number. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.Number next() { - return this.jsiiCall("next", java.lang.Number.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IReturnJsii976.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IReturnJsii976.java deleted file mode 100644 index cebf6f3a30..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IReturnJsii976.java +++ /dev/null @@ -1,37 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Returns a subclass of a known class which implements an interface. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IReturnJsii976") -@software.amazon.jsii.Jsii.Proxy(IReturnJsii976.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IReturnJsii976 extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Number getFoo(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IReturnJsii976 { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getFoo() { - return this.jsiiGet("foo", java.lang.Number.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IReturnsNumber.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IReturnsNumber.java deleted file mode 100644 index 0ed94b4e90..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IReturnsNumber.java +++ /dev/null @@ -1,50 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IReturnsNumber") -@software.amazon.jsii.Jsii.Proxy(IReturnsNumber.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IReturnsNumber extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Number getNumberProp(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.IDoublable obtainNumber(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IReturnsNumber { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Number getNumberProp() { - return this.jsiiGet("numberProp", software.amazon.jsii.tests.calculator.lib.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.IDoublable obtainNumber() { - return this.jsiiCall("obtainNumber", software.amazon.jsii.tests.calculator.lib.IDoublable.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IStableInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IStableInterface.java deleted file mode 100644 index 156691d894..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IStableInterface.java +++ /dev/null @@ -1,62 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IStableInterface") -@software.amazon.jsii.Jsii.Proxy(IStableInterface.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) -public interface IStableInterface extends software.amazon.jsii.JsiiSerializable { - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - default @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { - return null; - } - - /** - */ - @software.amazon.jsii.Optional - default void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { - throw new UnsupportedOperationException("'void " + getClass().getCanonicalName() + "#setMutableProperty(@org.jetbrains.annotations.Nullable java.lang.Number)' is not implemented!"); - } - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - void method(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IStableInterface { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { - return this.jsiiGet("mutableProperty", java.lang.Number.class); - } - - /** - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { - this.jsiiSet("mutableProperty", value); - } - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - @Override - public void method() { - this.jsiiCall("method", software.amazon.jsii.NativeType.VOID); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IStructReturningDelegate.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IStructReturningDelegate.java deleted file mode 100644 index 9636fde34c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/IStructReturningDelegate.java +++ /dev/null @@ -1,37 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Verifies that a "pure" implementation of an interface works correctly. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.IStructReturningDelegate") -@software.amazon.jsii.Jsii.Proxy(IStructReturningDelegate.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IStructReturningDelegate extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StructB returnStruct(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IStructReturningDelegate { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.StructB returnStruct() { - return this.jsiiCall("returnStruct", software.amazon.jsii.tests.calculator.StructB.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplementInternalInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplementInternalInterface.java deleted file mode 100644 index b18386649b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplementInternalInterface.java +++ /dev/null @@ -1,43 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ImplementInternalInterface") -public class ImplementInternalInterface extends software.amazon.jsii.JsiiObject { - - protected ImplementInternalInterface(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ImplementInternalInterface(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ImplementInternalInterface() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getProp() { - return this.jsiiGet("prop", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setProp(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("prop", java.util.Objects.requireNonNull(value, "prop is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Implementation.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Implementation.java deleted file mode 100644 index 81e89c590a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Implementation.java +++ /dev/null @@ -1,35 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Implementation") -public class Implementation extends software.amazon.jsii.JsiiObject { - - protected Implementation(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Implementation(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Implementation() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { - return this.jsiiGet("value", java.lang.Number.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplementsInterfaceWithInternal.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplementsInterfaceWithInternal.java deleted file mode 100644 index 51368d83cc..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplementsInterfaceWithInternal.java +++ /dev/null @@ -1,36 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ImplementsInterfaceWithInternal") -public class ImplementsInterfaceWithInternal extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IInterfaceWithInternal { - - protected ImplementsInterfaceWithInternal(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ImplementsInterfaceWithInternal(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ImplementsInterfaceWithInternal() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public void visible() { - this.jsiiCall("visible", software.amazon.jsii.NativeType.VOID); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplementsInterfaceWithInternalSubclass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplementsInterfaceWithInternalSubclass.java deleted file mode 100644 index 820b94f353..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplementsInterfaceWithInternalSubclass.java +++ /dev/null @@ -1,27 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ImplementsInterfaceWithInternalSubclass") -public class ImplementsInterfaceWithInternalSubclass extends software.amazon.jsii.tests.calculator.ImplementsInterfaceWithInternal { - - protected ImplementsInterfaceWithInternalSubclass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ImplementsInterfaceWithInternalSubclass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ImplementsInterfaceWithInternalSubclass() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplementsPrivateInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplementsPrivateInterface.java deleted file mode 100644 index f31397a1d5..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplementsPrivateInterface.java +++ /dev/null @@ -1,43 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ImplementsPrivateInterface") -public class ImplementsPrivateInterface extends software.amazon.jsii.JsiiObject { - - protected ImplementsPrivateInterface(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ImplementsPrivateInterface(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ImplementsPrivateInterface() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getPrivateValue() { - return this.jsiiGet("private", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setPrivateValue(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("private", java.util.Objects.requireNonNull(value, "private is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplictBaseOfBase.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplictBaseOfBase.java deleted file mode 100644 index 78a26aa386..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ImplictBaseOfBase.java +++ /dev/null @@ -1,161 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ImplictBaseOfBase") -@software.amazon.jsii.Jsii.Proxy(ImplictBaseOfBase.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface ImplictBaseOfBase extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.base.BaseProps { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.time.Instant getGoo(); - - /** - * @return a {@link Builder} of {@link ImplictBaseOfBase} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link ImplictBaseOfBase} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.time.Instant goo; - private java.lang.String bar; - private software.amazon.jsii.tests.calculator.baseofbase.Very foo; - - /** - * Sets the value of {@link ImplictBaseOfBase#getGoo} - * @param goo the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder goo(java.time.Instant goo) { - this.goo = goo; - return this; - } - - /** - * Sets the value of {@link ImplictBaseOfBase#getBar} - * @param bar the value to be set. This parameter is required. - * @return {@code this} - */ - public Builder bar(java.lang.String bar) { - this.bar = bar; - return this; - } - - /** - * Sets the value of {@link ImplictBaseOfBase#getFoo} - * @param foo the value to be set. This parameter is required. - * @return {@code this} - */ - public Builder foo(software.amazon.jsii.tests.calculator.baseofbase.Very foo) { - this.foo = foo; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link ImplictBaseOfBase} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public ImplictBaseOfBase build() { - return new Jsii$Proxy(goo, bar, foo); - } - } - - /** - * An implementation for {@link ImplictBaseOfBase} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ImplictBaseOfBase { - private final java.time.Instant goo; - private final java.lang.String bar; - private final software.amazon.jsii.tests.calculator.baseofbase.Very foo; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.goo = this.jsiiGet("goo", java.time.Instant.class); - this.bar = this.jsiiGet("bar", java.lang.String.class); - this.foo = this.jsiiGet("foo", software.amazon.jsii.tests.calculator.baseofbase.Very.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.time.Instant goo, final java.lang.String bar, final software.amazon.jsii.tests.calculator.baseofbase.Very foo) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.goo = java.util.Objects.requireNonNull(goo, "goo is required"); - this.bar = java.util.Objects.requireNonNull(bar, "bar is required"); - this.foo = java.util.Objects.requireNonNull(foo, "foo is required"); - } - - @Override - public java.time.Instant getGoo() { - return this.goo; - } - - @Override - public java.lang.String getBar() { - return this.bar; - } - - @Override - public software.amazon.jsii.tests.calculator.baseofbase.Very getFoo() { - return this.foo; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("goo", om.valueToTree(this.getGoo())); - data.set("bar", om.valueToTree(this.getBar())); - data.set("foo", om.valueToTree(this.getFoo())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.ImplictBaseOfBase")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - ImplictBaseOfBase.Jsii$Proxy that = (ImplictBaseOfBase.Jsii$Proxy) o; - - if (!goo.equals(that.goo)) return false; - if (!bar.equals(that.bar)) return false; - return this.foo.equals(that.foo); - } - - @Override - public int hashCode() { - int result = this.goo.hashCode(); - result = 31 * result + (this.bar.hashCode()); - result = 31 * result + (this.foo.hashCode()); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/InbetweenClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/InbetweenClass.java deleted file mode 100644 index bc2e542475..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/InbetweenClass.java +++ /dev/null @@ -1,36 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.InbetweenClass") -public class InbetweenClass extends software.amazon.jsii.tests.calculator.PublicClass implements software.amazon.jsii.tests.calculator.IPublicInterface2 { - - protected InbetweenClass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected InbetweenClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public InbetweenClass() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String ciao() { - return this.jsiiCall("ciao", java.lang.String.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/InterfaceCollections.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/InterfaceCollections.java deleted file mode 100644 index 6eb438dc1e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/InterfaceCollections.java +++ /dev/null @@ -1,54 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Verifies that collections of interfaces or structs are correctly handled. - *

- * See: https://github.com/aws/jsii/issues/1196 - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.InterfaceCollections") -public class InterfaceCollections extends software.amazon.jsii.JsiiObject { - - protected InterfaceCollections(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected InterfaceCollections(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.util.List listOfInterfaces() { - return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.InterfaceCollections.class, "listOfInterfaces", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.IBell.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.util.List listOfStructs() { - return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.InterfaceCollections.class, "listOfStructs", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.StructA.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.util.Map mapOfInterfaces() { - return java.util.Collections.unmodifiableMap(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.InterfaceCollections.class, "mapOfInterfaces", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.IBell.class)))); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.util.Map mapOfStructs() { - return java.util.Collections.unmodifiableMap(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.InterfaceCollections.class, "mapOfStructs", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.StructA.class)))); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/InterfacesMaker.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/InterfacesMaker.java deleted file mode 100644 index ce7235ff56..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/InterfacesMaker.java +++ /dev/null @@ -1,30 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * We can return arrays of interfaces See aws/aws-cdk#2362. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.InterfacesMaker") -public class InterfacesMaker extends software.amazon.jsii.JsiiObject { - - protected InterfacesMaker(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected InterfacesMaker(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param count This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.util.List makeInterfaces(final @org.jetbrains.annotations.NotNull java.lang.Number count) { - return java.util.Collections.unmodifiableList(software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.InterfacesMaker.class, "makeInterfaces", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.lib.IDoublable.class)), new Object[] { java.util.Objects.requireNonNull(count, "count is required") })); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Isomorphism.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Isomorphism.java deleted file mode 100644 index 1d04590907..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Isomorphism.java +++ /dev/null @@ -1,49 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Checks the "same instance" isomorphism is preserved within the constructor. - *

- * Create a subclass of this, and assert that this.myself() actually returns - * this from within the constructor. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Isomorphism") -public abstract class Isomorphism extends software.amazon.jsii.JsiiObject { - - protected Isomorphism(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Isomorphism(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected Isomorphism() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Isomorphism myself() { - return this.jsiiCall("myself", software.amazon.jsii.tests.calculator.Isomorphism.class); - } - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.Isomorphism { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSII417Derived.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSII417Derived.java deleted file mode 100644 index bba61e636c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSII417Derived.java +++ /dev/null @@ -1,53 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.JSII417Derived") -public class JSII417Derived extends software.amazon.jsii.tests.calculator.JSII417PublicBaseOfBase { - - protected JSII417Derived(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected JSII417Derived(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param property This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public JSII417Derived(final @org.jetbrains.annotations.NotNull java.lang.String property) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(property, "property is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void bar() { - this.jsiiCall("bar", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void baz() { - this.jsiiCall("baz", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected @org.jetbrains.annotations.NotNull java.lang.String getProperty() { - return this.jsiiGet("property", java.lang.String.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSII417PublicBaseOfBase.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSII417PublicBaseOfBase.java deleted file mode 100644 index d80ec72727..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSII417PublicBaseOfBase.java +++ /dev/null @@ -1,51 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.JSII417PublicBaseOfBase") -public class JSII417PublicBaseOfBase extends software.amazon.jsii.JsiiObject { - - protected JSII417PublicBaseOfBase(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected JSII417PublicBaseOfBase(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public JSII417PublicBaseOfBase() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.JSII417PublicBaseOfBase makeInstance() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JSII417PublicBaseOfBase.class, "makeInstance", software.amazon.jsii.tests.calculator.JSII417PublicBaseOfBase.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void foo() { - this.jsiiCall("foo", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean getHasRoot() { - return this.jsiiGet("hasRoot", java.lang.Boolean.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSObjectLiteralForInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSObjectLiteralForInterface.java deleted file mode 100644 index 101b922b97..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSObjectLiteralForInterface.java +++ /dev/null @@ -1,43 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.JSObjectLiteralForInterface") -public class JSObjectLiteralForInterface extends software.amazon.jsii.JsiiObject { - - protected JSObjectLiteralForInterface(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected JSObjectLiteralForInterface(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public JSObjectLiteralForInterface() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.IFriendly giveMeFriendly() { - return this.jsiiCall("giveMeFriendly", software.amazon.jsii.tests.calculator.lib.IFriendly.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IFriendlyRandomGenerator giveMeFriendlyGenerator() { - return this.jsiiCall("giveMeFriendlyGenerator", software.amazon.jsii.tests.calculator.IFriendlyRandomGenerator.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSObjectLiteralToNative.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSObjectLiteralToNative.java deleted file mode 100644 index 5b37017973..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSObjectLiteralToNative.java +++ /dev/null @@ -1,35 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.JSObjectLiteralToNative") -public class JSObjectLiteralToNative extends software.amazon.jsii.JsiiObject { - - protected JSObjectLiteralToNative(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected JSObjectLiteralToNative(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public JSObjectLiteralToNative() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.JSObjectLiteralToNativeClass returnLiteral() { - return this.jsiiCall("returnLiteral", software.amazon.jsii.tests.calculator.JSObjectLiteralToNativeClass.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSObjectLiteralToNativeClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSObjectLiteralToNativeClass.java deleted file mode 100644 index 6d61c5f9ac..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JSObjectLiteralToNativeClass.java +++ /dev/null @@ -1,59 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.JSObjectLiteralToNativeClass") -public class JSObjectLiteralToNativeClass extends software.amazon.jsii.JsiiObject { - - protected JSObjectLiteralToNativeClass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected JSObjectLiteralToNativeClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public JSObjectLiteralToNativeClass() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getPropA() { - return this.jsiiGet("propA", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setPropA(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("propA", java.util.Objects.requireNonNull(value, "propA is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getPropB() { - return this.jsiiGet("propB", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setPropB(final @org.jetbrains.annotations.NotNull java.lang.Number value) { - this.jsiiSet("propB", java.util.Objects.requireNonNull(value, "propB is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JavaReservedWords.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JavaReservedWords.java deleted file mode 100644 index 9040983e12..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JavaReservedWords.java +++ /dev/null @@ -1,459 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.JavaReservedWords") -public class JavaReservedWords extends software.amazon.jsii.JsiiObject { - - protected JavaReservedWords(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected JavaReservedWords(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public JavaReservedWords() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doAbstract() { - this.jsiiCall("abstract", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doAssert() { - this.jsiiCall("assert", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doBoolean() { - this.jsiiCall("boolean", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doBreak() { - this.jsiiCall("break", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doByte() { - this.jsiiCall("byte", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doCase() { - this.jsiiCall("case", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doCatch() { - this.jsiiCall("catch", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doChar() { - this.jsiiCall("char", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doClass() { - this.jsiiCall("class", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doConst() { - this.jsiiCall("const", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doContinue() { - this.jsiiCall("continue", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doDefault() { - this.jsiiCall("default", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doDo() { - this.jsiiCall("do", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doDouble() { - this.jsiiCall("double", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doElse() { - this.jsiiCall("else", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doEnum() { - this.jsiiCall("enum", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doExtends() { - this.jsiiCall("extends", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doFalse() { - this.jsiiCall("false", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doFinal() { - this.jsiiCall("final", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doFinally() { - this.jsiiCall("finally", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doFloat() { - this.jsiiCall("float", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doFor() { - this.jsiiCall("for", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doGoto() { - this.jsiiCall("goto", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doIf() { - this.jsiiCall("if", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doImplements() { - this.jsiiCall("implements", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doImport() { - this.jsiiCall("import", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doInstanceof() { - this.jsiiCall("instanceof", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doInt() { - this.jsiiCall("int", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doInterface() { - this.jsiiCall("interface", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doLong() { - this.jsiiCall("long", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doNative() { - this.jsiiCall("native", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doNew() { - this.jsiiCall("new", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doNull() { - this.jsiiCall("null", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doPackage() { - this.jsiiCall("package", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doPrivate() { - this.jsiiCall("private", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doProtected() { - this.jsiiCall("protected", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doPublic() { - this.jsiiCall("public", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doReturn() { - this.jsiiCall("return", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doShort() { - this.jsiiCall("short", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doStatic() { - this.jsiiCall("static", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doStrictfp() { - this.jsiiCall("strictfp", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doSuper() { - this.jsiiCall("super", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doSwitch() { - this.jsiiCall("switch", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doSynchronized() { - this.jsiiCall("synchronized", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doThis() { - this.jsiiCall("this", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doThrow() { - this.jsiiCall("throw", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doThrows() { - this.jsiiCall("throws", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doTransient() { - this.jsiiCall("transient", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doTrue() { - this.jsiiCall("true", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doTry() { - this.jsiiCall("try", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doVoid() { - this.jsiiCall("void", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doVolatile() { - this.jsiiCall("volatile", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getWhileValue() { - return this.jsiiGet("while", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setWhileValue(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("while", java.util.Objects.requireNonNull(value, "while is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Jsii487Derived.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Jsii487Derived.java deleted file mode 100644 index 5abeef747b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Jsii487Derived.java +++ /dev/null @@ -1,27 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Jsii487Derived") -public class Jsii487Derived extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IJsii487External2, software.amazon.jsii.tests.calculator.IJsii487External { - - protected Jsii487Derived(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Jsii487Derived(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Jsii487Derived() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Jsii496Derived.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Jsii496Derived.java deleted file mode 100644 index dc5436476e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Jsii496Derived.java +++ /dev/null @@ -1,27 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Jsii496Derived") -public class Jsii496Derived extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.IJsii496 { - - protected Jsii496Derived(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Jsii496Derived(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Jsii496Derived() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JsiiAgent.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JsiiAgent.java deleted file mode 100644 index 02cc724de9..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JsiiAgent.java +++ /dev/null @@ -1,39 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Host runtime version should be set via JSII_AGENT. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.JsiiAgent") -public class JsiiAgent extends software.amazon.jsii.JsiiObject { - - protected JsiiAgent(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected JsiiAgent(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public JsiiAgent() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * Returns the value of the JSII_AGENT environment variable. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.Nullable java.lang.String getJsiiAgent() { - return software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.JsiiAgent.class, "jsiiAgent", java.lang.String.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JsonFormatter.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JsonFormatter.java deleted file mode 100644 index cfebde74fa..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/JsonFormatter.java +++ /dev/null @@ -1,144 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Make sure structs are un-decorated on the way in. - *

- * EXPERIMENTAL - *

- * @see https://github.com/aws/aws-cdk/issues/5066 - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.JsonFormatter") -public class JsonFormatter extends software.amazon.jsii.JsiiObject { - - protected JsonFormatter(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected JsonFormatter(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Object anyArray() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "anyArray", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Object anyBooleanFalse() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "anyBooleanFalse", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Object anyBooleanTrue() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "anyBooleanTrue", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Object anyDate() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "anyDate", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Object anyEmptyString() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "anyEmptyString", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Object anyFunction() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "anyFunction", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Object anyHash() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "anyHash", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Object anyNull() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "anyNull", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Object anyNumber() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "anyNumber", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Object anyRef() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "anyRef", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Object anyString() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "anyString", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Object anyUndefined() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "anyUndefined", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Object anyZero() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "anyZero", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - *

- * @param value - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.Nullable java.lang.String stringify(final @org.jetbrains.annotations.Nullable java.lang.Object value) { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "stringify", java.lang.String.class, new Object[] { value }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.Nullable java.lang.String stringify() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.JsonFormatter.class, "stringify", java.lang.String.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/LoadBalancedFargateServiceProps.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/LoadBalancedFargateServiceProps.java deleted file mode 100644 index 3fc4a409fe..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/LoadBalancedFargateServiceProps.java +++ /dev/null @@ -1,324 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * jsii#298: show default values in sphinx documentation, and respect newlines. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.LoadBalancedFargateServiceProps") -@software.amazon.jsii.Jsii.Proxy(LoadBalancedFargateServiceProps.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface LoadBalancedFargateServiceProps extends software.amazon.jsii.JsiiSerializable { - - /** - * The container port of the application load balancer attached to your Fargate service. - *

- * Corresponds to container port mapping. - *

- * Default: 80 - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.Number getContainerPort() { - return null; - } - - /** - * 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 - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.String getCpu() { - return null; - } - - /** - * 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 - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.String getMemoryMiB() { - return null; - } - - /** - * Determines whether the Application Load Balancer will be internet-facing. - *

- * Default: true - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.Boolean getPublicLoadBalancer() { - return null; - } - - /** - * Determines whether your Fargate Service will be assigned a public IP address. - *

- * Default: false - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.Boolean getPublicTasks() { - return null; - } - - /** - * @return a {@link Builder} of {@link LoadBalancedFargateServiceProps} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link LoadBalancedFargateServiceProps} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.Number containerPort; - private java.lang.String cpu; - private java.lang.String memoryMiB; - private java.lang.Boolean publicLoadBalancer; - private java.lang.Boolean publicTasks; - - /** - * Sets the value of {@link LoadBalancedFargateServiceProps#getContainerPort} - * @param containerPort The container port of the application load balancer attached to your Fargate service. - * Corresponds to container port mapping. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder containerPort(java.lang.Number containerPort) { - this.containerPort = containerPort; - return this; - } - - /** - * Sets the value of {@link LoadBalancedFargateServiceProps#getCpu} - * @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. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder cpu(java.lang.String cpu) { - this.cpu = cpu; - return this; - } - - /** - * Sets the value of {@link LoadBalancedFargateServiceProps#getMemoryMiB} - * @param memoryMiB 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. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder memoryMiB(java.lang.String memoryMiB) { - this.memoryMiB = memoryMiB; - return this; - } - - /** - * Sets the value of {@link LoadBalancedFargateServiceProps#getPublicLoadBalancer} - * @param publicLoadBalancer Determines whether the Application Load Balancer will be internet-facing. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder publicLoadBalancer(java.lang.Boolean publicLoadBalancer) { - this.publicLoadBalancer = publicLoadBalancer; - return this; - } - - /** - * Sets the value of {@link LoadBalancedFargateServiceProps#getPublicTasks} - * @param publicTasks Determines whether your Fargate Service will be assigned a public IP address. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder publicTasks(java.lang.Boolean publicTasks) { - this.publicTasks = publicTasks; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link LoadBalancedFargateServiceProps} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public LoadBalancedFargateServiceProps build() { - return new Jsii$Proxy(containerPort, cpu, memoryMiB, publicLoadBalancer, publicTasks); - } - } - - /** - * An implementation for {@link LoadBalancedFargateServiceProps} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements LoadBalancedFargateServiceProps { - private final java.lang.Number containerPort; - private final java.lang.String cpu; - private final java.lang.String memoryMiB; - private final java.lang.Boolean publicLoadBalancer; - private final java.lang.Boolean publicTasks; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.containerPort = this.jsiiGet("containerPort", java.lang.Number.class); - this.cpu = this.jsiiGet("cpu", java.lang.String.class); - this.memoryMiB = this.jsiiGet("memoryMiB", java.lang.String.class); - this.publicLoadBalancer = this.jsiiGet("publicLoadBalancer", java.lang.Boolean.class); - this.publicTasks = this.jsiiGet("publicTasks", java.lang.Boolean.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.Number containerPort, final java.lang.String cpu, final java.lang.String memoryMiB, final java.lang.Boolean publicLoadBalancer, final java.lang.Boolean publicTasks) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.containerPort = containerPort; - this.cpu = cpu; - this.memoryMiB = memoryMiB; - this.publicLoadBalancer = publicLoadBalancer; - this.publicTasks = publicTasks; - } - - @Override - public java.lang.Number getContainerPort() { - return this.containerPort; - } - - @Override - public java.lang.String getCpu() { - return this.cpu; - } - - @Override - public java.lang.String getMemoryMiB() { - return this.memoryMiB; - } - - @Override - public java.lang.Boolean getPublicLoadBalancer() { - return this.publicLoadBalancer; - } - - @Override - public java.lang.Boolean getPublicTasks() { - return this.publicTasks; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - if (this.getContainerPort() != null) { - data.set("containerPort", om.valueToTree(this.getContainerPort())); - } - if (this.getCpu() != null) { - data.set("cpu", om.valueToTree(this.getCpu())); - } - if (this.getMemoryMiB() != null) { - data.set("memoryMiB", om.valueToTree(this.getMemoryMiB())); - } - if (this.getPublicLoadBalancer() != null) { - data.set("publicLoadBalancer", om.valueToTree(this.getPublicLoadBalancer())); - } - if (this.getPublicTasks() != null) { - data.set("publicTasks", om.valueToTree(this.getPublicTasks())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.LoadBalancedFargateServiceProps")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - LoadBalancedFargateServiceProps.Jsii$Proxy that = (LoadBalancedFargateServiceProps.Jsii$Proxy) o; - - if (this.containerPort != null ? !this.containerPort.equals(that.containerPort) : that.containerPort != null) return false; - if (this.cpu != null ? !this.cpu.equals(that.cpu) : that.cpu != null) return false; - if (this.memoryMiB != null ? !this.memoryMiB.equals(that.memoryMiB) : that.memoryMiB != null) return false; - if (this.publicLoadBalancer != null ? !this.publicLoadBalancer.equals(that.publicLoadBalancer) : that.publicLoadBalancer != null) return false; - return this.publicTasks != null ? this.publicTasks.equals(that.publicTasks) : that.publicTasks == null; - } - - @Override - public int hashCode() { - int result = this.containerPort != null ? this.containerPort.hashCode() : 0; - result = 31 * result + (this.cpu != null ? this.cpu.hashCode() : 0); - result = 31 * result + (this.memoryMiB != null ? this.memoryMiB.hashCode() : 0); - result = 31 * result + (this.publicLoadBalancer != null ? this.publicLoadBalancer.hashCode() : 0); - result = 31 * result + (this.publicTasks != null ? this.publicTasks.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/MethodNamedProperty.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/MethodNamedProperty.java deleted file mode 100644 index 76b18e7eb3..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/MethodNamedProperty.java +++ /dev/null @@ -1,43 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.MethodNamedProperty") -public class MethodNamedProperty extends software.amazon.jsii.JsiiObject { - - protected MethodNamedProperty(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected MethodNamedProperty(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public MethodNamedProperty() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String property() { - return this.jsiiCall("property", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getElite() { - return this.jsiiGet("elite", java.lang.Number.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Multiply.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Multiply.java deleted file mode 100644 index 42e257fd6f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Multiply.java +++ /dev/null @@ -1,89 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * The "*" binary operation. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Multiply") -public class Multiply extends software.amazon.jsii.tests.calculator.BinaryOperation implements software.amazon.jsii.tests.calculator.IFriendlier, software.amazon.jsii.tests.calculator.IRandomNumberGenerator { - - protected Multiply(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Multiply(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * Creates a BinaryOperation. - *

- * EXPERIMENTAL - *

- * @param lhs Left-hand side operand. This parameter is required. - * @param rhs Right-hand side operand. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Multiply(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value lhs, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value rhs) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(lhs, "lhs is required"), java.util.Objects.requireNonNull(rhs, "rhs is required") }); - } - - /** - * Say farewell. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String farewell() { - return this.jsiiCall("farewell", java.lang.String.class); - } - - /** - * Say goodbye. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String goodbye() { - return this.jsiiCall("goodbye", java.lang.String.class); - } - - /** - * Returns another random number. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.Number next() { - return this.jsiiCall("next", java.lang.Number.class); - } - - /** - * String representation of the value. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String toString() { - return this.jsiiCall("toString", java.lang.String.class); - } - - /** - * The value. - *

- * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { - return this.jsiiGet("value", java.lang.Number.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Negate.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Negate.java deleted file mode 100644 index 58b0f4cb71..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Negate.java +++ /dev/null @@ -1,86 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * The negation operation ("-value"). - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Negate") -public class Negate extends software.amazon.jsii.tests.calculator.UnaryOperation implements software.amazon.jsii.tests.calculator.IFriendlier { - - protected Negate(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Negate(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param operand This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Negate(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value operand) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(operand, "operand is required") }); - } - - /** - * Say farewell. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String farewell() { - return this.jsiiCall("farewell", java.lang.String.class); - } - - /** - * Say goodbye. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String goodbye() { - return this.jsiiCall("goodbye", java.lang.String.class); - } - - /** - * Say hello! - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String hello() { - return this.jsiiCall("hello", java.lang.String.class); - } - - /** - * String representation of the value. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String toString() { - return this.jsiiCall("toString", java.lang.String.class); - } - - /** - * The value. - *

- * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { - return this.jsiiGet("value", java.lang.Number.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NestedStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NestedStruct.java deleted file mode 100644 index f4643c1f5e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NestedStruct.java +++ /dev/null @@ -1,119 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.NestedStruct") -@software.amazon.jsii.Jsii.Proxy(NestedStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface NestedStruct extends software.amazon.jsii.JsiiSerializable { - - /** - * When provided, must be > 0. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Number getNumberProp(); - - /** - * @return a {@link Builder} of {@link NestedStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link NestedStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.Number numberProp; - - /** - * Sets the value of {@link NestedStruct#getNumberProp} - * @param numberProp When provided, must be > 0. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder numberProp(java.lang.Number numberProp) { - this.numberProp = numberProp; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link NestedStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public NestedStruct build() { - return new Jsii$Proxy(numberProp); - } - } - - /** - * An implementation for {@link NestedStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements NestedStruct { - private final java.lang.Number numberProp; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.numberProp = this.jsiiGet("numberProp", java.lang.Number.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.Number numberProp) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.numberProp = java.util.Objects.requireNonNull(numberProp, "numberProp is required"); - } - - @Override - public java.lang.Number getNumberProp() { - return this.numberProp; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("numberProp", om.valueToTree(this.getNumberProp())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.NestedStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - NestedStruct.Jsii$Proxy that = (NestedStruct.Jsii$Proxy) o; - - return this.numberProp.equals(that.numberProp); - } - - @Override - public int hashCode() { - int result = this.numberProp.hashCode(); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NodeStandardLibrary.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NodeStandardLibrary.java deleted file mode 100644 index e5e8af9567..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NodeStandardLibrary.java +++ /dev/null @@ -1,75 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Test fixture to verify that jsii modules can use the node standard library. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.NodeStandardLibrary") -public class NodeStandardLibrary extends software.amazon.jsii.JsiiObject { - - protected NodeStandardLibrary(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected NodeStandardLibrary(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public NodeStandardLibrary() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * Uses node.js "crypto" module to calculate sha256 of a string. - *

- * EXPERIMENTAL - *

- * @return "6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50" - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String cryptoSha256() { - return this.jsiiCall("cryptoSha256", java.lang.String.class); - } - - /** - * Reads a local resource file (resource.txt) asynchronously. - *

- * EXPERIMENTAL - *

- * @return "Hello, resource!" - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String fsReadFile() { - return this.jsiiAsyncCall("fsReadFile", java.lang.String.class); - } - - /** - * Sync version of fsReadFile. - *

- * EXPERIMENTAL - *

- * @return "Hello, resource! SYNC!" - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String fsReadFileSync() { - return this.jsiiCall("fsReadFileSync", java.lang.String.class); - } - - /** - * Returns the current os.platform() from the "os" node module. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getOsPlatform() { - return this.jsiiGet("osPlatform", java.lang.String.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NullShouldBeTreatedAsUndefined.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NullShouldBeTreatedAsUndefined.java deleted file mode 100644 index 034b052505..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NullShouldBeTreatedAsUndefined.java +++ /dev/null @@ -1,95 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * jsii#282, aws-cdk#157: null should be treated as "undefined". - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.NullShouldBeTreatedAsUndefined") -public class NullShouldBeTreatedAsUndefined extends software.amazon.jsii.JsiiObject { - - protected NullShouldBeTreatedAsUndefined(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected NullShouldBeTreatedAsUndefined(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param _param1 This parameter is required. - * @param optional - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public NullShouldBeTreatedAsUndefined(final @org.jetbrains.annotations.NotNull java.lang.String _param1, final @org.jetbrains.annotations.Nullable java.lang.Object optional) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(_param1, "_param1 is required"), optional }); - } - - /** - * EXPERIMENTAL - *

- * @param _param1 This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public NullShouldBeTreatedAsUndefined(final @org.jetbrains.annotations.NotNull java.lang.String _param1) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(_param1, "_param1 is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param value - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void giveMeUndefined(final @org.jetbrains.annotations.Nullable java.lang.Object value) { - this.jsiiCall("giveMeUndefined", software.amazon.jsii.NativeType.VOID, new Object[] { value }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void giveMeUndefined() { - this.jsiiCall("giveMeUndefined", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - *

- * @param input This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void giveMeUndefinedInsideAnObject(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.NullShouldBeTreatedAsUndefinedData input) { - this.jsiiCall("giveMeUndefinedInsideAnObject", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(input, "input is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void verifyPropertyIsUndefined() { - this.jsiiCall("verifyPropertyIsUndefined", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable java.lang.String getChangeMeToUndefined() { - return this.jsiiGet("changeMeToUndefined", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setChangeMeToUndefined(final @org.jetbrains.annotations.Nullable java.lang.String value) { - this.jsiiSet("changeMeToUndefined", value); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NullShouldBeTreatedAsUndefinedData.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NullShouldBeTreatedAsUndefinedData.java deleted file mode 100644 index 8027692d91..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NullShouldBeTreatedAsUndefinedData.java +++ /dev/null @@ -1,150 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.NullShouldBeTreatedAsUndefinedData") -@software.amazon.jsii.Jsii.Proxy(NullShouldBeTreatedAsUndefinedData.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface NullShouldBeTreatedAsUndefinedData extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.util.List getArrayWithThreeElementsAndUndefinedAsSecondArgument(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.Object getThisShouldBeUndefined() { - return null; - } - - /** - * @return a {@link Builder} of {@link NullShouldBeTreatedAsUndefinedData} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link NullShouldBeTreatedAsUndefinedData} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.util.List arrayWithThreeElementsAndUndefinedAsSecondArgument; - private java.lang.Object thisShouldBeUndefined; - - /** - * Sets the value of {@link NullShouldBeTreatedAsUndefinedData#getArrayWithThreeElementsAndUndefinedAsSecondArgument} - * @param arrayWithThreeElementsAndUndefinedAsSecondArgument the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder arrayWithThreeElementsAndUndefinedAsSecondArgument(java.util.List arrayWithThreeElementsAndUndefinedAsSecondArgument) { - this.arrayWithThreeElementsAndUndefinedAsSecondArgument = arrayWithThreeElementsAndUndefinedAsSecondArgument; - return this; - } - - /** - * Sets the value of {@link NullShouldBeTreatedAsUndefinedData#getThisShouldBeUndefined} - * @param thisShouldBeUndefined the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder thisShouldBeUndefined(java.lang.Object thisShouldBeUndefined) { - this.thisShouldBeUndefined = thisShouldBeUndefined; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link NullShouldBeTreatedAsUndefinedData} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public NullShouldBeTreatedAsUndefinedData build() { - return new Jsii$Proxy(arrayWithThreeElementsAndUndefinedAsSecondArgument, thisShouldBeUndefined); - } - } - - /** - * An implementation for {@link NullShouldBeTreatedAsUndefinedData} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements NullShouldBeTreatedAsUndefinedData { - private final java.util.List arrayWithThreeElementsAndUndefinedAsSecondArgument; - private final java.lang.Object thisShouldBeUndefined; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.arrayWithThreeElementsAndUndefinedAsSecondArgument = this.jsiiGet("arrayWithThreeElementsAndUndefinedAsSecondArgument", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class))); - this.thisShouldBeUndefined = this.jsiiGet("thisShouldBeUndefined", java.lang.Object.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.util.List arrayWithThreeElementsAndUndefinedAsSecondArgument, final java.lang.Object thisShouldBeUndefined) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.arrayWithThreeElementsAndUndefinedAsSecondArgument = java.util.Objects.requireNonNull(arrayWithThreeElementsAndUndefinedAsSecondArgument, "arrayWithThreeElementsAndUndefinedAsSecondArgument is required"); - this.thisShouldBeUndefined = thisShouldBeUndefined; - } - - @Override - public java.util.List getArrayWithThreeElementsAndUndefinedAsSecondArgument() { - return this.arrayWithThreeElementsAndUndefinedAsSecondArgument; - } - - @Override - public java.lang.Object getThisShouldBeUndefined() { - return this.thisShouldBeUndefined; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("arrayWithThreeElementsAndUndefinedAsSecondArgument", om.valueToTree(this.getArrayWithThreeElementsAndUndefinedAsSecondArgument())); - if (this.getThisShouldBeUndefined() != null) { - data.set("thisShouldBeUndefined", om.valueToTree(this.getThisShouldBeUndefined())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.NullShouldBeTreatedAsUndefinedData")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - NullShouldBeTreatedAsUndefinedData.Jsii$Proxy that = (NullShouldBeTreatedAsUndefinedData.Jsii$Proxy) o; - - if (!arrayWithThreeElementsAndUndefinedAsSecondArgument.equals(that.arrayWithThreeElementsAndUndefinedAsSecondArgument)) return false; - return this.thisShouldBeUndefined != null ? this.thisShouldBeUndefined.equals(that.thisShouldBeUndefined) : that.thisShouldBeUndefined == null; - } - - @Override - public int hashCode() { - int result = this.arrayWithThreeElementsAndUndefinedAsSecondArgument.hashCode(); - result = 31 * result + (this.thisShouldBeUndefined != null ? this.thisShouldBeUndefined.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NumberGenerator.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NumberGenerator.java deleted file mode 100644 index e41d1086fc..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/NumberGenerator.java +++ /dev/null @@ -1,65 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * This allows us to test that a reference can be stored for objects that implement interfaces. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.NumberGenerator") -public class NumberGenerator extends software.amazon.jsii.JsiiObject { - - protected NumberGenerator(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected NumberGenerator(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param generator This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public NumberGenerator(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IRandomNumberGenerator generator) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(generator, "generator is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param gen This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean isSameGenerator(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IRandomNumberGenerator gen) { - return this.jsiiCall("isSameGenerator", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(gen, "gen is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number nextTimes100() { - return this.jsiiCall("nextTimes100", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IRandomNumberGenerator getGenerator() { - return this.jsiiGet("generator", software.amazon.jsii.tests.calculator.IRandomNumberGenerator.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setGenerator(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IRandomNumberGenerator value) { - this.jsiiSet("generator", java.util.Objects.requireNonNull(value, "generator is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ObjectRefsInCollections.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ObjectRefsInCollections.java deleted file mode 100644 index b8ab47023d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ObjectRefsInCollections.java +++ /dev/null @@ -1,53 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Verify that object references can be passed inside collections. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ObjectRefsInCollections") -public class ObjectRefsInCollections extends software.amazon.jsii.JsiiObject { - - protected ObjectRefsInCollections(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ObjectRefsInCollections(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ObjectRefsInCollections() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * Returns the sum of all values. - *

- * EXPERIMENTAL - *

- * @param values This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number sumFromArray(final @org.jetbrains.annotations.NotNull java.util.List values) { - return this.jsiiCall("sumFromArray", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(values, "values is required") }); - } - - /** - * Returns the sum of all values in a map. - *

- * EXPERIMENTAL - *

- * @param values This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number sumFromMap(final @org.jetbrains.annotations.NotNull java.util.Map values) { - return this.jsiiCall("sumFromMap", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(values, "values is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ObjectWithPropertyProvider.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ObjectWithPropertyProvider.java deleted file mode 100644 index 399ccc041d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ObjectWithPropertyProvider.java +++ /dev/null @@ -1,26 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ObjectWithPropertyProvider") -public class ObjectWithPropertyProvider extends software.amazon.jsii.JsiiObject { - - protected ObjectWithPropertyProvider(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ObjectWithPropertyProvider(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IObjectWithProperty provide() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.ObjectWithPropertyProvider.class, "provide", software.amazon.jsii.tests.calculator.IObjectWithProperty.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Old.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Old.java deleted file mode 100644 index d2178a8128..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Old.java +++ /dev/null @@ -1,39 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Old class. - *

- * @deprecated Use the new class - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) -@Deprecated -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Old") -public class Old extends software.amazon.jsii.JsiiObject { - - protected Old(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Old(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Old() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * Doo wop that thing. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public void doAThing() { - this.jsiiCall("doAThing", software.amazon.jsii.NativeType.VOID); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OptionalArgumentInvoker.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OptionalArgumentInvoker.java deleted file mode 100644 index 1487518bfe..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OptionalArgumentInvoker.java +++ /dev/null @@ -1,45 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.OptionalArgumentInvoker") -public class OptionalArgumentInvoker extends software.amazon.jsii.JsiiObject { - - protected OptionalArgumentInvoker(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected OptionalArgumentInvoker(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param delegate This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public OptionalArgumentInvoker(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IInterfaceWithOptionalMethodArguments delegate) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(delegate, "delegate is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void invokeWithOptional() { - this.jsiiCall("invokeWithOptional", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void invokeWithoutOptional() { - this.jsiiCall("invokeWithoutOptional", software.amazon.jsii.NativeType.VOID); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OptionalConstructorArgument.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OptionalConstructorArgument.java deleted file mode 100644 index 10d69a4bf7..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OptionalConstructorArgument.java +++ /dev/null @@ -1,67 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.OptionalConstructorArgument") -public class OptionalConstructorArgument extends software.amazon.jsii.JsiiObject { - - protected OptionalConstructorArgument(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected OptionalConstructorArgument(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param arg1 This parameter is required. - * @param arg2 This parameter is required. - * @param arg3 - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public OptionalConstructorArgument(final @org.jetbrains.annotations.NotNull java.lang.Number arg1, final @org.jetbrains.annotations.NotNull java.lang.String arg2, final @org.jetbrains.annotations.Nullable java.time.Instant arg3) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(arg1, "arg1 is required"), java.util.Objects.requireNonNull(arg2, "arg2 is required"), arg3 }); - } - - /** - * EXPERIMENTAL - *

- * @param arg1 This parameter is required. - * @param arg2 This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public OptionalConstructorArgument(final @org.jetbrains.annotations.NotNull java.lang.Number arg1, final @org.jetbrains.annotations.NotNull java.lang.String arg2) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(arg1, "arg1 is required"), java.util.Objects.requireNonNull(arg2, "arg2 is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getArg1() { - return this.jsiiGet("arg1", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getArg2() { - return this.jsiiGet("arg2", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable java.time.Instant getArg3() { - return this.jsiiGet("arg3", java.time.Instant.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OptionalStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OptionalStruct.java deleted file mode 100644 index 7506817b6a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OptionalStruct.java +++ /dev/null @@ -1,121 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.OptionalStruct") -@software.amazon.jsii.Jsii.Proxy(OptionalStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface OptionalStruct extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.String getField() { - return null; - } - - /** - * @return a {@link Builder} of {@link OptionalStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link OptionalStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String field; - - /** - * Sets the value of {@link OptionalStruct#getField} - * @param field the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder field(java.lang.String field) { - this.field = field; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link OptionalStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public OptionalStruct build() { - return new Jsii$Proxy(field); - } - } - - /** - * An implementation for {@link OptionalStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements OptionalStruct { - private final java.lang.String field; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.field = this.jsiiGet("field", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String field) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.field = field; - } - - @Override - public java.lang.String getField() { - return this.field; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - if (this.getField() != null) { - data.set("field", om.valueToTree(this.getField())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.OptionalStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - OptionalStruct.Jsii$Proxy that = (OptionalStruct.Jsii$Proxy) o; - - return this.field != null ? this.field.equals(that.field) : that.field == null; - } - - @Override - public int hashCode() { - int result = this.field != null ? this.field.hashCode() : 0; - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OptionalStructConsumer.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OptionalStructConsumer.java deleted file mode 100644 index 6024810888..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OptionalStructConsumer.java +++ /dev/null @@ -1,105 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.OptionalStructConsumer") -public class OptionalStructConsumer extends software.amazon.jsii.JsiiObject { - - protected OptionalStructConsumer(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected OptionalStructConsumer(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param optionalStruct - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public OptionalStructConsumer(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.OptionalStruct optionalStruct) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { optionalStruct }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public OptionalStructConsumer() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean getParameterWasUndefined() { - return this.jsiiGet("parameterWasUndefined", java.lang.Boolean.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable java.lang.String getFieldValue() { - return this.jsiiGet("fieldValue", java.lang.String.class); - } - - /** - * A fluent builder for {@link software.amazon.jsii.tests.calculator.OptionalStructConsumer}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - /** - * EXPERIMENTAL - *

- * @return a new instance of {@link Builder}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static Builder create() { - return new Builder(); - } - - private software.amazon.jsii.tests.calculator.OptionalStruct.Builder optionalStruct; - - private Builder() { - } - - /** - * EXPERIMENTAL - *

- * @return {@code this} - * @param field This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder field(final java.lang.String field) { - this.optionalStruct().field(field); - return this; - } - - /** - * @returns a newly built instance of {@link software.amazon.jsii.tests.calculator.OptionalStructConsumer}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public software.amazon.jsii.tests.calculator.OptionalStructConsumer build() { - return new software.amazon.jsii.tests.calculator.OptionalStructConsumer( - this.optionalStruct != null ? this.optionalStruct.build() : null - ); - } - - private software.amazon.jsii.tests.calculator.OptionalStruct.Builder optionalStruct() { - if (this.optionalStruct == null) { - this.optionalStruct = new software.amazon.jsii.tests.calculator.OptionalStruct.Builder(); - } - return this.optionalStruct; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OverridableProtectedMember.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OverridableProtectedMember.java deleted file mode 100644 index 27d55139f6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OverridableProtectedMember.java +++ /dev/null @@ -1,77 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - *

- * @see https://github.com/aws/jsii/issues/903 - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.OverridableProtectedMember") -public class OverridableProtectedMember extends software.amazon.jsii.JsiiObject { - - protected OverridableProtectedMember(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected OverridableProtectedMember(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public OverridableProtectedMember() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected @org.jetbrains.annotations.NotNull java.lang.String overrideMe() { - return this.jsiiCall("overrideMe", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void switchModes() { - this.jsiiCall("switchModes", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String valueFromProtected() { - return this.jsiiCall("valueFromProtected", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected @org.jetbrains.annotations.NotNull java.lang.String getOverrideReadOnly() { - return this.jsiiGet("overrideReadOnly", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected @org.jetbrains.annotations.NotNull java.lang.String getOverrideReadWrite() { - return this.jsiiGet("overrideReadWrite", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected void setOverrideReadWrite(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("overrideReadWrite", java.util.Objects.requireNonNull(value, "overrideReadWrite is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OverrideReturnsObject.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OverrideReturnsObject.java deleted file mode 100644 index fb4dee8ba1..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/OverrideReturnsObject.java +++ /dev/null @@ -1,37 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.OverrideReturnsObject") -public class OverrideReturnsObject extends software.amazon.jsii.JsiiObject { - - protected OverrideReturnsObject(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected OverrideReturnsObject(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public OverrideReturnsObject() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param obj This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number test(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IReturnsNumber obj) { - return this.jsiiCall("test", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(obj, "obj is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ParentStruct982.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ParentStruct982.java deleted file mode 100644 index 4a091ea0f0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ParentStruct982.java +++ /dev/null @@ -1,119 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * https://github.com/aws/jsii/issues/982. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ParentStruct982") -@software.amazon.jsii.Jsii.Proxy(ParentStruct982.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface ParentStruct982 extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getFoo(); - - /** - * @return a {@link Builder} of {@link ParentStruct982} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link ParentStruct982} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String foo; - - /** - * Sets the value of {@link ParentStruct982#getFoo} - * @param foo the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder foo(java.lang.String foo) { - this.foo = foo; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link ParentStruct982} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public ParentStruct982 build() { - return new Jsii$Proxy(foo); - } - } - - /** - * An implementation for {@link ParentStruct982} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ParentStruct982 { - private final java.lang.String foo; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.foo = this.jsiiGet("foo", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String foo) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.foo = java.util.Objects.requireNonNull(foo, "foo is required"); - } - - @Override - public java.lang.String getFoo() { - return this.foo; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("foo", om.valueToTree(this.getFoo())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.ParentStruct982")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - ParentStruct982.Jsii$Proxy that = (ParentStruct982.Jsii$Proxy) o; - - return this.foo.equals(that.foo); - } - - @Override - public int hashCode() { - int result = this.foo.hashCode(); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/PartiallyInitializedThisConsumer.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/PartiallyInitializedThisConsumer.java deleted file mode 100644 index 7387686e8e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/PartiallyInitializedThisConsumer.java +++ /dev/null @@ -1,59 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.PartiallyInitializedThisConsumer") -public abstract class PartiallyInitializedThisConsumer extends software.amazon.jsii.JsiiObject { - - protected PartiallyInitializedThisConsumer(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected PartiallyInitializedThisConsumer(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected PartiallyInitializedThisConsumer() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param obj This parameter is required. - * @param dt This parameter is required. - * @param ev This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public abstract @org.jetbrains.annotations.NotNull java.lang.String consumePartiallyInitializedThis(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.ConstructorPassesThisOut obj, final @org.jetbrains.annotations.NotNull java.time.Instant dt, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.AllTypesEnum ev); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.PartiallyInitializedThisConsumer { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - *

- * @param obj This parameter is required. - * @param dt This parameter is required. - * @param ev This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String consumePartiallyInitializedThis(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.ConstructorPassesThisOut obj, final @org.jetbrains.annotations.NotNull java.time.Instant dt, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.AllTypesEnum ev) { - return this.jsiiCall("consumePartiallyInitializedThis", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(obj, "obj is required"), java.util.Objects.requireNonNull(dt, "dt is required"), java.util.Objects.requireNonNull(ev, "ev is required") }); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Polymorphism.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Polymorphism.java deleted file mode 100644 index 968b03e0b0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Polymorphism.java +++ /dev/null @@ -1,37 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Polymorphism") -public class Polymorphism extends software.amazon.jsii.JsiiObject { - - protected Polymorphism(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Polymorphism(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Polymorphism() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param friendly This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String sayHello(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.IFriendly friendly) { - return this.jsiiCall("sayHello", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(friendly, "friendly is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Power.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Power.java deleted file mode 100644 index afa8901c70..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Power.java +++ /dev/null @@ -1,67 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * The power operation. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Power") -public class Power extends software.amazon.jsii.tests.calculator.composition.CompositeOperation { - - protected Power(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Power(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * Creates a Power operation. - *

- * EXPERIMENTAL - *

- * @param base The base of the power. This parameter is required. - * @param pow The number of times to multiply. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Power(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value base, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value pow) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(base, "base is required"), java.util.Objects.requireNonNull(pow, "pow is required") }); - } - - /** - * The base of the power. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getBase() { - return this.jsiiGet("base", software.amazon.jsii.tests.calculator.lib.Value.class); - } - - /** - * The expression that this operation consists of. - *

- * Must be implemented by derived classes. - *

- * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getExpression() { - return this.jsiiGet("expression", software.amazon.jsii.tests.calculator.lib.Value.class); - } - - /** - * The number of times to multiply. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getPow() { - return this.jsiiGet("pow", software.amazon.jsii.tests.calculator.lib.Value.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/PropertyNamedProperty.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/PropertyNamedProperty.java deleted file mode 100644 index e4210bec4f..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/PropertyNamedProperty.java +++ /dev/null @@ -1,45 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Reproduction for https://github.com/aws/jsii/issues/1113 Where a method or property named "property" would result in impossible to load Python code. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.PropertyNamedProperty") -public class PropertyNamedProperty extends software.amazon.jsii.JsiiObject { - - protected PropertyNamedProperty(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected PropertyNamedProperty(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public PropertyNamedProperty() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getProperty() { - return this.jsiiGet("property", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean getYetAnoterOne() { - return this.jsiiGet("yetAnoterOne", java.lang.Boolean.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/PublicClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/PublicClass.java deleted file mode 100644 index 4e79c5b2ba..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/PublicClass.java +++ /dev/null @@ -1,35 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.PublicClass") -public class PublicClass extends software.amazon.jsii.JsiiObject { - - protected PublicClass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected PublicClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public PublicClass() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void hello() { - this.jsiiCall("hello", software.amazon.jsii.NativeType.VOID); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/PythonReservedWords.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/PythonReservedWords.java deleted file mode 100644 index 02ce7b23bb..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/PythonReservedWords.java +++ /dev/null @@ -1,283 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.PythonReservedWords") -public class PythonReservedWords extends software.amazon.jsii.JsiiObject { - - protected PythonReservedWords(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected PythonReservedWords(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public PythonReservedWords() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void and() { - this.jsiiCall("and", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void as() { - this.jsiiCall("as", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doAssert() { - this.jsiiCall("assert", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void async() { - this.jsiiCall("async", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void await() { - this.jsiiCall("await", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doBreak() { - this.jsiiCall("break", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doClass() { - this.jsiiCall("class", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doContinue() { - this.jsiiCall("continue", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void def() { - this.jsiiCall("def", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void del() { - this.jsiiCall("del", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void elif() { - this.jsiiCall("elif", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doElse() { - this.jsiiCall("else", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void except() { - this.jsiiCall("except", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doFinally() { - this.jsiiCall("finally", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doFor() { - this.jsiiCall("for", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void from() { - this.jsiiCall("from", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void global() { - this.jsiiCall("global", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doIf() { - this.jsiiCall("if", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doImport() { - this.jsiiCall("import", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void in() { - this.jsiiCall("in", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void is() { - this.jsiiCall("is", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void lambda() { - this.jsiiCall("lambda", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void nonlocal() { - this.jsiiCall("nonlocal", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void not() { - this.jsiiCall("not", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void or() { - this.jsiiCall("or", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void pass() { - this.jsiiCall("pass", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void raise() { - this.jsiiCall("raise", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doReturn() { - this.jsiiCall("return", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doTry() { - this.jsiiCall("try", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void doWhile() { - this.jsiiCall("while", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void with() { - this.jsiiCall("with", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void yield() { - this.jsiiCall("yield", software.amazon.jsii.NativeType.VOID); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ReferenceEnumFromScopedPackage.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ReferenceEnumFromScopedPackage.java deleted file mode 100644 index b8e7d32ab4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ReferenceEnumFromScopedPackage.java +++ /dev/null @@ -1,63 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * See awslabs/jsii#138. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ReferenceEnumFromScopedPackage") -public class ReferenceEnumFromScopedPackage extends software.amazon.jsii.JsiiObject { - - protected ReferenceEnumFromScopedPackage(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ReferenceEnumFromScopedPackage(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ReferenceEnumFromScopedPackage() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.lib.EnumFromScopedModule loadFoo() { - return this.jsiiCall("loadFoo", software.amazon.jsii.tests.calculator.lib.EnumFromScopedModule.class); - } - - /** - * EXPERIMENTAL - *

- * @param value This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void saveFoo(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.EnumFromScopedModule value) { - this.jsiiCall("saveFoo", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(value, "value is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.lib.EnumFromScopedModule getFoo() { - return this.jsiiGet("foo", software.amazon.jsii.tests.calculator.lib.EnumFromScopedModule.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setFoo(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.lib.EnumFromScopedModule value) { - this.jsiiSet("foo", value); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ReturnsPrivateImplementationOfInterface.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ReturnsPrivateImplementationOfInterface.java deleted file mode 100644 index e889414de9..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/ReturnsPrivateImplementationOfInterface.java +++ /dev/null @@ -1,40 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Helps ensure the JSII kernel & runtime cooperate correctly when an un-exported instance of a class is returned with a declared type that is an exported interface, and the instance inherits from an exported class. - *

- * EXPERIMENTAL - *

- * @return an instance of an un-exported class that extends `ExportedBaseClass`, declared as `IPrivatelyImplemented`. - * @see https://github.com/aws/jsii/issues/320 - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.ReturnsPrivateImplementationOfInterface") -public class ReturnsPrivateImplementationOfInterface extends software.amazon.jsii.JsiiObject { - - protected ReturnsPrivateImplementationOfInterface(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ReturnsPrivateImplementationOfInterface(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ReturnsPrivateImplementationOfInterface() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IPrivatelyImplemented getPrivateImplementation() { - return this.jsiiGet("privateImplementation", software.amazon.jsii.tests.calculator.IPrivatelyImplemented.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/RootStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/RootStruct.java deleted file mode 100644 index 3c4022e69e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/RootStruct.java +++ /dev/null @@ -1,157 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * This is here to check that we can pass a nested struct into a kwargs by specifying it as an in-line dictionary. - *

- * This is cheating with the (current) declared types, but this is the "more - * idiomatic" way for Pythonists. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.RootStruct") -@software.amazon.jsii.Jsii.Proxy(RootStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface RootStruct extends software.amazon.jsii.JsiiSerializable { - - /** - * May not be empty. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getStringProp(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.NestedStruct getNestedStruct() { - return null; - } - - /** - * @return a {@link Builder} of {@link RootStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link RootStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String stringProp; - private software.amazon.jsii.tests.calculator.NestedStruct nestedStruct; - - /** - * Sets the value of {@link RootStruct#getStringProp} - * @param stringProp May not be empty. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder stringProp(java.lang.String stringProp) { - this.stringProp = stringProp; - return this; - } - - /** - * Sets the value of {@link RootStruct#getNestedStruct} - * @param nestedStruct the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder nestedStruct(software.amazon.jsii.tests.calculator.NestedStruct nestedStruct) { - this.nestedStruct = nestedStruct; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link RootStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public RootStruct build() { - return new Jsii$Proxy(stringProp, nestedStruct); - } - } - - /** - * An implementation for {@link RootStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements RootStruct { - private final java.lang.String stringProp; - private final software.amazon.jsii.tests.calculator.NestedStruct nestedStruct; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.stringProp = this.jsiiGet("stringProp", java.lang.String.class); - this.nestedStruct = this.jsiiGet("nestedStruct", software.amazon.jsii.tests.calculator.NestedStruct.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String stringProp, final software.amazon.jsii.tests.calculator.NestedStruct nestedStruct) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.stringProp = java.util.Objects.requireNonNull(stringProp, "stringProp is required"); - this.nestedStruct = nestedStruct; - } - - @Override - public java.lang.String getStringProp() { - return this.stringProp; - } - - @Override - public software.amazon.jsii.tests.calculator.NestedStruct getNestedStruct() { - return this.nestedStruct; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("stringProp", om.valueToTree(this.getStringProp())); - if (this.getNestedStruct() != null) { - data.set("nestedStruct", om.valueToTree(this.getNestedStruct())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.RootStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - RootStruct.Jsii$Proxy that = (RootStruct.Jsii$Proxy) o; - - if (!stringProp.equals(that.stringProp)) return false; - return this.nestedStruct != null ? this.nestedStruct.equals(that.nestedStruct) : that.nestedStruct == null; - } - - @Override - public int hashCode() { - int result = this.stringProp.hashCode(); - result = 31 * result + (this.nestedStruct != null ? this.nestedStruct.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/RootStructValidator.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/RootStructValidator.java deleted file mode 100644 index d0eddb2d97..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/RootStructValidator.java +++ /dev/null @@ -1,28 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.RootStructValidator") -public class RootStructValidator extends software.amazon.jsii.JsiiObject { - - protected RootStructValidator(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected RootStructValidator(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param struct This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static void validate(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.RootStruct struct) { - software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.RootStructValidator.class, "validate", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(struct, "struct is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/RuntimeTypeChecking.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/RuntimeTypeChecking.java deleted file mode 100644 index 1b238c8ab0..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/RuntimeTypeChecking.java +++ /dev/null @@ -1,113 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.RuntimeTypeChecking") -public class RuntimeTypeChecking extends software.amazon.jsii.JsiiObject { - - protected RuntimeTypeChecking(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected RuntimeTypeChecking(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public RuntimeTypeChecking() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param arg1 - * @param arg2 - * @param arg3 - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void methodWithDefaultedArguments(final @org.jetbrains.annotations.Nullable java.lang.Number arg1, final @org.jetbrains.annotations.Nullable java.lang.String arg2, final @org.jetbrains.annotations.Nullable java.time.Instant arg3) { - this.jsiiCall("methodWithDefaultedArguments", software.amazon.jsii.NativeType.VOID, new Object[] { arg1, arg2, arg3 }); - } - - /** - * EXPERIMENTAL - *

- * @param arg1 - * @param arg2 - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void methodWithDefaultedArguments(final @org.jetbrains.annotations.Nullable java.lang.Number arg1, final @org.jetbrains.annotations.Nullable java.lang.String arg2) { - this.jsiiCall("methodWithDefaultedArguments", software.amazon.jsii.NativeType.VOID, new Object[] { arg1, arg2 }); - } - - /** - * EXPERIMENTAL - *

- * @param arg1 - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void methodWithDefaultedArguments(final @org.jetbrains.annotations.Nullable java.lang.Number arg1) { - this.jsiiCall("methodWithDefaultedArguments", software.amazon.jsii.NativeType.VOID, new Object[] { arg1 }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void methodWithDefaultedArguments() { - this.jsiiCall("methodWithDefaultedArguments", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - *

- * @param arg - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void methodWithOptionalAnyArgument(final @org.jetbrains.annotations.Nullable java.lang.Object arg) { - this.jsiiCall("methodWithOptionalAnyArgument", software.amazon.jsii.NativeType.VOID, new Object[] { arg }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void methodWithOptionalAnyArgument() { - this.jsiiCall("methodWithOptionalAnyArgument", software.amazon.jsii.NativeType.VOID); - } - - /** - * Used to verify verification of number of method arguments. - *

- * EXPERIMENTAL - *

- * @param arg1 This parameter is required. - * @param arg2 This parameter is required. - * @param arg3 - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void methodWithOptionalArguments(final @org.jetbrains.annotations.NotNull java.lang.Number arg1, final @org.jetbrains.annotations.NotNull java.lang.String arg2, final @org.jetbrains.annotations.Nullable java.time.Instant arg3) { - this.jsiiCall("methodWithOptionalArguments", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(arg1, "arg1 is required"), java.util.Objects.requireNonNull(arg2, "arg2 is required"), arg3 }); - } - - /** - * Used to verify verification of number of method arguments. - *

- * EXPERIMENTAL - *

- * @param arg1 This parameter is required. - * @param arg2 This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void methodWithOptionalArguments(final @org.jetbrains.annotations.NotNull java.lang.Number arg1, final @org.jetbrains.annotations.NotNull java.lang.String arg2) { - this.jsiiCall("methodWithOptionalArguments", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(arg1, "arg1 is required"), java.util.Objects.requireNonNull(arg2, "arg2 is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SecondLevelStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SecondLevelStruct.java deleted file mode 100644 index cf36cab8d6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SecondLevelStruct.java +++ /dev/null @@ -1,154 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.SecondLevelStruct") -@software.amazon.jsii.Jsii.Proxy(SecondLevelStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface SecondLevelStruct extends software.amazon.jsii.JsiiSerializable { - - /** - * It's long and required. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getDeeperRequiredProp(); - - /** - * It's long, but you'll almost never pass it. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.String getDeeperOptionalProp() { - return null; - } - - /** - * @return a {@link Builder} of {@link SecondLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link SecondLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String deeperRequiredProp; - private java.lang.String deeperOptionalProp; - - /** - * Sets the value of {@link SecondLevelStruct#getDeeperRequiredProp} - * @param deeperRequiredProp It's long and required. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder deeperRequiredProp(java.lang.String deeperRequiredProp) { - this.deeperRequiredProp = deeperRequiredProp; - return this; - } - - /** - * Sets the value of {@link SecondLevelStruct#getDeeperOptionalProp} - * @param deeperOptionalProp It's long, but you'll almost never pass it. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder deeperOptionalProp(java.lang.String deeperOptionalProp) { - this.deeperOptionalProp = deeperOptionalProp; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link SecondLevelStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public SecondLevelStruct build() { - return new Jsii$Proxy(deeperRequiredProp, deeperOptionalProp); - } - } - - /** - * An implementation for {@link SecondLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SecondLevelStruct { - private final java.lang.String deeperRequiredProp; - private final java.lang.String deeperOptionalProp; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.deeperRequiredProp = this.jsiiGet("deeperRequiredProp", java.lang.String.class); - this.deeperOptionalProp = this.jsiiGet("deeperOptionalProp", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String deeperRequiredProp, final java.lang.String deeperOptionalProp) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.deeperRequiredProp = java.util.Objects.requireNonNull(deeperRequiredProp, "deeperRequiredProp is required"); - this.deeperOptionalProp = deeperOptionalProp; - } - - @Override - public java.lang.String getDeeperRequiredProp() { - return this.deeperRequiredProp; - } - - @Override - public java.lang.String getDeeperOptionalProp() { - return this.deeperOptionalProp; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("deeperRequiredProp", om.valueToTree(this.getDeeperRequiredProp())); - if (this.getDeeperOptionalProp() != null) { - data.set("deeperOptionalProp", om.valueToTree(this.getDeeperOptionalProp())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.SecondLevelStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - SecondLevelStruct.Jsii$Proxy that = (SecondLevelStruct.Jsii$Proxy) o; - - if (!deeperRequiredProp.equals(that.deeperRequiredProp)) return false; - return this.deeperOptionalProp != null ? this.deeperOptionalProp.equals(that.deeperOptionalProp) : that.deeperOptionalProp == null; - } - - @Override - public int hashCode() { - int result = this.deeperRequiredProp.hashCode(); - result = 31 * result + (this.deeperOptionalProp != null ? this.deeperOptionalProp.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingleInstanceTwoTypes.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingleInstanceTwoTypes.java deleted file mode 100644 index 2f4069aa26..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingleInstanceTwoTypes.java +++ /dev/null @@ -1,49 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Test that a single instance can be returned under two different FQNs. - *

- * JSII clients can instantiate 2 different strongly-typed wrappers for the same - * object. Unfortunately, this will break object equality, but if we didn't do - * this it would break runtime type checks in the JVM or CLR. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.SingleInstanceTwoTypes") -public class SingleInstanceTwoTypes extends software.amazon.jsii.JsiiObject { - - protected SingleInstanceTwoTypes(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected SingleInstanceTwoTypes(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public SingleInstanceTwoTypes() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.InbetweenClass interface1() { - return this.jsiiCall("interface1", software.amazon.jsii.tests.calculator.InbetweenClass.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IPublicInterface interface2() { - return this.jsiiCall("interface2", software.amazon.jsii.tests.calculator.IPublicInterface.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingletonInt.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingletonInt.java deleted file mode 100644 index ddfc60cac4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingletonInt.java +++ /dev/null @@ -1,32 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Verifies that singleton enums are handled correctly. - *

- * https://github.com/aws/jsii/issues/231 - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.SingletonInt") -public class SingletonInt extends software.amazon.jsii.JsiiObject { - - protected SingletonInt(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected SingletonInt(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param value This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean isSingletonInt(final @org.jetbrains.annotations.NotNull java.lang.Number value) { - return this.jsiiCall("isSingletonInt", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(value, "value is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingletonIntEnum.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingletonIntEnum.java deleted file mode 100644 index 954ee14d05..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingletonIntEnum.java +++ /dev/null @@ -1,19 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * A singleton integer. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.SingletonIntEnum") -public enum SingletonIntEnum { - /** - * Elite! - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - SINGLETON_INT, -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingletonString.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingletonString.java deleted file mode 100644 index bb6c34c8d1..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingletonString.java +++ /dev/null @@ -1,32 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Verifies that singleton enums are handled correctly. - *

- * https://github.com/aws/jsii/issues/231 - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.SingletonString") -public class SingletonString extends software.amazon.jsii.JsiiObject { - - protected SingletonString(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected SingletonString(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param value This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean isSingletonString(final @org.jetbrains.annotations.NotNull java.lang.String value) { - return this.jsiiCall("isSingletonString", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(value, "value is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingletonStringEnum.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingletonStringEnum.java deleted file mode 100644 index eb528aa343..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SingletonStringEnum.java +++ /dev/null @@ -1,19 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * A singleton string. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.SingletonStringEnum") -public enum SingletonStringEnum { - /** - * 1337. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - SINGLETON_STRING, -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SmellyStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SmellyStruct.java deleted file mode 100644 index f49b927e50..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SmellyStruct.java +++ /dev/null @@ -1,146 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.SmellyStruct") -@software.amazon.jsii.Jsii.Proxy(SmellyStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface SmellyStruct extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getProperty(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Boolean getYetAnoterOne(); - - /** - * @return a {@link Builder} of {@link SmellyStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link SmellyStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String property; - private java.lang.Boolean yetAnoterOne; - - /** - * Sets the value of {@link SmellyStruct#getProperty} - * @param property the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder property(java.lang.String property) { - this.property = property; - return this; - } - - /** - * Sets the value of {@link SmellyStruct#getYetAnoterOne} - * @param yetAnoterOne the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder yetAnoterOne(java.lang.Boolean yetAnoterOne) { - this.yetAnoterOne = yetAnoterOne; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link SmellyStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public SmellyStruct build() { - return new Jsii$Proxy(property, yetAnoterOne); - } - } - - /** - * An implementation for {@link SmellyStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SmellyStruct { - private final java.lang.String property; - private final java.lang.Boolean yetAnoterOne; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.property = this.jsiiGet("property", java.lang.String.class); - this.yetAnoterOne = this.jsiiGet("yetAnoterOne", java.lang.Boolean.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String property, final java.lang.Boolean yetAnoterOne) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.property = java.util.Objects.requireNonNull(property, "property is required"); - this.yetAnoterOne = java.util.Objects.requireNonNull(yetAnoterOne, "yetAnoterOne is required"); - } - - @Override - public java.lang.String getProperty() { - return this.property; - } - - @Override - public java.lang.Boolean getYetAnoterOne() { - return this.yetAnoterOne; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("property", om.valueToTree(this.getProperty())); - data.set("yetAnoterOne", om.valueToTree(this.getYetAnoterOne())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.SmellyStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - SmellyStruct.Jsii$Proxy that = (SmellyStruct.Jsii$Proxy) o; - - if (!property.equals(that.property)) return false; - return this.yetAnoterOne.equals(that.yetAnoterOne); - } - - @Override - public int hashCode() { - int result = this.property.hashCode(); - result = 31 * result + (this.yetAnoterOne.hashCode()); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SomeTypeJsii976.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SomeTypeJsii976.java deleted file mode 100644 index 71c82d8d9c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SomeTypeJsii976.java +++ /dev/null @@ -1,43 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.SomeTypeJsii976") -public class SomeTypeJsii976 extends software.amazon.jsii.JsiiObject { - - protected SomeTypeJsii976(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected SomeTypeJsii976(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public SomeTypeJsii976() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Object returnAnonymous() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.SomeTypeJsii976.class, "returnAnonymous", java.lang.Object.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IReturnJsii976 returnReturn() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.SomeTypeJsii976.class, "returnReturn", software.amazon.jsii.tests.calculator.IReturnJsii976.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StableClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StableClass.java deleted file mode 100644 index c98dd77ac2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StableClass.java +++ /dev/null @@ -1,64 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.StableClass") -public class StableClass extends software.amazon.jsii.JsiiObject { - - protected StableClass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected StableClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * @param readonlyString This parameter is required. - * @param mutableNumber - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - public StableClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString, final @org.jetbrains.annotations.Nullable java.lang.Number mutableNumber) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, "readonlyString is required"), mutableNumber }); - } - - /** - * @param readonlyString This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - public StableClass(final @org.jetbrains.annotations.NotNull java.lang.String readonlyString) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(readonlyString, "readonlyString is required") }); - } - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - public void method() { - this.jsiiCall("method", software.amazon.jsii.NativeType.VOID); - } - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - public @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty() { - return this.jsiiGet("readonlyProperty", java.lang.String.class); - } - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - public @org.jetbrains.annotations.Nullable java.lang.Number getMutableProperty() { - return this.jsiiGet("mutableProperty", java.lang.Number.class); - } - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - public void setMutableProperty(final @org.jetbrains.annotations.Nullable java.lang.Number value) { - this.jsiiSet("mutableProperty", value); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StableEnum.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StableEnum.java deleted file mode 100644 index 7bc834ceba..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StableEnum.java +++ /dev/null @@ -1,17 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.StableEnum") -public enum StableEnum { - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - OPTION_A, - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - OPTION_B, -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StableStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StableStruct.java deleted file mode 100644 index 53ff20b1f2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StableStruct.java +++ /dev/null @@ -1,115 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.StableStruct") -@software.amazon.jsii.Jsii.Proxy(StableStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) -public interface StableStruct extends software.amazon.jsii.JsiiSerializable { - - /** - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty(); - - /** - * @return a {@link Builder} of {@link StableStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link StableStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String readonlyProperty; - - /** - * Sets the value of {@link StableStruct#getReadonlyProperty} - * @param readonlyProperty the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - public Builder readonlyProperty(java.lang.String readonlyProperty) { - this.readonlyProperty = readonlyProperty; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link StableStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - @Override - public StableStruct build() { - return new Jsii$Proxy(readonlyProperty); - } - } - - /** - * An implementation for {@link StableStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StableStruct { - private final java.lang.String readonlyProperty; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.readonlyProperty = this.jsiiGet("readonlyProperty", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String readonlyProperty) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.readonlyProperty = java.util.Objects.requireNonNull(readonlyProperty, "readonlyProperty is required"); - } - - @Override - public java.lang.String getReadonlyProperty() { - return this.readonlyProperty; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("readonlyProperty", om.valueToTree(this.getReadonlyProperty())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.StableStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - StableStruct.Jsii$Proxy that = (StableStruct.Jsii$Proxy) o; - - return this.readonlyProperty.equals(that.readonlyProperty); - } - - @Override - public int hashCode() { - int result = this.readonlyProperty.hashCode(); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StaticContext.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StaticContext.java deleted file mode 100644 index bd8decd15b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StaticContext.java +++ /dev/null @@ -1,46 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * This is used to validate the ability to use `this` from within a static context. - *

- * https://github.com/awslabs/aws-cdk/issues/2304 - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.StaticContext") -public class StaticContext extends software.amazon.jsii.JsiiObject { - - protected StaticContext(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected StaticContext(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Boolean canAccessStaticContext() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.StaticContext.class, "canAccessStaticContext", java.lang.Boolean.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Boolean getStaticVariable() { - return software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.StaticContext.class, "staticVariable", java.lang.Boolean.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static void setStaticVariable(final @org.jetbrains.annotations.NotNull java.lang.Boolean value) { - software.amazon.jsii.JsiiObject.jsiiStaticSet(software.amazon.jsii.tests.calculator.StaticContext.class, "staticVariable", java.util.Objects.requireNonNull(value, "staticVariable is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Statics.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Statics.java deleted file mode 100644 index e6721a2d42..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Statics.java +++ /dev/null @@ -1,134 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Statics") -public class Statics extends software.amazon.jsii.JsiiObject { - - protected Statics(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Statics(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - static { - BAR = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.Statics.class, "BAR", java.lang.Number.class); - CONST_OBJ = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.Statics.class, "ConstObj", software.amazon.jsii.tests.calculator.DoubleTrouble.class); - FOO = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.Statics.class, "Foo", java.lang.String.class); - ZOO_BAR = java.util.Collections.unmodifiableMap(software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.Statics.class, "zooBar", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); - } - - /** - * EXPERIMENTAL - *

- * @param value This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Statics(final @org.jetbrains.annotations.NotNull java.lang.String value) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(value, "value is required") }); - } - - /** - * Jsdocs for static method. - *

- * EXPERIMENTAL - *

- * @param name The name of the person to say hello to. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.String staticMethod(final @org.jetbrains.annotations.NotNull java.lang.String name) { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.Statics.class, "staticMethod", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(name, "name is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String justMethod() { - return this.jsiiCall("justMethod", java.lang.String.class); - } - - /** - * Constants may also use all-caps. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public final static java.lang.Number BAR; - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public final static software.amazon.jsii.tests.calculator.DoubleTrouble CONST_OBJ; - - /** - * Jsdocs for static property. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public final static java.lang.String FOO; - - /** - * Constants can also use camelCase. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public final static java.util.Map ZOO_BAR; - - /** - * Jsdocs for static getter. - *

- * Jsdocs for static setter. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Statics getInstance() { - return software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.Statics.class, "instance", software.amazon.jsii.tests.calculator.Statics.class); - } - - /** - * Jsdocs for static getter. - *

- * Jsdocs for static setter. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static void setInstance(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.Statics value) { - software.amazon.jsii.JsiiObject.jsiiStaticSet(software.amazon.jsii.tests.calculator.Statics.class, "instance", java.util.Objects.requireNonNull(value, "instance is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Number getNonConstStatic() { - return software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.Statics.class, "nonConstStatic", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static void setNonConstStatic(final @org.jetbrains.annotations.NotNull java.lang.Number value) { - software.amazon.jsii.JsiiObject.jsiiStaticSet(software.amazon.jsii.tests.calculator.Statics.class, "nonConstStatic", java.util.Objects.requireNonNull(value, "nonConstStatic is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getValue() { - return this.jsiiGet("value", java.lang.String.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StringEnum.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StringEnum.java deleted file mode 100644 index 948d3e50f3..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StringEnum.java +++ /dev/null @@ -1,25 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.StringEnum") -public enum StringEnum { - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - A, - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - B, - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - C, -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StripInternal.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StripInternal.java deleted file mode 100644 index 4bcd0cf330..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StripInternal.java +++ /dev/null @@ -1,43 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.StripInternal") -public class StripInternal extends software.amazon.jsii.JsiiObject { - - protected StripInternal(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected StripInternal(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public StripInternal() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getYouSeeMe() { - return this.jsiiGet("youSeeMe", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setYouSeeMe(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("youSeeMe", java.util.Objects.requireNonNull(value, "youSeeMe is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructA.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructA.java deleted file mode 100644 index 6de4a0dd65..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructA.java +++ /dev/null @@ -1,185 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * We can serialize and deserialize structs without silently ignoring optional fields. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.StructA") -@software.amazon.jsii.Jsii.Proxy(StructA.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface StructA extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getRequiredString(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.Number getOptionalNumber() { - return null; - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.String getOptionalString() { - return null; - } - - /** - * @return a {@link Builder} of {@link StructA} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link StructA} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String requiredString; - private java.lang.Number optionalNumber; - private java.lang.String optionalString; - - /** - * Sets the value of {@link StructA#getRequiredString} - * @param requiredString the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder requiredString(java.lang.String requiredString) { - this.requiredString = requiredString; - return this; - } - - /** - * Sets the value of {@link StructA#getOptionalNumber} - * @param optionalNumber the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder optionalNumber(java.lang.Number optionalNumber) { - this.optionalNumber = optionalNumber; - return this; - } - - /** - * Sets the value of {@link StructA#getOptionalString} - * @param optionalString the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder optionalString(java.lang.String optionalString) { - this.optionalString = optionalString; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link StructA} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public StructA build() { - return new Jsii$Proxy(requiredString, optionalNumber, optionalString); - } - } - - /** - * An implementation for {@link StructA} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StructA { - private final java.lang.String requiredString; - private final java.lang.Number optionalNumber; - private final java.lang.String optionalString; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.requiredString = this.jsiiGet("requiredString", java.lang.String.class); - this.optionalNumber = this.jsiiGet("optionalNumber", java.lang.Number.class); - this.optionalString = this.jsiiGet("optionalString", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String requiredString, final java.lang.Number optionalNumber, final java.lang.String optionalString) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.requiredString = java.util.Objects.requireNonNull(requiredString, "requiredString is required"); - this.optionalNumber = optionalNumber; - this.optionalString = optionalString; - } - - @Override - public java.lang.String getRequiredString() { - return this.requiredString; - } - - @Override - public java.lang.Number getOptionalNumber() { - return this.optionalNumber; - } - - @Override - public java.lang.String getOptionalString() { - return this.optionalString; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("requiredString", om.valueToTree(this.getRequiredString())); - if (this.getOptionalNumber() != null) { - data.set("optionalNumber", om.valueToTree(this.getOptionalNumber())); - } - if (this.getOptionalString() != null) { - data.set("optionalString", om.valueToTree(this.getOptionalString())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.StructA")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - StructA.Jsii$Proxy that = (StructA.Jsii$Proxy) o; - - if (!requiredString.equals(that.requiredString)) return false; - if (this.optionalNumber != null ? !this.optionalNumber.equals(that.optionalNumber) : that.optionalNumber != null) return false; - return this.optionalString != null ? this.optionalString.equals(that.optionalString) : that.optionalString == null; - } - - @Override - public int hashCode() { - int result = this.requiredString.hashCode(); - result = 31 * result + (this.optionalNumber != null ? this.optionalNumber.hashCode() : 0); - result = 31 * result + (this.optionalString != null ? this.optionalString.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructB.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructB.java deleted file mode 100644 index b6f7ed1321..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructB.java +++ /dev/null @@ -1,185 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * This intentionally overlaps with StructA (where only requiredString is provided) to test htat the kernel properly disambiguates those. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.StructB") -@software.amazon.jsii.Jsii.Proxy(StructB.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface StructB extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getRequiredString(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.Boolean getOptionalBoolean() { - return null; - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.StructA getOptionalStructA() { - return null; - } - - /** - * @return a {@link Builder} of {@link StructB} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link StructB} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String requiredString; - private java.lang.Boolean optionalBoolean; - private software.amazon.jsii.tests.calculator.StructA optionalStructA; - - /** - * Sets the value of {@link StructB#getRequiredString} - * @param requiredString the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder requiredString(java.lang.String requiredString) { - this.requiredString = requiredString; - return this; - } - - /** - * Sets the value of {@link StructB#getOptionalBoolean} - * @param optionalBoolean the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder optionalBoolean(java.lang.Boolean optionalBoolean) { - this.optionalBoolean = optionalBoolean; - return this; - } - - /** - * Sets the value of {@link StructB#getOptionalStructA} - * @param optionalStructA the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder optionalStructA(software.amazon.jsii.tests.calculator.StructA optionalStructA) { - this.optionalStructA = optionalStructA; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link StructB} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public StructB build() { - return new Jsii$Proxy(requiredString, optionalBoolean, optionalStructA); - } - } - - /** - * An implementation for {@link StructB} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StructB { - private final java.lang.String requiredString; - private final java.lang.Boolean optionalBoolean; - private final software.amazon.jsii.tests.calculator.StructA optionalStructA; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.requiredString = this.jsiiGet("requiredString", java.lang.String.class); - this.optionalBoolean = this.jsiiGet("optionalBoolean", java.lang.Boolean.class); - this.optionalStructA = this.jsiiGet("optionalStructA", software.amazon.jsii.tests.calculator.StructA.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String requiredString, final java.lang.Boolean optionalBoolean, final software.amazon.jsii.tests.calculator.StructA optionalStructA) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.requiredString = java.util.Objects.requireNonNull(requiredString, "requiredString is required"); - this.optionalBoolean = optionalBoolean; - this.optionalStructA = optionalStructA; - } - - @Override - public java.lang.String getRequiredString() { - return this.requiredString; - } - - @Override - public java.lang.Boolean getOptionalBoolean() { - return this.optionalBoolean; - } - - @Override - public software.amazon.jsii.tests.calculator.StructA getOptionalStructA() { - return this.optionalStructA; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("requiredString", om.valueToTree(this.getRequiredString())); - if (this.getOptionalBoolean() != null) { - data.set("optionalBoolean", om.valueToTree(this.getOptionalBoolean())); - } - if (this.getOptionalStructA() != null) { - data.set("optionalStructA", om.valueToTree(this.getOptionalStructA())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.StructB")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - StructB.Jsii$Proxy that = (StructB.Jsii$Proxy) o; - - if (!requiredString.equals(that.requiredString)) return false; - if (this.optionalBoolean != null ? !this.optionalBoolean.equals(that.optionalBoolean) : that.optionalBoolean != null) return false; - return this.optionalStructA != null ? this.optionalStructA.equals(that.optionalStructA) : that.optionalStructA == null; - } - - @Override - public int hashCode() { - int result = this.requiredString.hashCode(); - result = 31 * result + (this.optionalBoolean != null ? this.optionalBoolean.hashCode() : 0); - result = 31 * result + (this.optionalStructA != null ? this.optionalStructA.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructParameterType.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructParameterType.java deleted file mode 100644 index ccb9806098..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructParameterType.java +++ /dev/null @@ -1,154 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Verifies that, in languages that do keyword lifting (e.g: Python), having a struct member with the same name as a positional parameter results in the correct code being emitted. - *

- * See: https://github.com/aws/aws-cdk/issues/4302 - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.StructParameterType") -@software.amazon.jsii.Jsii.Proxy(StructParameterType.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface StructParameterType extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getScope(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.Boolean getProps() { - return null; - } - - /** - * @return a {@link Builder} of {@link StructParameterType} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link StructParameterType} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String scope; - private java.lang.Boolean props; - - /** - * Sets the value of {@link StructParameterType#getScope} - * @param scope the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder scope(java.lang.String scope) { - this.scope = scope; - return this; - } - - /** - * Sets the value of {@link StructParameterType#getProps} - * @param props the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder props(java.lang.Boolean props) { - this.props = props; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link StructParameterType} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public StructParameterType build() { - return new Jsii$Proxy(scope, props); - } - } - - /** - * An implementation for {@link StructParameterType} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StructParameterType { - private final java.lang.String scope; - private final java.lang.Boolean props; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.scope = this.jsiiGet("scope", java.lang.String.class); - this.props = this.jsiiGet("props", java.lang.Boolean.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String scope, final java.lang.Boolean props) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.scope = java.util.Objects.requireNonNull(scope, "scope is required"); - this.props = props; - } - - @Override - public java.lang.String getScope() { - return this.scope; - } - - @Override - public java.lang.Boolean getProps() { - return this.props; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("scope", om.valueToTree(this.getScope())); - if (this.getProps() != null) { - data.set("props", om.valueToTree(this.getProps())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.StructParameterType")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - StructParameterType.Jsii$Proxy that = (StructParameterType.Jsii$Proxy) o; - - if (!scope.equals(that.scope)) return false; - return this.props != null ? this.props.equals(that.props) : that.props == null; - } - - @Override - public int hashCode() { - int result = this.scope.hashCode(); - result = 31 * result + (this.props != null ? this.props.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructPassing.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructPassing.java deleted file mode 100644 index 9ef8213c0e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructPassing.java +++ /dev/null @@ -1,45 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Just because we can. - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.StructPassing") -public class StructPassing extends software.amazon.jsii.JsiiObject { - - protected StructPassing(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected StructPassing(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public StructPassing() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * @param _positional This parameter is required. - * @param inputs This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - public static @org.jetbrains.annotations.NotNull java.lang.Number howManyVarArgsDidIPass(final @org.jetbrains.annotations.NotNull java.lang.Number _positional, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.TopLevelStruct... inputs) { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.StructPassing.class, "howManyVarArgsDidIPass", java.lang.Number.class, java.util.stream.Stream.concat(java.util.Arrays.stream(new Object[] { java.util.Objects.requireNonNull(_positional, "_positional is required") }), java.util.Arrays.stream(inputs)).toArray(Object[]::new)); - } - - /** - * @param _positional This parameter is required. - * @param input This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) - public static @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.TopLevelStruct roundTrip(final @org.jetbrains.annotations.NotNull java.lang.Number _positional, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.TopLevelStruct input) { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.StructPassing.class, "roundTrip", software.amazon.jsii.tests.calculator.TopLevelStruct.class, new Object[] { java.util.Objects.requireNonNull(_positional, "_positional is required"), java.util.Objects.requireNonNull(input, "input is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructUnionConsumer.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructUnionConsumer.java deleted file mode 100644 index 045dac6713..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructUnionConsumer.java +++ /dev/null @@ -1,38 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.StructUnionConsumer") -public class StructUnionConsumer extends software.amazon.jsii.JsiiObject { - - protected StructUnionConsumer(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected StructUnionConsumer(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param struct This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Boolean isStructA(final @org.jetbrains.annotations.NotNull java.lang.Object struct) { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.StructUnionConsumer.class, "isStructA", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(struct, "struct is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param struct This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Boolean isStructB(final @org.jetbrains.annotations.NotNull java.lang.Object struct) { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.StructUnionConsumer.class, "isStructB", java.lang.Boolean.class, new Object[] { java.util.Objects.requireNonNull(struct, "struct is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructWithJavaReservedWords.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructWithJavaReservedWords.java deleted file mode 100644 index d7734da432..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/StructWithJavaReservedWords.java +++ /dev/null @@ -1,216 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.StructWithJavaReservedWords") -@software.amazon.jsii.Jsii.Proxy(StructWithJavaReservedWords.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface StructWithJavaReservedWords extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getDefaultValue(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.String getAssertValue() { - return null; - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.String getResult() { - return null; - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.String getThat() { - return null; - } - - /** - * @return a {@link Builder} of {@link StructWithJavaReservedWords} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link StructWithJavaReservedWords} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String defaultValue; - private java.lang.String assertValue; - private java.lang.String result; - private java.lang.String that; - - /** - * Sets the value of {@link StructWithJavaReservedWords#getDefaultValue} - * @param defaultValue the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder defaultValue(java.lang.String defaultValue) { - this.defaultValue = defaultValue; - return this; - } - - /** - * Sets the value of {@link StructWithJavaReservedWords#getAssertValue} - * @param assertValue the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder assertValue(java.lang.String assertValue) { - this.assertValue = assertValue; - return this; - } - - /** - * Sets the value of {@link StructWithJavaReservedWords#getResult} - * @param result the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder result(java.lang.String result) { - this.result = result; - return this; - } - - /** - * Sets the value of {@link StructWithJavaReservedWords#getThat} - * @param that the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder that(java.lang.String that) { - this.that = that; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link StructWithJavaReservedWords} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public StructWithJavaReservedWords build() { - return new Jsii$Proxy(defaultValue, assertValue, result, that); - } - } - - /** - * An implementation for {@link StructWithJavaReservedWords} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StructWithJavaReservedWords { - private final java.lang.String defaultValue; - private final java.lang.String assertValue; - private final java.lang.String result; - private final java.lang.String that; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.defaultValue = this.jsiiGet("default", java.lang.String.class); - this.assertValue = this.jsiiGet("assert", java.lang.String.class); - this.result = this.jsiiGet("result", java.lang.String.class); - this.that = this.jsiiGet("that", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String defaultValue, final java.lang.String assertValue, final java.lang.String result, final java.lang.String that) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.defaultValue = java.util.Objects.requireNonNull(defaultValue, "defaultValue is required"); - this.assertValue = assertValue; - this.result = result; - this.that = that; - } - - @Override - public java.lang.String getDefaultValue() { - return this.defaultValue; - } - - @Override - public java.lang.String getAssertValue() { - return this.assertValue; - } - - @Override - public java.lang.String getResult() { - return this.result; - } - - @Override - public java.lang.String getThat() { - return this.that; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("default", om.valueToTree(this.getDefaultValue())); - if (this.getAssertValue() != null) { - data.set("assert", om.valueToTree(this.getAssertValue())); - } - if (this.getResult() != null) { - data.set("result", om.valueToTree(this.getResult())); - } - if (this.getThat() != null) { - data.set("that", om.valueToTree(this.getThat())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.StructWithJavaReservedWords")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - StructWithJavaReservedWords.Jsii$Proxy that = (StructWithJavaReservedWords.Jsii$Proxy) o; - - if (!defaultValue.equals(that.defaultValue)) return false; - if (this.assertValue != null ? !this.assertValue.equals(that.assertValue) : that.assertValue != null) return false; - if (this.result != null ? !this.result.equals(that.result) : that.result != null) return false; - return this.that != null ? this.that.equals(that.that) : that.that == null; - } - - @Override - public int hashCode() { - int result = this.defaultValue.hashCode(); - result = 31 * result + (this.assertValue != null ? this.assertValue.hashCode() : 0); - result = 31 * result + (this.result != null ? this.result.hashCode() : 0); - result = 31 * result + (this.that != null ? this.that.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Sum.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Sum.java deleted file mode 100644 index 35332891e6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Sum.java +++ /dev/null @@ -1,62 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * An operation that sums multiple values. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Sum") -public class Sum extends software.amazon.jsii.tests.calculator.composition.CompositeOperation { - - protected Sum(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Sum(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Sum() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * The expression that this operation consists of. - *

- * Must be implemented by derived classes. - *

- * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getExpression() { - return this.jsiiGet("expression", software.amazon.jsii.tests.calculator.lib.Value.class); - } - - /** - * The parts to sum. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.List getParts() { - return java.util.Collections.unmodifiableList(this.jsiiGet("parts", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.lib.Value.class)))); - } - - /** - * The parts to sum. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setParts(final @org.jetbrains.annotations.NotNull java.util.List value) { - this.jsiiSet("parts", java.util.Objects.requireNonNull(value, "parts is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SupportsNiceJavaBuilder.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SupportsNiceJavaBuilder.java deleted file mode 100644 index 23e8805787..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SupportsNiceJavaBuilder.java +++ /dev/null @@ -1,142 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.SupportsNiceJavaBuilder") -public class SupportsNiceJavaBuilder extends software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderWithRequiredProps { - - protected SupportsNiceJavaBuilder(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected SupportsNiceJavaBuilder(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param id some identifier. This parameter is required. - * @param defaultBar the default value of `bar`. - * @param props some props once can provide. - * @param rest a variadic continuation. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public SupportsNiceJavaBuilder(final @org.jetbrains.annotations.NotNull java.lang.Number id, final @org.jetbrains.annotations.Nullable java.lang.Number defaultBar, final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps props, final @org.jetbrains.annotations.NotNull java.lang.String... rest) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, java.util.stream.Stream.concat(java.util.Arrays.stream(new Object[] { java.util.Objects.requireNonNull(id, "id is required"), defaultBar, props }), java.util.Arrays.stream(rest)).toArray(Object[]::new)); - } - - /** - * some identifier. - *

- * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getId() { - return this.jsiiGet("id", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.List getRest() { - return java.util.Collections.unmodifiableList(this.jsiiGet("rest", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); - } - - /** - * A fluent builder for {@link software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilder}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - /** - * EXPERIMENTAL - *

- * @return a new instance of {@link Builder}. - * @param id some identifier. This parameter is required. - * @param defaultBar the default value of `bar`. - * @param rest a variadic continuation. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static Builder create(final java.lang.Number id, final java.lang.Number defaultBar, final java.lang.String... rest) { - return new Builder(id, defaultBar, rest); - } - /** - * EXPERIMENTAL - *

- * @return a new instance of {@link Builder}. - * @param id some identifier. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static Builder create(final java.lang.Number id) { - return new Builder(id, null, null); - } - - private final java.lang.Number id; - private final java.lang.Number defaultBar; - private final java.lang.String[] rest; - private software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps.Builder props; - - private Builder(final java.lang.Number id, final java.lang.Number defaultBar, final java.lang.String... rest) { - this.id = id; - this.defaultBar = defaultBar; - this.rest = rest; - } - - /** - * Some number, like 42. - *

- * EXPERIMENTAL - *

- * @return {@code this} - * @param bar Some number, like 42. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder bar(final java.lang.Number bar) { - this.props().bar(bar); - return this; - } - - /** - * 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. - *

- * EXPERIMENTAL - *

- * @return {@code this} - * @param id An `id` field here is terrible API design, because the constructor of `SupportsNiceJavaBuilder` already has a parameter named `id`. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder id(final java.lang.String id) { - this.props().id(id); - return this; - } - - /** - * @returns a newly built instance of {@link software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilder}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilder build() { - return new software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilder( - this.id, - this.defaultBar, - this.props != null ? this.props.build() : null, - this.rest - ); - } - - private software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps.Builder props() { - if (this.props == null) { - this.props = new software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps.Builder(); - } - return this.props; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SupportsNiceJavaBuilderProps.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SupportsNiceJavaBuilderProps.java deleted file mode 100644 index e19a2da577..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SupportsNiceJavaBuilderProps.java +++ /dev/null @@ -1,157 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.SupportsNiceJavaBuilderProps") -@software.amazon.jsii.Jsii.Proxy(SupportsNiceJavaBuilderProps.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface SupportsNiceJavaBuilderProps extends software.amazon.jsii.JsiiSerializable { - - /** - * Some number, like 42. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Number getBar(); - - /** - * 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. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.String getId() { - return null; - } - - /** - * @return a {@link Builder} of {@link SupportsNiceJavaBuilderProps} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link SupportsNiceJavaBuilderProps} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.Number bar; - private java.lang.String id; - - /** - * Sets the value of {@link SupportsNiceJavaBuilderProps#getBar} - * @param bar Some number, like 42. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder bar(java.lang.Number bar) { - this.bar = bar; - return this; - } - - /** - * Sets the value of {@link SupportsNiceJavaBuilderProps#getId} - * @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. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder id(java.lang.String id) { - this.id = id; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link SupportsNiceJavaBuilderProps} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public SupportsNiceJavaBuilderProps build() { - return new Jsii$Proxy(bar, id); - } - } - - /** - * An implementation for {@link SupportsNiceJavaBuilderProps} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SupportsNiceJavaBuilderProps { - private final java.lang.Number bar; - private final java.lang.String id; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.bar = this.jsiiGet("bar", java.lang.Number.class); - this.id = this.jsiiGet("id", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.Number bar, final java.lang.String id) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.bar = java.util.Objects.requireNonNull(bar, "bar is required"); - this.id = id; - } - - @Override - public java.lang.Number getBar() { - return this.bar; - } - - @Override - public java.lang.String getId() { - return this.id; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("bar", om.valueToTree(this.getBar())); - if (this.getId() != null) { - data.set("id", om.valueToTree(this.getId())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.SupportsNiceJavaBuilderProps")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - SupportsNiceJavaBuilderProps.Jsii$Proxy that = (SupportsNiceJavaBuilderProps.Jsii$Proxy) o; - - if (!bar.equals(that.bar)) return false; - return this.id != null ? this.id.equals(that.id) : that.id == null; - } - - @Override - public int hashCode() { - int result = this.bar.hashCode(); - result = 31 * result + (this.id != null ? this.id.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SupportsNiceJavaBuilderWithRequiredProps.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SupportsNiceJavaBuilderWithRequiredProps.java deleted file mode 100644 index 72eb57758e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SupportsNiceJavaBuilderWithRequiredProps.java +++ /dev/null @@ -1,125 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * We can generate fancy builders in Java for classes which take a mix of positional & struct parameters. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.SupportsNiceJavaBuilderWithRequiredProps") -public class SupportsNiceJavaBuilderWithRequiredProps extends software.amazon.jsii.JsiiObject { - - protected SupportsNiceJavaBuilderWithRequiredProps(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected SupportsNiceJavaBuilderWithRequiredProps(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param id some identifier of your choice. This parameter is required. - * @param props some properties. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public SupportsNiceJavaBuilderWithRequiredProps(final @org.jetbrains.annotations.NotNull java.lang.Number id, final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps props) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getBar() { - return this.jsiiGet("bar", java.lang.Number.class); - } - - /** - * some identifier of your choice. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getId() { - return this.jsiiGet("id", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable java.lang.String getPropId() { - return this.jsiiGet("propId", java.lang.String.class); - } - - /** - * A fluent builder for {@link software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderWithRequiredProps}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - /** - * EXPERIMENTAL - *

- * @return a new instance of {@link Builder}. - * @param id some identifier of your choice. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static Builder create(final java.lang.Number id) { - return new Builder(id); - } - - private final java.lang.Number id; - private final software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps.Builder props; - - private Builder(final java.lang.Number id) { - this.id = id; - this.props = new software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps.Builder(); - } - - /** - * Some number, like 42. - *

- * EXPERIMENTAL - *

- * @return {@code this} - * @param bar Some number, like 42. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder bar(final java.lang.Number bar) { - this.props.bar(bar); - return this; - } - - /** - * 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. - *

- * EXPERIMENTAL - *

- * @return {@code this} - * @param id An `id` field here is terrible API design, because the constructor of `SupportsNiceJavaBuilder` already has a parameter named `id`. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder id(final java.lang.String id) { - this.props.id(id); - return this; - } - - /** - * @returns a newly built instance of {@link software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderWithRequiredProps}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderWithRequiredProps build() { - return new software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderWithRequiredProps( - this.id, - this.props.build() - ); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SyncVirtualMethods.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SyncVirtualMethods.java deleted file mode 100644 index e1d2e15c7b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/SyncVirtualMethods.java +++ /dev/null @@ -1,203 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.SyncVirtualMethods") -public class SyncVirtualMethods extends software.amazon.jsii.JsiiObject { - - protected SyncVirtualMethods(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected SyncVirtualMethods(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public SyncVirtualMethods() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number callerIsAsync() { - return this.jsiiAsyncCall("callerIsAsync", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number callerIsMethod() { - return this.jsiiCall("callerIsMethod", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - *

- * @param value This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void modifyOtherProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiCall("modifyOtherProperty", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(value, "value is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param value This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void modifyValueOfTheProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiCall("modifyValueOfTheProperty", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(value, "value is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number readA() { - return this.jsiiCall("readA", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String retrieveOtherProperty() { - return this.jsiiCall("retrieveOtherProperty", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String retrieveReadOnlyProperty() { - return this.jsiiCall("retrieveReadOnlyProperty", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String retrieveValueOfTheProperty() { - return this.jsiiCall("retrieveValueOfTheProperty", java.lang.String.class); - } - - /** - * EXPERIMENTAL - *

- * @param n This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number virtualMethod(final @org.jetbrains.annotations.NotNull java.lang.Number n) { - return this.jsiiCall("virtualMethod", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(n, "n is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param value This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void writeA(final @org.jetbrains.annotations.NotNull java.lang.Number value) { - this.jsiiCall("writeA", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(value, "value is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getReadonlyProperty() { - return this.jsiiGet("readonlyProperty", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getA() { - return this.jsiiGet("a", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setA(final @org.jetbrains.annotations.NotNull java.lang.Number value) { - this.jsiiSet("a", java.util.Objects.requireNonNull(value, "a is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getCallerIsProperty() { - return this.jsiiGet("callerIsProperty", java.lang.Number.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setCallerIsProperty(final @org.jetbrains.annotations.NotNull java.lang.Number value) { - this.jsiiSet("callerIsProperty", java.util.Objects.requireNonNull(value, "callerIsProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getOtherProperty() { - return this.jsiiGet("otherProperty", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setOtherProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("otherProperty", java.util.Objects.requireNonNull(value, "otherProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getTheProperty() { - return this.jsiiGet("theProperty", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setTheProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("theProperty", java.util.Objects.requireNonNull(value, "theProperty is required")); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getValueOfOtherProperty() { - return this.jsiiGet("valueOfOtherProperty", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setValueOfOtherProperty(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("valueOfOtherProperty", java.util.Objects.requireNonNull(value, "valueOfOtherProperty is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Thrower.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Thrower.java deleted file mode 100644 index d38325ce53..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/Thrower.java +++ /dev/null @@ -1,35 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.Thrower") -public class Thrower extends software.amazon.jsii.JsiiObject { - - protected Thrower(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Thrower(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Thrower() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void throwError() { - this.jsiiCall("throwError", software.amazon.jsii.NativeType.VOID); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/TopLevelStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/TopLevelStruct.java deleted file mode 100644 index d00c48a735..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/TopLevelStruct.java +++ /dev/null @@ -1,196 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.TopLevelStruct") -@software.amazon.jsii.Jsii.Proxy(TopLevelStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface TopLevelStruct extends software.amazon.jsii.JsiiSerializable { - - /** - * This is a required field. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getRequired(); - - /** - * A union to really stress test our serialization. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Object getSecondLevel(); - - /** - * You don't have to pass this. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.String getOptional() { - return null; - } - - /** - * @return a {@link Builder} of {@link TopLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link TopLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String required; - private java.lang.Object secondLevel; - private java.lang.String optional; - - /** - * Sets the value of {@link TopLevelStruct#getRequired} - * @param required This is a required field. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder required(java.lang.String required) { - this.required = required; - return this; - } - - /** - * Sets the value of {@link TopLevelStruct#getSecondLevel} - * @param secondLevel A union to really stress test our serialization. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder secondLevel(java.lang.Number secondLevel) { - this.secondLevel = secondLevel; - return this; - } - - /** - * Sets the value of {@link TopLevelStruct#getSecondLevel} - * @param secondLevel A union to really stress test our serialization. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder secondLevel(software.amazon.jsii.tests.calculator.SecondLevelStruct secondLevel) { - this.secondLevel = secondLevel; - return this; - } - - /** - * Sets the value of {@link TopLevelStruct#getOptional} - * @param optional You don't have to pass this. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder optional(java.lang.String optional) { - this.optional = optional; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link TopLevelStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public TopLevelStruct build() { - return new Jsii$Proxy(required, secondLevel, optional); - } - } - - /** - * An implementation for {@link TopLevelStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements TopLevelStruct { - private final java.lang.String required; - private final java.lang.Object secondLevel; - private final java.lang.String optional; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.required = this.jsiiGet("required", java.lang.String.class); - this.secondLevel = this.jsiiGet("secondLevel", java.lang.Object.class); - this.optional = this.jsiiGet("optional", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String required, final java.lang.Object secondLevel, final java.lang.String optional) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.required = java.util.Objects.requireNonNull(required, "required is required"); - this.secondLevel = java.util.Objects.requireNonNull(secondLevel, "secondLevel is required"); - this.optional = optional; - } - - @Override - public java.lang.String getRequired() { - return this.required; - } - - @Override - public java.lang.Object getSecondLevel() { - return this.secondLevel; - } - - @Override - public java.lang.String getOptional() { - return this.optional; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("required", om.valueToTree(this.getRequired())); - data.set("secondLevel", om.valueToTree(this.getSecondLevel())); - if (this.getOptional() != null) { - data.set("optional", om.valueToTree(this.getOptional())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.TopLevelStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - TopLevelStruct.Jsii$Proxy that = (TopLevelStruct.Jsii$Proxy) o; - - if (!required.equals(that.required)) return false; - if (!secondLevel.equals(that.secondLevel)) return false; - return this.optional != null ? this.optional.equals(that.optional) : that.optional == null; - } - - @Override - public int hashCode() { - int result = this.required.hashCode(); - result = 31 * result + (this.secondLevel.hashCode()); - result = 31 * result + (this.optional != null ? this.optional.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UmaskCheck.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UmaskCheck.java deleted file mode 100644 index e4709dc217..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UmaskCheck.java +++ /dev/null @@ -1,32 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Checks the current file permissions are cool (no funky UMASK down-scoping happened). - *

- * EXPERIMENTAL - *

- * @see https://github.com/aws/jsii/issues/1765 - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.UmaskCheck") -public class UmaskCheck extends software.amazon.jsii.JsiiObject { - - protected UmaskCheck(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected UmaskCheck(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * This should return 0o644 (-rw-r--r--). - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Number mode() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.UmaskCheck.class, "mode", java.lang.Number.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UnaryOperation.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UnaryOperation.java deleted file mode 100644 index b521b6421a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UnaryOperation.java +++ /dev/null @@ -1,68 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * An operation on a single operand. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.UnaryOperation") -public abstract class UnaryOperation extends software.amazon.jsii.tests.calculator.lib.Operation { - - protected UnaryOperation(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected UnaryOperation(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param operand This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected UnaryOperation(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value operand) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(operand, "operand is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getOperand() { - return this.jsiiGet("operand", software.amazon.jsii.tests.calculator.lib.Value.class); - } - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.UnaryOperation { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * The value. - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { - return this.jsiiGet("value", java.lang.Number.class); - } - - /** - * String representation of the value. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public @org.jetbrains.annotations.NotNull java.lang.String toString() { - return this.jsiiCall("toString", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UnionProperties.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UnionProperties.java deleted file mode 100644 index 6406e8098c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UnionProperties.java +++ /dev/null @@ -1,183 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.UnionProperties") -@software.amazon.jsii.Jsii.Proxy(UnionProperties.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface UnionProperties extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Object getBar(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.Object getFoo() { - return null; - } - - /** - * @return a {@link Builder} of {@link UnionProperties} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link UnionProperties} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.Object bar; - private java.lang.Object foo; - - /** - * Sets the value of {@link UnionProperties#getBar} - * @param bar the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder bar(java.lang.String bar) { - this.bar = bar; - return this; - } - - /** - * Sets the value of {@link UnionProperties#getBar} - * @param bar the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder bar(java.lang.Number bar) { - this.bar = bar; - return this; - } - - /** - * Sets the value of {@link UnionProperties#getBar} - * @param bar the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder bar(software.amazon.jsii.tests.calculator.AllTypes bar) { - this.bar = bar; - return this; - } - - /** - * Sets the value of {@link UnionProperties#getFoo} - * @param foo the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder foo(java.lang.String foo) { - this.foo = foo; - return this; - } - - /** - * Sets the value of {@link UnionProperties#getFoo} - * @param foo the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder foo(java.lang.Number foo) { - this.foo = foo; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link UnionProperties} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public UnionProperties build() { - return new Jsii$Proxy(bar, foo); - } - } - - /** - * An implementation for {@link UnionProperties} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements UnionProperties { - private final java.lang.Object bar; - private final java.lang.Object foo; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.bar = this.jsiiGet("bar", java.lang.Object.class); - this.foo = this.jsiiGet("foo", java.lang.Object.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.Object bar, final java.lang.Object foo) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.bar = java.util.Objects.requireNonNull(bar, "bar is required"); - this.foo = foo; - } - - @Override - public java.lang.Object getBar() { - return this.bar; - } - - @Override - public java.lang.Object getFoo() { - return this.foo; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("bar", om.valueToTree(this.getBar())); - if (this.getFoo() != null) { - data.set("foo", om.valueToTree(this.getFoo())); - } - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.UnionProperties")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - UnionProperties.Jsii$Proxy that = (UnionProperties.Jsii$Proxy) o; - - if (!bar.equals(that.bar)) return false; - return this.foo != null ? this.foo.equals(that.foo) : that.foo == null; - } - - @Override - public int hashCode() { - int result = this.bar.hashCode(); - result = 31 * result + (this.foo != null ? this.foo.hashCode() : 0); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UpcasingReflectable.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UpcasingReflectable.java deleted file mode 100644 index e2e2ba4cdd..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UpcasingReflectable.java +++ /dev/null @@ -1,50 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Ensures submodule-imported types from dependencies can be used correctly. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.UpcasingReflectable") -public class UpcasingReflectable extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.custom_submodule_name.IReflectable { - - protected UpcasingReflectable(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected UpcasingReflectable(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - static { - REFLECTOR = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.UpcasingReflectable.class, "reflector", software.amazon.jsii.tests.calculator.custom_submodule_name.Reflector.class); - } - - /** - * EXPERIMENTAL - *

- * @param delegate This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public UpcasingReflectable(final @org.jetbrains.annotations.NotNull java.util.Map delegate) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(delegate, "delegate is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public final static software.amazon.jsii.tests.calculator.custom_submodule_name.Reflector REFLECTOR; - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.List getEntries() { - return java.util.Collections.unmodifiableList(this.jsiiGet("entries", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(software.amazon.jsii.tests.calculator.custom_submodule_name.ReflectableEntry.class)))); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UseBundledDependency.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UseBundledDependency.java deleted file mode 100644 index 38e81822d2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UseBundledDependency.java +++ /dev/null @@ -1,35 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.UseBundledDependency") -public class UseBundledDependency extends software.amazon.jsii.JsiiObject { - - protected UseBundledDependency(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected UseBundledDependency(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public UseBundledDependency() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Object value() { - return this.jsiiCall("value", java.lang.Object.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UseCalcBase.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UseCalcBase.java deleted file mode 100644 index 4506598b85..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UseCalcBase.java +++ /dev/null @@ -1,37 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Depend on a type from jsii-calc-base as a test for awslabs/jsii#128. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.UseCalcBase") -public class UseCalcBase extends software.amazon.jsii.JsiiObject { - - protected UseCalcBase(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected UseCalcBase(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public UseCalcBase() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.base.Base hello() { - return this.jsiiCall("hello", software.amazon.jsii.tests.calculator.base.Base.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UsesInterfaceWithProperties.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UsesInterfaceWithProperties.java deleted file mode 100644 index fc14df07e5..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/UsesInterfaceWithProperties.java +++ /dev/null @@ -1,65 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.UsesInterfaceWithProperties") -public class UsesInterfaceWithProperties extends software.amazon.jsii.JsiiObject { - - protected UsesInterfaceWithProperties(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected UsesInterfaceWithProperties(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param obj This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public UsesInterfaceWithProperties(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IInterfaceWithProperties obj) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(obj, "obj is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String justRead() { - return this.jsiiCall("justRead", java.lang.String.class); - } - - /** - * EXPERIMENTAL - *

- * @param ext This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String readStringAndNumber(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IInterfaceWithPropertiesExtension ext) { - return this.jsiiCall("readStringAndNumber", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(ext, "ext is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param value This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String writeAndRead(final @org.jetbrains.annotations.NotNull java.lang.String value) { - return this.jsiiCall("writeAndRead", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(value, "value is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.IInterfaceWithProperties getObj() { - return this.jsiiGet("obj", software.amazon.jsii.tests.calculator.IInterfaceWithProperties.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/VariadicInvoker.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/VariadicInvoker.java deleted file mode 100644 index 701f53dce1..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/VariadicInvoker.java +++ /dev/null @@ -1,39 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.VariadicInvoker") -public class VariadicInvoker extends software.amazon.jsii.JsiiObject { - - protected VariadicInvoker(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected VariadicInvoker(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param method This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public VariadicInvoker(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.VariadicMethod method) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(method, "method is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param values This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.List asArray(final @org.jetbrains.annotations.NotNull java.lang.Number... values) { - return java.util.Collections.unmodifiableList(this.jsiiCall("asArray", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.Number.class)), java.util.Arrays.stream(values).toArray(Object[]::new))); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/VariadicMethod.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/VariadicMethod.java deleted file mode 100644 index 2d61b3fa33..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/VariadicMethod.java +++ /dev/null @@ -1,40 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.VariadicMethod") -public class VariadicMethod extends software.amazon.jsii.JsiiObject { - - protected VariadicMethod(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected VariadicMethod(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param prefix a prefix that will be use for all values returned by `#asArray`. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public VariadicMethod(final @org.jetbrains.annotations.NotNull java.lang.Number... prefix) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, java.util.Arrays.stream(prefix).toArray(Object[]::new)); - } - - /** - * EXPERIMENTAL - *

- * @param first the first element of the array to be returned (after the `prefix` provided at construction time). This parameter is required. - * @param others other elements to be included in the array. This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.List asArray(final @org.jetbrains.annotations.NotNull java.lang.Number first, final @org.jetbrains.annotations.NotNull java.lang.Number... others) { - return java.util.Collections.unmodifiableList(this.jsiiCall("asArray", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.Number.class)), java.util.stream.Stream.concat(java.util.Arrays.stream(new Object[] { java.util.Objects.requireNonNull(first, "first is required") }), java.util.Arrays.stream(others)).toArray(Object[]::new))); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/VirtualMethodPlayground.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/VirtualMethodPlayground.java deleted file mode 100644 index 000deed0cd..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/VirtualMethodPlayground.java +++ /dev/null @@ -1,77 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.VirtualMethodPlayground") -public class VirtualMethodPlayground extends software.amazon.jsii.JsiiObject { - - protected VirtualMethodPlayground(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected VirtualMethodPlayground(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public VirtualMethodPlayground() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - *

- * @param index This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number overrideMeAsync(final @org.jetbrains.annotations.NotNull java.lang.Number index) { - return this.jsiiAsyncCall("overrideMeAsync", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(index, "index is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param index This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number overrideMeSync(final @org.jetbrains.annotations.NotNull java.lang.Number index) { - return this.jsiiCall("overrideMeSync", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(index, "index is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param count This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number parallelSumAsync(final @org.jetbrains.annotations.NotNull java.lang.Number count) { - return this.jsiiAsyncCall("parallelSumAsync", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(count, "count is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param count This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number serialSumAsync(final @org.jetbrains.annotations.NotNull java.lang.Number count) { - return this.jsiiAsyncCall("serialSumAsync", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(count, "count is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param count This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number sumSync(final @org.jetbrains.annotations.NotNull java.lang.Number count) { - return this.jsiiCall("sumSync", java.lang.Number.class, new Object[] { java.util.Objects.requireNonNull(count, "count is required") }); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/VoidCallback.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/VoidCallback.java deleted file mode 100644 index 1fefe83028..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/VoidCallback.java +++ /dev/null @@ -1,75 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * This test is used to validate the runtimes can return correctly from a void callback. - *

- *

    - *
  • Implement overrideMe (method does not have to do anything).
  • - *
  • Invoke callMe
  • - *
  • Verify that methodWasCalled is true.
  • - *
- *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.VoidCallback") -public abstract class VoidCallback extends software.amazon.jsii.JsiiObject { - - protected VoidCallback(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected VoidCallback(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected VoidCallback() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void callMe() { - this.jsiiCall("callMe", software.amazon.jsii.NativeType.VOID); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - protected abstract void overrideMe(); - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean getMethodWasCalled() { - return this.jsiiGet("methodWasCalled", java.lang.Boolean.class); - } - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.VoidCallback { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - protected void overrideMe() { - this.jsiiCall("overrideMe", software.amazon.jsii.NativeType.VOID); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/WithPrivatePropertyInConstructor.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/WithPrivatePropertyInConstructor.java deleted file mode 100644 index 307ba31434..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/WithPrivatePropertyInConstructor.java +++ /dev/null @@ -1,48 +0,0 @@ -package software.amazon.jsii.tests.calculator; - -/** - * Verifies that private property declarations in constructor arguments are hidden. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.WithPrivatePropertyInConstructor") -public class WithPrivatePropertyInConstructor extends software.amazon.jsii.JsiiObject { - - protected WithPrivatePropertyInConstructor(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected WithPrivatePropertyInConstructor(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param privateField - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public WithPrivatePropertyInConstructor(final @org.jetbrains.annotations.Nullable java.lang.String privateField) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { privateField }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public WithPrivatePropertyInConstructor() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Boolean getSuccess() { - return this.jsiiGet("success", java.lang.Boolean.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/composition/CompositeOperation.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/composition/CompositeOperation.java deleted file mode 100644 index 30ed985b1e..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/composition/CompositeOperation.java +++ /dev/null @@ -1,182 +0,0 @@ -package software.amazon.jsii.tests.calculator.composition; - -/** - * Abstract operation composed from an expression of other operations. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.composition.CompositeOperation") -public abstract class CompositeOperation extends software.amazon.jsii.tests.calculator.lib.Operation { - - protected CompositeOperation(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected CompositeOperation(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - protected CompositeOperation() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * String representation of the value. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String toString() { - return this.jsiiCall("toString", java.lang.String.class); - } - - /** - * The expression that this operation consists of. - *

- * Must be implemented by derived classes. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public abstract @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getExpression(); - - /** - * The value. - *

- * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { - return this.jsiiGet("value", java.lang.Number.class); - } - - /** - * A set of postfixes to include in a decorated .toString(). - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.List getDecorationPostfixes() { - return java.util.Collections.unmodifiableList(this.jsiiGet("decorationPostfixes", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); - } - - /** - * A set of postfixes to include in a decorated .toString(). - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setDecorationPostfixes(final @org.jetbrains.annotations.NotNull java.util.List value) { - this.jsiiSet("decorationPostfixes", java.util.Objects.requireNonNull(value, "decorationPostfixes is required")); - } - - /** - * A set of prefixes to include in a decorated .toString(). - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.util.List getDecorationPrefixes() { - return java.util.Collections.unmodifiableList(this.jsiiGet("decorationPrefixes", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class)))); - } - - /** - * A set of prefixes to include in a decorated .toString(). - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setDecorationPrefixes(final @org.jetbrains.annotations.NotNull java.util.List value) { - this.jsiiSet("decorationPrefixes", java.util.Objects.requireNonNull(value, "decorationPrefixes is required")); - } - - /** - * The .toString() style. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.composition.CompositeOperation.CompositionStringStyle getStringStyle() { - return this.jsiiGet("stringStyle", software.amazon.jsii.tests.calculator.composition.CompositeOperation.CompositionStringStyle.class); - } - - /** - * The .toString() style. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setStringStyle(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.composition.CompositeOperation.CompositionStringStyle value) { - this.jsiiSet("stringStyle", java.util.Objects.requireNonNull(value, "stringStyle is required")); - } - /** - * Style of .toString() output for CompositeOperation. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.composition.CompositeOperation.CompositionStringStyle") - public enum CompositionStringStyle { - /** - * Normal string expression. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - NORMAL, - /** - * Decorated string expression. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - DECORATED, - } - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.composition.CompositeOperation { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * The expression that this operation consists of. - *

- * Must be implemented by derived classes. - *

- * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.lib.Value getExpression() { - return this.jsiiGet("expression", software.amazon.jsii.tests.calculator.lib.Value.class); - } - - /** - * The value. - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - public @org.jetbrains.annotations.NotNull java.lang.Number getValue() { - return this.jsiiGet("value", java.lang.Number.class); - } - - /** - * String representation of the value. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) - @Deprecated - @Override - public @org.jetbrains.annotations.NotNull java.lang.String toString() { - return this.jsiiCall("toString", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/derived_class_has_no_properties/Base.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/derived_class_has_no_properties/Base.java deleted file mode 100644 index 1bded472f4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/derived_class_has_no_properties/Base.java +++ /dev/null @@ -1,43 +0,0 @@ -package software.amazon.jsii.tests.calculator.derived_class_has_no_properties; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DerivedClassHasNoProperties.Base") -public class Base extends software.amazon.jsii.JsiiObject { - - protected Base(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Base(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Base() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getProp() { - return this.jsiiGet("prop", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setProp(final @org.jetbrains.annotations.NotNull java.lang.String value) { - this.jsiiSet("prop", java.util.Objects.requireNonNull(value, "prop is required")); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/derived_class_has_no_properties/Derived.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/derived_class_has_no_properties/Derived.java deleted file mode 100644 index 2d8d09c700..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/derived_class_has_no_properties/Derived.java +++ /dev/null @@ -1,27 +0,0 @@ -package software.amazon.jsii.tests.calculator.derived_class_has_no_properties; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.DerivedClassHasNoProperties.Derived") -public class Derived extends software.amazon.jsii.tests.calculator.derived_class_has_no_properties.Base { - - protected Derived(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Derived(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Derived() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/interface_in_namespace_includes_classes/Foo.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/interface_in_namespace_includes_classes/Foo.java deleted file mode 100644 index 7cd7e3a71c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/interface_in_namespace_includes_classes/Foo.java +++ /dev/null @@ -1,43 +0,0 @@ -package software.amazon.jsii.tests.calculator.interface_in_namespace_includes_classes; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.InterfaceInNamespaceIncludesClasses.Foo") -public class Foo extends software.amazon.jsii.JsiiObject { - - protected Foo(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Foo(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Foo() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable java.lang.String getBar() { - return this.jsiiGet("bar", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setBar(final @org.jetbrains.annotations.Nullable java.lang.String value) { - this.jsiiSet("bar", value); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/interface_in_namespace_includes_classes/Hello.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/interface_in_namespace_includes_classes/Hello.java deleted file mode 100644 index 3de86d1e8b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/interface_in_namespace_includes_classes/Hello.java +++ /dev/null @@ -1,117 +0,0 @@ -package software.amazon.jsii.tests.calculator.interface_in_namespace_includes_classes; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.InterfaceInNamespaceIncludesClasses.Hello") -@software.amazon.jsii.Jsii.Proxy(Hello.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface Hello extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Number getFoo(); - - /** - * @return a {@link Builder} of {@link Hello} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link Hello} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.Number foo; - - /** - * Sets the value of {@link Hello#getFoo} - * @param foo the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder foo(java.lang.Number foo) { - this.foo = foo; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link Hello} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public Hello build() { - return new Jsii$Proxy(foo); - } - } - - /** - * An implementation for {@link Hello} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements Hello { - private final java.lang.Number foo; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.foo = this.jsiiGet("foo", java.lang.Number.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.Number foo) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.foo = java.util.Objects.requireNonNull(foo, "foo is required"); - } - - @Override - public java.lang.Number getFoo() { - return this.foo; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("foo", om.valueToTree(this.getFoo())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.InterfaceInNamespaceIncludesClasses.Hello")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - Hello.Jsii$Proxy that = (Hello.Jsii$Proxy) o; - - return this.foo.equals(that.foo); - } - - @Override - public int hashCode() { - int result = this.foo.hashCode(); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/interface_in_namespace_only_interface/Hello.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/interface_in_namespace_only_interface/Hello.java deleted file mode 100644 index 86288093e9..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/interface_in_namespace_only_interface/Hello.java +++ /dev/null @@ -1,117 +0,0 @@ -package software.amazon.jsii.tests.calculator.interface_in_namespace_only_interface; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.InterfaceInNamespaceOnlyInterface.Hello") -@software.amazon.jsii.Jsii.Proxy(Hello.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface Hello extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Number getFoo(); - - /** - * @return a {@link Builder} of {@link Hello} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link Hello} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.Number foo; - - /** - * Sets the value of {@link Hello#getFoo} - * @param foo the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder foo(java.lang.Number foo) { - this.foo = foo; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link Hello} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public Hello build() { - return new Jsii$Proxy(foo); - } - } - - /** - * An implementation for {@link Hello} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements Hello { - private final java.lang.Number foo; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.foo = this.jsiiGet("foo", java.lang.Number.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.Number foo) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.foo = java.util.Objects.requireNonNull(foo, "foo is required"); - } - - @Override - public java.lang.Number getFoo() { - return this.foo; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("foo", om.valueToTree(this.getFoo())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.InterfaceInNamespaceOnlyInterface.Hello")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - Hello.Jsii$Proxy that = (Hello.Jsii$Proxy) o; - - return this.foo.equals(that.foo); - } - - @Override - public int hashCode() { - int result = this.foo.hashCode(); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/package-info.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/package-info.java deleted file mode 100644 index ccc370a233..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/package-info.java +++ /dev/null @@ -1,31 +0,0 @@ -/** - *

jsii Calculator

- *

- * This library is used to demonstrate and test the features of JSII - *

- *

How to use running sum API:

- *

- * First, create a calculator: - *

- *

- * // Example automatically generated. See https://github.com/aws/jsii/issues/826
- * Calculator calculator = new Calculator();
- * 
- *

- * Then call some operations: - *

- *

- * // Example automatically generated. See https://github.com/aws/jsii/issues/826
- * calculator.add(10);
- * 
- *

- *

Code Samples

- *

- *

- * // Example automatically generated. See https://github.com/aws/jsii/issues/826
- * /* This is totes a magic comment in here, just you wait! *{@literal /}
- * String foo = "bar";
- * 
- */ -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -package software.amazon.jsii.tests.calculator; diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/python_self/ClassWithSelf.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/python_self/ClassWithSelf.java deleted file mode 100644 index 54b686b7ec..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/python_self/ClassWithSelf.java +++ /dev/null @@ -1,47 +0,0 @@ -package software.amazon.jsii.tests.calculator.python_self; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.PythonSelf.ClassWithSelf") -public class ClassWithSelf extends software.amazon.jsii.JsiiObject { - - protected ClassWithSelf(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ClassWithSelf(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param self This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ClassWithSelf(final @org.jetbrains.annotations.NotNull java.lang.String self) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(self, "self is required") }); - } - - /** - * EXPERIMENTAL - *

- * @param self This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String method(final @org.jetbrains.annotations.NotNull java.lang.Number self) { - return this.jsiiCall("method", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(self, "self is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getSelf() { - return this.jsiiGet("self", java.lang.String.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/python_self/ClassWithSelfKwarg.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/python_self/ClassWithSelfKwarg.java deleted file mode 100644 index b296f8e04b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/python_self/ClassWithSelfKwarg.java +++ /dev/null @@ -1,82 +0,0 @@ -package software.amazon.jsii.tests.calculator.python_self; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.PythonSelf.ClassWithSelfKwarg") -public class ClassWithSelfKwarg extends software.amazon.jsii.JsiiObject { - - protected ClassWithSelfKwarg(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected ClassWithSelfKwarg(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param props This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public ClassWithSelfKwarg(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.python_self.StructWithSelf props) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(props, "props is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.python_self.StructWithSelf getProps() { - return this.jsiiGet("props", software.amazon.jsii.tests.calculator.python_self.StructWithSelf.class); - } - - /** - * A fluent builder for {@link software.amazon.jsii.tests.calculator.python_self.ClassWithSelfKwarg}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - /** - * EXPERIMENTAL - *

- * @return a new instance of {@link Builder}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static Builder create() { - return new Builder(); - } - - private final software.amazon.jsii.tests.calculator.python_self.StructWithSelf.Builder props; - - private Builder() { - this.props = new software.amazon.jsii.tests.calculator.python_self.StructWithSelf.Builder(); - } - - /** - * EXPERIMENTAL - *

- * @return {@code this} - * @param self This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder self(final java.lang.String self) { - this.props.self(self); - return this; - } - - /** - * @returns a newly built instance of {@link software.amazon.jsii.tests.calculator.python_self.ClassWithSelfKwarg}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public software.amazon.jsii.tests.calculator.python_self.ClassWithSelfKwarg build() { - return new software.amazon.jsii.tests.calculator.python_self.ClassWithSelfKwarg( - this.props.build() - ); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/python_self/IInterfaceWithSelf.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/python_self/IInterfaceWithSelf.java deleted file mode 100644 index ce0c0ce058..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/python_self/IInterfaceWithSelf.java +++ /dev/null @@ -1,39 +0,0 @@ -package software.amazon.jsii.tests.calculator.python_self; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.PythonSelf.IInterfaceWithSelf") -@software.amazon.jsii.Jsii.Proxy(IInterfaceWithSelf.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface IInterfaceWithSelf extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - *

- * @param self This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String method(final @org.jetbrains.annotations.NotNull java.lang.Number self); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.python_self.IInterfaceWithSelf { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - *

- * @param self This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public @org.jetbrains.annotations.NotNull java.lang.String method(final @org.jetbrains.annotations.NotNull java.lang.Number self) { - return this.jsiiCall("method", java.lang.String.class, new Object[] { java.util.Objects.requireNonNull(self, "self is required") }); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/python_self/StructWithSelf.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/python_self/StructWithSelf.java deleted file mode 100644 index 073c900821..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/python_self/StructWithSelf.java +++ /dev/null @@ -1,117 +0,0 @@ -package software.amazon.jsii.tests.calculator.python_self; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.PythonSelf.StructWithSelf") -@software.amazon.jsii.Jsii.Proxy(StructWithSelf.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface StructWithSelf extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getSelf(); - - /** - * @return a {@link Builder} of {@link StructWithSelf} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link StructWithSelf} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String self; - - /** - * Sets the value of {@link StructWithSelf#getSelf} - * @param self the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder self(java.lang.String self) { - this.self = self; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link StructWithSelf} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public StructWithSelf build() { - return new Jsii$Proxy(self); - } - } - - /** - * An implementation for {@link StructWithSelf} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StructWithSelf { - private final java.lang.String self; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.self = this.jsiiGet("self", java.lang.String.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String self) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.self = java.util.Objects.requireNonNull(self, "self is required"); - } - - @Override - public java.lang.String getSelf() { - return this.self; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("self", om.valueToTree(this.getSelf())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.PythonSelf.StructWithSelf")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - StructWithSelf.Jsii$Proxy that = (StructWithSelf.Jsii$Proxy) o; - - return this.self.equals(that.self); - } - - @Override - public int hashCode() { - int result = this.self.hashCode(); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/MyClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/MyClass.java deleted file mode 100644 index 3768bf78bd..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/MyClass.java +++ /dev/null @@ -1,123 +0,0 @@ -package software.amazon.jsii.tests.calculator.submodule; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.submodule.MyClass") -public class MyClass extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.submodule.nested_submodule.deeply_nested.INamespaced { - - protected MyClass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected MyClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param props This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public MyClass(final @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.SomeStruct props) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(props, "props is required") }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.Awesomeness getAwesomeness() { - return this.jsiiGet("awesomeness", software.amazon.jsii.tests.calculator.submodule.child.Awesomeness.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getDefinedAt() { - return this.jsiiGet("definedAt", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.Goodness getGoodness() { - return this.jsiiGet("goodness", software.amazon.jsii.tests.calculator.submodule.child.Goodness.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.SomeStruct getProps() { - return this.jsiiGet("props", software.amazon.jsii.tests.calculator.submodule.child.SomeStruct.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.AllTypes getAllTypes() { - return this.jsiiGet("allTypes", software.amazon.jsii.tests.calculator.AllTypes.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public void setAllTypes(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.AllTypes value) { - this.jsiiSet("allTypes", value); - } - - /** - * A fluent builder for {@link software.amazon.jsii.tests.calculator.submodule.MyClass}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - /** - * EXPERIMENTAL - *

- * @return a new instance of {@link Builder}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static Builder create() { - return new Builder(); - } - - private final software.amazon.jsii.tests.calculator.submodule.child.SomeStruct.Builder props; - - private Builder() { - this.props = new software.amazon.jsii.tests.calculator.submodule.child.SomeStruct.Builder(); - } - - /** - * EXPERIMENTAL - *

- * @return {@code this} - * @param prop This parameter is required. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder prop(final software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop) { - this.props.prop(prop); - return this; - } - - /** - * @returns a newly built instance of {@link software.amazon.jsii.tests.calculator.submodule.MyClass}. - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public software.amazon.jsii.tests.calculator.submodule.MyClass build() { - return new software.amazon.jsii.tests.calculator.submodule.MyClass( - this.props.build() - ); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/back_references/MyClassReference.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/back_references/MyClassReference.java deleted file mode 100644 index 4d3d9bb8a4..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/back_references/MyClassReference.java +++ /dev/null @@ -1,117 +0,0 @@ -package software.amazon.jsii.tests.calculator.submodule.back_references; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.submodule.back_references.MyClassReference") -@software.amazon.jsii.Jsii.Proxy(MyClassReference.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface MyClassReference extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.MyClass getReference(); - - /** - * @return a {@link Builder} of {@link MyClassReference} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link MyClassReference} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private software.amazon.jsii.tests.calculator.submodule.MyClass reference; - - /** - * Sets the value of {@link MyClassReference#getReference} - * @param reference the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder reference(software.amazon.jsii.tests.calculator.submodule.MyClass reference) { - this.reference = reference; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link MyClassReference} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public MyClassReference build() { - return new Jsii$Proxy(reference); - } - } - - /** - * An implementation for {@link MyClassReference} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements MyClassReference { - private final software.amazon.jsii.tests.calculator.submodule.MyClass reference; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.reference = this.jsiiGet("reference", software.amazon.jsii.tests.calculator.submodule.MyClass.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final software.amazon.jsii.tests.calculator.submodule.MyClass reference) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.reference = java.util.Objects.requireNonNull(reference, "reference is required"); - } - - @Override - public software.amazon.jsii.tests.calculator.submodule.MyClass getReference() { - return this.reference; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("reference", om.valueToTree(this.getReference())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.submodule.back_references.MyClassReference")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - MyClassReference.Jsii$Proxy that = (MyClassReference.Jsii$Proxy) o; - - return this.reference.equals(that.reference); - } - - @Override - public int hashCode() { - int result = this.reference.hashCode(); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/Awesomeness.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/Awesomeness.java deleted file mode 100644 index 4821e33755..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/Awesomeness.java +++ /dev/null @@ -1,17 +0,0 @@ -package software.amazon.jsii.tests.calculator.submodule.child; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.submodule.child.Awesomeness") -public enum Awesomeness { - /** - * It was awesome! - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - AWESOME, -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/Goodness.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/Goodness.java deleted file mode 100644 index 7adb4c2f2c..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/Goodness.java +++ /dev/null @@ -1,31 +0,0 @@ -package software.amazon.jsii.tests.calculator.submodule.child; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.submodule.child.Goodness") -public enum Goodness { - /** - * It's pretty good. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - PRETTY_GOOD, - /** - * It's really good. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - REALLY_GOOD, - /** - * It's amazingly good. - *

- * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - AMAZINGLY_GOOD, -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/InnerClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/InnerClass.java deleted file mode 100644 index cc2dd9dea5..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/InnerClass.java +++ /dev/null @@ -1,37 +0,0 @@ -package software.amazon.jsii.tests.calculator.submodule.child; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.submodule.child.InnerClass") -public class InnerClass extends software.amazon.jsii.JsiiObject { - - protected InnerClass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected InnerClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - static { - STATIC_PROP = software.amazon.jsii.JsiiObject.jsiiStaticGet(software.amazon.jsii.tests.calculator.submodule.child.InnerClass.class, "staticProp", software.amazon.jsii.tests.calculator.submodule.child.SomeStruct.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public InnerClass() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public final static software.amazon.jsii.tests.calculator.submodule.child.SomeStruct STATIC_PROP; -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/KwargsProps.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/KwargsProps.java deleted file mode 100644 index 79d610089d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/KwargsProps.java +++ /dev/null @@ -1,144 +0,0 @@ -package software.amazon.jsii.tests.calculator.submodule.child; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.submodule.child.KwargsProps") -@software.amazon.jsii.Jsii.Proxy(KwargsProps.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface KwargsProps extends software.amazon.jsii.JsiiSerializable, software.amazon.jsii.tests.calculator.submodule.child.SomeStruct { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - default @org.jetbrains.annotations.Nullable java.lang.String getExtra() { - return null; - } - - /** - * @return a {@link Builder} of {@link KwargsProps} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link KwargsProps} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.String extra; - private software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop; - - /** - * Sets the value of {@link KwargsProps#getExtra} - * @param extra the value to be set. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder extra(java.lang.String extra) { - this.extra = extra; - return this; - } - - /** - * Sets the value of {@link KwargsProps#getProp} - * @param prop the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder prop(software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop) { - this.prop = prop; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link KwargsProps} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public KwargsProps build() { - return new Jsii$Proxy(extra, prop); - } - } - - /** - * An implementation for {@link KwargsProps} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements KwargsProps { - private final java.lang.String extra; - private final software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.extra = this.jsiiGet("extra", java.lang.String.class); - this.prop = this.jsiiGet("prop", software.amazon.jsii.tests.calculator.submodule.child.SomeEnum.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.String extra, final software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.extra = extra; - this.prop = java.util.Objects.requireNonNull(prop, "prop is required"); - } - - @Override - public java.lang.String getExtra() { - return this.extra; - } - - @Override - public software.amazon.jsii.tests.calculator.submodule.child.SomeEnum getProp() { - return this.prop; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - if (this.getExtra() != null) { - data.set("extra", om.valueToTree(this.getExtra())); - } - data.set("prop", om.valueToTree(this.getProp())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.submodule.child.KwargsProps")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - KwargsProps.Jsii$Proxy that = (KwargsProps.Jsii$Proxy) o; - - if (this.extra != null ? !this.extra.equals(that.extra) : that.extra != null) return false; - return this.prop.equals(that.prop); - } - - @Override - public int hashCode() { - int result = this.extra != null ? this.extra.hashCode() : 0; - result = 31 * result + (this.prop.hashCode()); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/OuterClass.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/OuterClass.java deleted file mode 100644 index 9160005388..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/OuterClass.java +++ /dev/null @@ -1,39 +0,0 @@ -package software.amazon.jsii.tests.calculator.submodule.child; - -/** - * Checks that classes can self-reference during initialization. - *

- * EXPERIMENTAL - *

- * @see : https://github.com/aws/jsii/pull/1706 - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.submodule.child.OuterClass") -public class OuterClass extends software.amazon.jsii.JsiiObject { - - protected OuterClass(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected OuterClass(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public OuterClass() { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.InnerClass getInnerClass() { - return this.jsiiGet("innerClass", software.amazon.jsii.tests.calculator.submodule.child.InnerClass.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/SomeEnum.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/SomeEnum.java deleted file mode 100644 index ae633451ac..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/SomeEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package software.amazon.jsii.tests.calculator.submodule.child; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.submodule.child.SomeEnum") -public enum SomeEnum { - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - SOME, -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/SomeStruct.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/SomeStruct.java deleted file mode 100644 index eb39f07038..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/SomeStruct.java +++ /dev/null @@ -1,117 +0,0 @@ -package software.amazon.jsii.tests.calculator.submodule.child; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.submodule.child.SomeStruct") -@software.amazon.jsii.Jsii.Proxy(SomeStruct.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface SomeStruct extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.SomeEnum getProp(); - - /** - * @return a {@link Builder} of {@link SomeStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link SomeStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop; - - /** - * Sets the value of {@link SomeStruct#getProp} - * @param prop the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder prop(software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop) { - this.prop = prop; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link SomeStruct} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public SomeStruct build() { - return new Jsii$Proxy(prop); - } - } - - /** - * An implementation for {@link SomeStruct} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements SomeStruct { - private final software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.prop = this.jsiiGet("prop", software.amazon.jsii.tests.calculator.submodule.child.SomeEnum.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final software.amazon.jsii.tests.calculator.submodule.child.SomeEnum prop) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.prop = java.util.Objects.requireNonNull(prop, "prop is required"); - } - - @Override - public software.amazon.jsii.tests.calculator.submodule.child.SomeEnum getProp() { - return this.prop; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("prop", om.valueToTree(this.getProp())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.submodule.child.SomeStruct")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - SomeStruct.Jsii$Proxy that = (SomeStruct.Jsii$Proxy) o; - - return this.prop.equals(that.prop); - } - - @Override - public int hashCode() { - int result = this.prop.hashCode(); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/Structure.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/Structure.java deleted file mode 100644 index 7dce6d9fe6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/child/Structure.java +++ /dev/null @@ -1,117 +0,0 @@ -package software.amazon.jsii.tests.calculator.submodule.child; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.submodule.child.Structure") -@software.amazon.jsii.Jsii.Proxy(Structure.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface Structure extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.Boolean getBool(); - - /** - * @return a {@link Builder} of {@link Structure} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - static Builder builder() { - return new Builder(); - } - /** - * A builder for {@link Structure} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static final class Builder implements software.amazon.jsii.Builder { - private java.lang.Boolean bool; - - /** - * Sets the value of {@link Structure#getBool} - * @param bool the value to be set. This parameter is required. - * @return {@code this} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public Builder bool(java.lang.Boolean bool) { - this.bool = bool; - return this; - } - - /** - * Builds the configured instance. - * @return a new instance of {@link Structure} - * @throws NullPointerException if any required attribute was not provided - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @Override - public Structure build() { - return new Jsii$Proxy(bool); - } - } - - /** - * An implementation for {@link Structure} - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements Structure { - private final java.lang.Boolean bool; - - /** - * Constructor that initializes the object based on values retrieved from the JsiiObject. - * @param objRef Reference to the JSII managed object. - */ - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - this.bool = this.jsiiGet("bool", java.lang.Boolean.class); - } - - /** - * Constructor that initializes the object based on literal property values passed by the {@link Builder}. - */ - private Jsii$Proxy(final java.lang.Boolean bool) { - super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); - this.bool = java.util.Objects.requireNonNull(bool, "bool is required"); - } - - @Override - public java.lang.Boolean getBool() { - return this.bool; - } - - @Override - public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { - final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; - final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - - data.set("bool", om.valueToTree(this.getBool())); - - final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - struct.set("fqn", om.valueToTree("jsii-calc.submodule.child.Structure")); - struct.set("data", data); - - final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); - obj.set("$jsii.struct", struct); - - return obj; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - Structure.Jsii$Proxy that = (Structure.Jsii$Proxy) o; - - return this.bool.equals(that.bool); - } - - @Override - public int hashCode() { - int result = this.bool.hashCode(); - return result; - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/isolated/Kwargs.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/isolated/Kwargs.java deleted file mode 100644 index f548ac3622..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/isolated/Kwargs.java +++ /dev/null @@ -1,38 +0,0 @@ -package software.amazon.jsii.tests.calculator.submodule.isolated; - -/** - * Ensures imports are correctly registered for kwargs lifted properties from super-structs. - *

- * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.submodule.isolated.Kwargs") -public class Kwargs extends software.amazon.jsii.JsiiObject { - - protected Kwargs(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Kwargs(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - *

- * @param props - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Boolean method(final @org.jetbrains.annotations.Nullable software.amazon.jsii.tests.calculator.submodule.child.KwargsProps props) { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.submodule.isolated.Kwargs.class, "method", java.lang.Boolean.class, new Object[] { props }); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public static @org.jetbrains.annotations.NotNull java.lang.Boolean method() { - return software.amazon.jsii.JsiiObject.jsiiStaticCall(software.amazon.jsii.tests.calculator.submodule.isolated.Kwargs.class, "method", java.lang.Boolean.class); - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/nested_submodule/Namespaced.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/nested_submodule/Namespaced.java deleted file mode 100644 index 55c46c15f1..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/nested_submodule/Namespaced.java +++ /dev/null @@ -1,60 +0,0 @@ -package software.amazon.jsii.tests.calculator.submodule.nested_submodule; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.submodule.nested_submodule.Namespaced") -public abstract class Namespaced extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.submodule.nested_submodule.deeply_nested.INamespaced { - - protected Namespaced(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - protected Namespaced(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { - super(initializationMode); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getDefinedAt() { - return this.jsiiGet("definedAt", java.lang.String.class); - } - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public abstract @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.Goodness getGoodness(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.tests.calculator.submodule.nested_submodule.Namespaced { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull software.amazon.jsii.tests.calculator.submodule.child.Goodness getGoodness() { - return this.jsiiGet("goodness", software.amazon.jsii.tests.calculator.submodule.child.Goodness.class); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getDefinedAt() { - return this.jsiiGet("definedAt", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/nested_submodule/deeply_nested/INamespaced.java b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/nested_submodule/deeply_nested/INamespaced.java deleted file mode 100644 index bbd6b414c9..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/java/software/amazon/jsii/tests/calculator/submodule/nested_submodule/deeply_nested/INamespaced.java +++ /dev/null @@ -1,35 +0,0 @@ -package software.amazon.jsii.tests.calculator.submodule.nested_submodule.deeply_nested; - -/** - * EXPERIMENTAL - */ -@javax.annotation.Generated(value = "jsii-pacmak") -@software.amazon.jsii.Jsii(module = software.amazon.jsii.tests.calculator.$Module.class, fqn = "jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced") -@software.amazon.jsii.Jsii.Proxy(INamespaced.Jsii$Proxy.class) -@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) -public interface INamespaced extends software.amazon.jsii.JsiiSerializable { - - /** - * EXPERIMENTAL - */ - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - @org.jetbrains.annotations.NotNull java.lang.String getDefinedAt(); - - /** - * A proxy class which represents a concrete javascript instance of this type. - */ - final static class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements software.amazon.jsii.tests.calculator.submodule.nested_submodule.deeply_nested.INamespaced { - protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { - super(objRef); - } - - /** - * EXPERIMENTAL - */ - @Override - @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) - public @org.jetbrains.annotations.NotNull java.lang.String getDefinedAt() { - return this.jsiiGet("definedAt", java.lang.String.class); - } - } -} diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/resources/software/amazon/jsii/tests/calculator/$Module.txt b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/resources/software/amazon/jsii/tests/calculator/$Module.txt deleted file mode 100644 index 73699cbe04..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/resources/software/amazon/jsii/tests/calculator/$Module.txt +++ /dev/null @@ -1,213 +0,0 @@ -jsii-calc.AbstractClass=software.amazon.jsii.tests.calculator.AbstractClass -jsii-calc.AbstractClassBase=software.amazon.jsii.tests.calculator.AbstractClassBase -jsii-calc.AbstractClassReturner=software.amazon.jsii.tests.calculator.AbstractClassReturner -jsii-calc.AbstractSuite=software.amazon.jsii.tests.calculator.AbstractSuite -jsii-calc.Add=software.amazon.jsii.tests.calculator.Add -jsii-calc.AllTypes=software.amazon.jsii.tests.calculator.AllTypes -jsii-calc.AllTypesEnum=software.amazon.jsii.tests.calculator.AllTypesEnum -jsii-calc.AllowedMethodNames=software.amazon.jsii.tests.calculator.AllowedMethodNames -jsii-calc.AmbiguousParameters=software.amazon.jsii.tests.calculator.AmbiguousParameters -jsii-calc.AnonymousImplementationProvider=software.amazon.jsii.tests.calculator.AnonymousImplementationProvider -jsii-calc.AsyncVirtualMethods=software.amazon.jsii.tests.calculator.AsyncVirtualMethods -jsii-calc.AugmentableClass=software.amazon.jsii.tests.calculator.AugmentableClass -jsii-calc.BaseJsii976=software.amazon.jsii.tests.calculator.BaseJsii976 -jsii-calc.Bell=software.amazon.jsii.tests.calculator.Bell -jsii-calc.BinaryOperation=software.amazon.jsii.tests.calculator.BinaryOperation -jsii-calc.Calculator=software.amazon.jsii.tests.calculator.Calculator -jsii-calc.CalculatorProps=software.amazon.jsii.tests.calculator.CalculatorProps -jsii-calc.ChildStruct982=software.amazon.jsii.tests.calculator.ChildStruct982 -jsii-calc.ClassThatImplementsTheInternalInterface=software.amazon.jsii.tests.calculator.ClassThatImplementsTheInternalInterface -jsii-calc.ClassThatImplementsThePrivateInterface=software.amazon.jsii.tests.calculator.ClassThatImplementsThePrivateInterface -jsii-calc.ClassWithCollections=software.amazon.jsii.tests.calculator.ClassWithCollections -jsii-calc.ClassWithDocs=software.amazon.jsii.tests.calculator.ClassWithDocs -jsii-calc.ClassWithJavaReservedWords=software.amazon.jsii.tests.calculator.ClassWithJavaReservedWords -jsii-calc.ClassWithMutableObjectLiteralProperty=software.amazon.jsii.tests.calculator.ClassWithMutableObjectLiteralProperty -jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties=software.amazon.jsii.tests.calculator.ClassWithPrivateConstructorAndAutomaticProperties -jsii-calc.ConfusingToJackson=software.amazon.jsii.tests.calculator.ConfusingToJackson -jsii-calc.ConfusingToJacksonStruct=software.amazon.jsii.tests.calculator.ConfusingToJacksonStruct -jsii-calc.ConstructorPassesThisOut=software.amazon.jsii.tests.calculator.ConstructorPassesThisOut -jsii-calc.Constructors=software.amazon.jsii.tests.calculator.Constructors -jsii-calc.ConsumePureInterface=software.amazon.jsii.tests.calculator.ConsumePureInterface -jsii-calc.ConsumerCanRingBell=software.amazon.jsii.tests.calculator.ConsumerCanRingBell -jsii-calc.ConsumersOfThisCrazyTypeSystem=software.amazon.jsii.tests.calculator.ConsumersOfThisCrazyTypeSystem -jsii-calc.DataRenderer=software.amazon.jsii.tests.calculator.DataRenderer -jsii-calc.DefaultedConstructorArgument=software.amazon.jsii.tests.calculator.DefaultedConstructorArgument -jsii-calc.Demonstrate982=software.amazon.jsii.tests.calculator.Demonstrate982 -jsii-calc.DeprecatedClass=software.amazon.jsii.tests.calculator.DeprecatedClass -jsii-calc.DeprecatedEnum=software.amazon.jsii.tests.calculator.DeprecatedEnum -jsii-calc.DeprecatedStruct=software.amazon.jsii.tests.calculator.DeprecatedStruct -jsii-calc.DerivedClassHasNoProperties.Base=software.amazon.jsii.tests.calculator.derived_class_has_no_properties.Base -jsii-calc.DerivedClassHasNoProperties.Derived=software.amazon.jsii.tests.calculator.derived_class_has_no_properties.Derived -jsii-calc.DerivedStruct=software.amazon.jsii.tests.calculator.DerivedStruct -jsii-calc.DiamondInheritanceBaseLevelStruct=software.amazon.jsii.tests.calculator.DiamondInheritanceBaseLevelStruct -jsii-calc.DiamondInheritanceFirstMidLevelStruct=software.amazon.jsii.tests.calculator.DiamondInheritanceFirstMidLevelStruct -jsii-calc.DiamondInheritanceSecondMidLevelStruct=software.amazon.jsii.tests.calculator.DiamondInheritanceSecondMidLevelStruct -jsii-calc.DiamondInheritanceTopLevelStruct=software.amazon.jsii.tests.calculator.DiamondInheritanceTopLevelStruct -jsii-calc.DisappointingCollectionSource=software.amazon.jsii.tests.calculator.DisappointingCollectionSource -jsii-calc.DoNotOverridePrivates=software.amazon.jsii.tests.calculator.DoNotOverridePrivates -jsii-calc.DoNotRecognizeAnyAsOptional=software.amazon.jsii.tests.calculator.DoNotRecognizeAnyAsOptional -jsii-calc.DocumentedClass=software.amazon.jsii.tests.calculator.DocumentedClass -jsii-calc.DontComplainAboutVariadicAfterOptional=software.amazon.jsii.tests.calculator.DontComplainAboutVariadicAfterOptional -jsii-calc.DoubleTrouble=software.amazon.jsii.tests.calculator.DoubleTrouble -jsii-calc.EnumDispenser=software.amazon.jsii.tests.calculator.EnumDispenser -jsii-calc.EraseUndefinedHashValues=software.amazon.jsii.tests.calculator.EraseUndefinedHashValues -jsii-calc.EraseUndefinedHashValuesOptions=software.amazon.jsii.tests.calculator.EraseUndefinedHashValuesOptions -jsii-calc.ExperimentalClass=software.amazon.jsii.tests.calculator.ExperimentalClass -jsii-calc.ExperimentalEnum=software.amazon.jsii.tests.calculator.ExperimentalEnum -jsii-calc.ExperimentalStruct=software.amazon.jsii.tests.calculator.ExperimentalStruct -jsii-calc.ExportedBaseClass=software.amazon.jsii.tests.calculator.ExportedBaseClass -jsii-calc.ExtendsInternalInterface=software.amazon.jsii.tests.calculator.ExtendsInternalInterface -jsii-calc.ExternalClass=software.amazon.jsii.tests.calculator.ExternalClass -jsii-calc.ExternalEnum=software.amazon.jsii.tests.calculator.ExternalEnum -jsii-calc.ExternalStruct=software.amazon.jsii.tests.calculator.ExternalStruct -jsii-calc.GiveMeStructs=software.amazon.jsii.tests.calculator.GiveMeStructs -jsii-calc.Greetee=software.amazon.jsii.tests.calculator.Greetee -jsii-calc.GreetingAugmenter=software.amazon.jsii.tests.calculator.GreetingAugmenter -jsii-calc.IAnonymousImplementationProvider=software.amazon.jsii.tests.calculator.IAnonymousImplementationProvider -jsii-calc.IAnonymouslyImplementMe=software.amazon.jsii.tests.calculator.IAnonymouslyImplementMe -jsii-calc.IAnotherPublicInterface=software.amazon.jsii.tests.calculator.IAnotherPublicInterface -jsii-calc.IBell=software.amazon.jsii.tests.calculator.IBell -jsii-calc.IBellRinger=software.amazon.jsii.tests.calculator.IBellRinger -jsii-calc.IConcreteBellRinger=software.amazon.jsii.tests.calculator.IConcreteBellRinger -jsii-calc.IDeprecatedInterface=software.amazon.jsii.tests.calculator.IDeprecatedInterface -jsii-calc.IExperimentalInterface=software.amazon.jsii.tests.calculator.IExperimentalInterface -jsii-calc.IExtendsPrivateInterface=software.amazon.jsii.tests.calculator.IExtendsPrivateInterface -jsii-calc.IExternalInterface=software.amazon.jsii.tests.calculator.IExternalInterface -jsii-calc.IFriendlier=software.amazon.jsii.tests.calculator.IFriendlier -jsii-calc.IFriendlyRandomGenerator=software.amazon.jsii.tests.calculator.IFriendlyRandomGenerator -jsii-calc.IInterfaceImplementedByAbstractClass=software.amazon.jsii.tests.calculator.IInterfaceImplementedByAbstractClass -jsii-calc.IInterfaceThatShouldNotBeADataType=software.amazon.jsii.tests.calculator.IInterfaceThatShouldNotBeADataType -jsii-calc.IInterfaceWithInternal=software.amazon.jsii.tests.calculator.IInterfaceWithInternal -jsii-calc.IInterfaceWithMethods=software.amazon.jsii.tests.calculator.IInterfaceWithMethods -jsii-calc.IInterfaceWithOptionalMethodArguments=software.amazon.jsii.tests.calculator.IInterfaceWithOptionalMethodArguments -jsii-calc.IInterfaceWithProperties=software.amazon.jsii.tests.calculator.IInterfaceWithProperties -jsii-calc.IInterfaceWithPropertiesExtension=software.amazon.jsii.tests.calculator.IInterfaceWithPropertiesExtension -jsii-calc.IJSII417Derived=software.amazon.jsii.tests.calculator.IJSII417Derived -jsii-calc.IJSII417PublicBaseOfBase=software.amazon.jsii.tests.calculator.IJSII417PublicBaseOfBase -jsii-calc.IJsii487External=software.amazon.jsii.tests.calculator.IJsii487External -jsii-calc.IJsii487External2=software.amazon.jsii.tests.calculator.IJsii487External2 -jsii-calc.IJsii496=software.amazon.jsii.tests.calculator.IJsii496 -jsii-calc.IMutableObjectLiteral=software.amazon.jsii.tests.calculator.IMutableObjectLiteral -jsii-calc.INonInternalInterface=software.amazon.jsii.tests.calculator.INonInternalInterface -jsii-calc.IObjectWithProperty=software.amazon.jsii.tests.calculator.IObjectWithProperty -jsii-calc.IOptionalMethod=software.amazon.jsii.tests.calculator.IOptionalMethod -jsii-calc.IPrivatelyImplemented=software.amazon.jsii.tests.calculator.IPrivatelyImplemented -jsii-calc.IPublicInterface=software.amazon.jsii.tests.calculator.IPublicInterface -jsii-calc.IPublicInterface2=software.amazon.jsii.tests.calculator.IPublicInterface2 -jsii-calc.IRandomNumberGenerator=software.amazon.jsii.tests.calculator.IRandomNumberGenerator -jsii-calc.IReturnJsii976=software.amazon.jsii.tests.calculator.IReturnJsii976 -jsii-calc.IReturnsNumber=software.amazon.jsii.tests.calculator.IReturnsNumber -jsii-calc.IStableInterface=software.amazon.jsii.tests.calculator.IStableInterface -jsii-calc.IStructReturningDelegate=software.amazon.jsii.tests.calculator.IStructReturningDelegate -jsii-calc.ImplementInternalInterface=software.amazon.jsii.tests.calculator.ImplementInternalInterface -jsii-calc.Implementation=software.amazon.jsii.tests.calculator.Implementation -jsii-calc.ImplementsInterfaceWithInternal=software.amazon.jsii.tests.calculator.ImplementsInterfaceWithInternal -jsii-calc.ImplementsInterfaceWithInternalSubclass=software.amazon.jsii.tests.calculator.ImplementsInterfaceWithInternalSubclass -jsii-calc.ImplementsPrivateInterface=software.amazon.jsii.tests.calculator.ImplementsPrivateInterface -jsii-calc.ImplictBaseOfBase=software.amazon.jsii.tests.calculator.ImplictBaseOfBase -jsii-calc.InbetweenClass=software.amazon.jsii.tests.calculator.InbetweenClass -jsii-calc.InterfaceCollections=software.amazon.jsii.tests.calculator.InterfaceCollections -jsii-calc.InterfaceInNamespaceIncludesClasses.Foo=software.amazon.jsii.tests.calculator.interface_in_namespace_includes_classes.Foo -jsii-calc.InterfaceInNamespaceIncludesClasses.Hello=software.amazon.jsii.tests.calculator.interface_in_namespace_includes_classes.Hello -jsii-calc.InterfaceInNamespaceOnlyInterface.Hello=software.amazon.jsii.tests.calculator.interface_in_namespace_only_interface.Hello -jsii-calc.InterfacesMaker=software.amazon.jsii.tests.calculator.InterfacesMaker -jsii-calc.Isomorphism=software.amazon.jsii.tests.calculator.Isomorphism -jsii-calc.JSII417Derived=software.amazon.jsii.tests.calculator.JSII417Derived -jsii-calc.JSII417PublicBaseOfBase=software.amazon.jsii.tests.calculator.JSII417PublicBaseOfBase -jsii-calc.JSObjectLiteralForInterface=software.amazon.jsii.tests.calculator.JSObjectLiteralForInterface -jsii-calc.JSObjectLiteralToNative=software.amazon.jsii.tests.calculator.JSObjectLiteralToNative -jsii-calc.JSObjectLiteralToNativeClass=software.amazon.jsii.tests.calculator.JSObjectLiteralToNativeClass -jsii-calc.JavaReservedWords=software.amazon.jsii.tests.calculator.JavaReservedWords -jsii-calc.Jsii487Derived=software.amazon.jsii.tests.calculator.Jsii487Derived -jsii-calc.Jsii496Derived=software.amazon.jsii.tests.calculator.Jsii496Derived -jsii-calc.JsiiAgent=software.amazon.jsii.tests.calculator.JsiiAgent -jsii-calc.JsonFormatter=software.amazon.jsii.tests.calculator.JsonFormatter -jsii-calc.LoadBalancedFargateServiceProps=software.amazon.jsii.tests.calculator.LoadBalancedFargateServiceProps -jsii-calc.MethodNamedProperty=software.amazon.jsii.tests.calculator.MethodNamedProperty -jsii-calc.Multiply=software.amazon.jsii.tests.calculator.Multiply -jsii-calc.Negate=software.amazon.jsii.tests.calculator.Negate -jsii-calc.NestedStruct=software.amazon.jsii.tests.calculator.NestedStruct -jsii-calc.NodeStandardLibrary=software.amazon.jsii.tests.calculator.NodeStandardLibrary -jsii-calc.NullShouldBeTreatedAsUndefined=software.amazon.jsii.tests.calculator.NullShouldBeTreatedAsUndefined -jsii-calc.NullShouldBeTreatedAsUndefinedData=software.amazon.jsii.tests.calculator.NullShouldBeTreatedAsUndefinedData -jsii-calc.NumberGenerator=software.amazon.jsii.tests.calculator.NumberGenerator -jsii-calc.ObjectRefsInCollections=software.amazon.jsii.tests.calculator.ObjectRefsInCollections -jsii-calc.ObjectWithPropertyProvider=software.amazon.jsii.tests.calculator.ObjectWithPropertyProvider -jsii-calc.Old=software.amazon.jsii.tests.calculator.Old -jsii-calc.OptionalArgumentInvoker=software.amazon.jsii.tests.calculator.OptionalArgumentInvoker -jsii-calc.OptionalConstructorArgument=software.amazon.jsii.tests.calculator.OptionalConstructorArgument -jsii-calc.OptionalStruct=software.amazon.jsii.tests.calculator.OptionalStruct -jsii-calc.OptionalStructConsumer=software.amazon.jsii.tests.calculator.OptionalStructConsumer -jsii-calc.OverridableProtectedMember=software.amazon.jsii.tests.calculator.OverridableProtectedMember -jsii-calc.OverrideReturnsObject=software.amazon.jsii.tests.calculator.OverrideReturnsObject -jsii-calc.ParentStruct982=software.amazon.jsii.tests.calculator.ParentStruct982 -jsii-calc.PartiallyInitializedThisConsumer=software.amazon.jsii.tests.calculator.PartiallyInitializedThisConsumer -jsii-calc.Polymorphism=software.amazon.jsii.tests.calculator.Polymorphism -jsii-calc.Power=software.amazon.jsii.tests.calculator.Power -jsii-calc.PropertyNamedProperty=software.amazon.jsii.tests.calculator.PropertyNamedProperty -jsii-calc.PublicClass=software.amazon.jsii.tests.calculator.PublicClass -jsii-calc.PythonReservedWords=software.amazon.jsii.tests.calculator.PythonReservedWords -jsii-calc.PythonSelf.ClassWithSelf=software.amazon.jsii.tests.calculator.python_self.ClassWithSelf -jsii-calc.PythonSelf.ClassWithSelfKwarg=software.amazon.jsii.tests.calculator.python_self.ClassWithSelfKwarg -jsii-calc.PythonSelf.IInterfaceWithSelf=software.amazon.jsii.tests.calculator.python_self.IInterfaceWithSelf -jsii-calc.PythonSelf.StructWithSelf=software.amazon.jsii.tests.calculator.python_self.StructWithSelf -jsii-calc.ReferenceEnumFromScopedPackage=software.amazon.jsii.tests.calculator.ReferenceEnumFromScopedPackage -jsii-calc.ReturnsPrivateImplementationOfInterface=software.amazon.jsii.tests.calculator.ReturnsPrivateImplementationOfInterface -jsii-calc.RootStruct=software.amazon.jsii.tests.calculator.RootStruct -jsii-calc.RootStructValidator=software.amazon.jsii.tests.calculator.RootStructValidator -jsii-calc.RuntimeTypeChecking=software.amazon.jsii.tests.calculator.RuntimeTypeChecking -jsii-calc.SecondLevelStruct=software.amazon.jsii.tests.calculator.SecondLevelStruct -jsii-calc.SingleInstanceTwoTypes=software.amazon.jsii.tests.calculator.SingleInstanceTwoTypes -jsii-calc.SingletonInt=software.amazon.jsii.tests.calculator.SingletonInt -jsii-calc.SingletonIntEnum=software.amazon.jsii.tests.calculator.SingletonIntEnum -jsii-calc.SingletonString=software.amazon.jsii.tests.calculator.SingletonString -jsii-calc.SingletonStringEnum=software.amazon.jsii.tests.calculator.SingletonStringEnum -jsii-calc.SmellyStruct=software.amazon.jsii.tests.calculator.SmellyStruct -jsii-calc.SomeTypeJsii976=software.amazon.jsii.tests.calculator.SomeTypeJsii976 -jsii-calc.StableClass=software.amazon.jsii.tests.calculator.StableClass -jsii-calc.StableEnum=software.amazon.jsii.tests.calculator.StableEnum -jsii-calc.StableStruct=software.amazon.jsii.tests.calculator.StableStruct -jsii-calc.StaticContext=software.amazon.jsii.tests.calculator.StaticContext -jsii-calc.Statics=software.amazon.jsii.tests.calculator.Statics -jsii-calc.StringEnum=software.amazon.jsii.tests.calculator.StringEnum -jsii-calc.StripInternal=software.amazon.jsii.tests.calculator.StripInternal -jsii-calc.StructA=software.amazon.jsii.tests.calculator.StructA -jsii-calc.StructB=software.amazon.jsii.tests.calculator.StructB -jsii-calc.StructParameterType=software.amazon.jsii.tests.calculator.StructParameterType -jsii-calc.StructPassing=software.amazon.jsii.tests.calculator.StructPassing -jsii-calc.StructUnionConsumer=software.amazon.jsii.tests.calculator.StructUnionConsumer -jsii-calc.StructWithJavaReservedWords=software.amazon.jsii.tests.calculator.StructWithJavaReservedWords -jsii-calc.Sum=software.amazon.jsii.tests.calculator.Sum -jsii-calc.SupportsNiceJavaBuilder=software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilder -jsii-calc.SupportsNiceJavaBuilderProps=software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderProps -jsii-calc.SupportsNiceJavaBuilderWithRequiredProps=software.amazon.jsii.tests.calculator.SupportsNiceJavaBuilderWithRequiredProps -jsii-calc.SyncVirtualMethods=software.amazon.jsii.tests.calculator.SyncVirtualMethods -jsii-calc.Thrower=software.amazon.jsii.tests.calculator.Thrower -jsii-calc.TopLevelStruct=software.amazon.jsii.tests.calculator.TopLevelStruct -jsii-calc.UmaskCheck=software.amazon.jsii.tests.calculator.UmaskCheck -jsii-calc.UnaryOperation=software.amazon.jsii.tests.calculator.UnaryOperation -jsii-calc.UnionProperties=software.amazon.jsii.tests.calculator.UnionProperties -jsii-calc.UpcasingReflectable=software.amazon.jsii.tests.calculator.UpcasingReflectable -jsii-calc.UseBundledDependency=software.amazon.jsii.tests.calculator.UseBundledDependency -jsii-calc.UseCalcBase=software.amazon.jsii.tests.calculator.UseCalcBase -jsii-calc.UsesInterfaceWithProperties=software.amazon.jsii.tests.calculator.UsesInterfaceWithProperties -jsii-calc.VariadicInvoker=software.amazon.jsii.tests.calculator.VariadicInvoker -jsii-calc.VariadicMethod=software.amazon.jsii.tests.calculator.VariadicMethod -jsii-calc.VirtualMethodPlayground=software.amazon.jsii.tests.calculator.VirtualMethodPlayground -jsii-calc.VoidCallback=software.amazon.jsii.tests.calculator.VoidCallback -jsii-calc.WithPrivatePropertyInConstructor=software.amazon.jsii.tests.calculator.WithPrivatePropertyInConstructor -jsii-calc.composition.CompositeOperation=software.amazon.jsii.tests.calculator.composition.CompositeOperation -jsii-calc.composition.CompositeOperation.CompositionStringStyle=software.amazon.jsii.tests.calculator.composition.CompositeOperation$CompositionStringStyle -jsii-calc.submodule.MyClass=software.amazon.jsii.tests.calculator.submodule.MyClass -jsii-calc.submodule.back_references.MyClassReference=software.amazon.jsii.tests.calculator.submodule.back_references.MyClassReference -jsii-calc.submodule.child.Awesomeness=software.amazon.jsii.tests.calculator.submodule.child.Awesomeness -jsii-calc.submodule.child.Goodness=software.amazon.jsii.tests.calculator.submodule.child.Goodness -jsii-calc.submodule.child.InnerClass=software.amazon.jsii.tests.calculator.submodule.child.InnerClass -jsii-calc.submodule.child.KwargsProps=software.amazon.jsii.tests.calculator.submodule.child.KwargsProps -jsii-calc.submodule.child.OuterClass=software.amazon.jsii.tests.calculator.submodule.child.OuterClass -jsii-calc.submodule.child.SomeEnum=software.amazon.jsii.tests.calculator.submodule.child.SomeEnum -jsii-calc.submodule.child.SomeStruct=software.amazon.jsii.tests.calculator.submodule.child.SomeStruct -jsii-calc.submodule.child.Structure=software.amazon.jsii.tests.calculator.submodule.child.Structure -jsii-calc.submodule.isolated.Kwargs=software.amazon.jsii.tests.calculator.submodule.isolated.Kwargs -jsii-calc.submodule.nested_submodule.Namespaced=software.amazon.jsii.tests.calculator.submodule.nested_submodule.Namespaced -jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced=software.amazon.jsii.tests.calculator.submodule.nested_submodule.deeply_nested.INamespaced diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/resources/software/amazon/jsii/tests/calculator/jsii-calc@0.0.0.jsii.tgz b/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/resources/software/amazon/jsii/tests/calculator/jsii-calc@0.0.0.jsii.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/java/src/main/resources/software/amazon/jsii/tests/calculator/jsii-calc@0.0.0.jsii.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/js/jsii-calc@0.0.0.jsii.tgz b/packages/jsii-pacmak/test/expected.jsii-calc/js/jsii-calc@0.0.0.jsii.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/js/jsii-calc@0.0.0.jsii.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/MANIFEST.in b/packages/jsii-pacmak/test/expected.jsii-calc/python/MANIFEST.in deleted file mode 100644 index bec201fc83..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/MANIFEST.in +++ /dev/null @@ -1 +0,0 @@ -include pyproject.toml diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/README.md b/packages/jsii-pacmak/test/expected.jsii-calc/python/README.md deleted file mode 100644 index 310d26c590..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/README.md +++ /dev/null @@ -1,27 +0,0 @@ -# jsii Calculator - -This library is used to demonstrate and test the features of JSII - -## How to use running sum API: - -First, create a calculator: - -```python -# Example automatically generated. See https://github.com/aws/jsii/issues/826 -calculator = calc.Calculator() -``` - -Then call some operations: - -```python -# Example automatically generated. See https://github.com/aws/jsii/issues/826 -calculator.add(10) -``` - -## Code Samples - -```python -# Example automatically generated. See https://github.com/aws/jsii/issues/826 -# This is totes a magic comment in here, just you wait! -foo = "bar" -``` diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/pyproject.toml b/packages/jsii-pacmak/test/expected.jsii-calc/python/pyproject.toml deleted file mode 100644 index 34ba8ead4b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/pyproject.toml +++ /dev/null @@ -1,3 +0,0 @@ -[build-system] -requires = ["setuptools >= 38.6.0", "wheel >= 0.31.0"] -build-backend = "setuptools.build_meta" diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/setup.py b/packages/jsii-pacmak/test/expected.jsii-calc/python/setup.py deleted file mode 100644 index f78328717b..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/setup.py +++ /dev/null @@ -1,71 +0,0 @@ -import json -import setuptools - -kwargs = json.loads( - """ -{ - "name": "jsii-calc", - "version": "0.0.0", - "description": "A simple calcuator built on JSII.", - "license": "Apache-2.0", - "url": "https://github.com/aws/jsii", - "long_description_content_type": "text/markdown", - "author": "Amazon Web Services", - "project_urls": { - "Source": "https://github.com/aws/jsii.git" - }, - "package_dir": { - "": "src" - }, - "packages": [ - "jsii_calc", - "jsii_calc._jsii", - "jsii_calc.composition", - "jsii_calc.derived_class_has_no_properties", - "jsii_calc.interface_in_namespace_includes_classes", - "jsii_calc.interface_in_namespace_only_interface", - "jsii_calc.python_self", - "jsii_calc.submodule", - "jsii_calc.submodule.back_references", - "jsii_calc.submodule.child", - "jsii_calc.submodule.isolated", - "jsii_calc.submodule.nested_submodule", - "jsii_calc.submodule.nested_submodule.deeply_nested" - ], - "package_data": { - "jsii_calc._jsii": [ - "jsii-calc@0.0.0.jsii.tgz" - ], - "jsii_calc": [ - "py.typed" - ] - }, - "python_requires": ">=3.6", - "install_requires": [ - "jsii>=0.0.0, <0.0.1", - "publication>=0.0.3", - "scope.jsii-calc-base>=0.0.0, <0.0.1", - "scope.jsii-calc-base-of-base>=0.0.0, <0.0.1", - "scope.jsii-calc-lib>=0.0.0, <0.0.1" - ], - "classifiers": [ - "Intended Audience :: Developers", - "Operating System :: OS Independent", - "Programming Language :: JavaScript", - "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.6", - "Programming Language :: Python :: 3.7", - "Programming Language :: Python :: 3.8", - "Typing :: Typed", - "Development Status :: 4 - Beta", - "License :: OSI Approved" - ] -} -""" -) - -with open("README.md") as fp: - kwargs["long_description"] = fp.read() - - -setuptools.setup(**kwargs) diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/__init__.py deleted file mode 100644 index f6b8ee36e5..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/__init__.py +++ /dev/null @@ -1,10091 +0,0 @@ -""" -# jsii Calculator - -This library is used to demonstrate and test the features of JSII - -## How to use running sum API: - -First, create a calculator: - -```python -# Example automatically generated. See https://github.com/aws/jsii/issues/826 -calculator = calc.Calculator() -``` - -Then call some operations: - -```python -# Example automatically generated. See https://github.com/aws/jsii/issues/826 -calculator.add(10) -``` - -## Code Samples - -```python -# Example automatically generated. See https://github.com/aws/jsii/issues/826 -# This is totes a magic comment in here, just you wait! -foo = "bar" -``` -""" -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from ._jsii import * - -import scope.jsii_calc_base -import scope.jsii_calc_base_of_base -import scope.jsii_calc_lib -import scope.jsii_calc_lib.custom_submodule_name -from .composition import CompositeOperation as _CompositeOperation_1c4d123b - - -class AbstractClassBase( - metaclass=jsii.JSIIAbstractClass, jsii_type="jsii-calc.AbstractClassBase" -): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _AbstractClassBaseProxy - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(AbstractClassBase, self, []) - - @builtins.property - @jsii.member(jsii_name="abstractProperty") - @abc.abstractmethod - def abstract_property(self) -> str: - """ - stability - :stability: experimental - """ - ... - - -class _AbstractClassBaseProxy(AbstractClassBase): - @builtins.property - @jsii.member(jsii_name="abstractProperty") - def abstract_property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "abstractProperty") - - -class AbstractClassReturner( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.AbstractClassReturner" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(AbstractClassReturner, self, []) - - @jsii.member(jsii_name="giveMeAbstract") - def give_me_abstract(self) -> "AbstractClass": - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "giveMeAbstract", []) - - @jsii.member(jsii_name="giveMeInterface") - def give_me_interface(self) -> "IInterfaceImplementedByAbstractClass": - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "giveMeInterface", []) - - @builtins.property - @jsii.member(jsii_name="returnAbstractFromProperty") - def return_abstract_from_property(self) -> "AbstractClassBase": - """ - stability - :stability: experimental - """ - return jsii.get(self, "returnAbstractFromProperty") - - -class AbstractSuite( - metaclass=jsii.JSIIAbstractClass, jsii_type="jsii-calc.AbstractSuite" -): - """Ensures abstract members implementations correctly register overrides in various languages. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _AbstractSuiteProxy - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(AbstractSuite, self, []) - - @jsii.member(jsii_name="someMethod") - @abc.abstractmethod - def _some_method(self, str: str) -> str: - """ - :param str: - - - stability - :stability: experimental - """ - ... - - @jsii.member(jsii_name="workItAll") - def work_it_all(self, seed: str) -> str: - """Sets ``seed`` to ``this.property``, then calls ``someMethod`` with ``this.property`` and returns the result. - - :param seed: a ``string``. - - stability - :stability: experimental - """ - return jsii.invoke(self, "workItAll", [seed]) - - @builtins.property - @jsii.member(jsii_name="property") - @abc.abstractmethod - def _property(self) -> str: - """ - stability - :stability: experimental - """ - ... - - @_property.setter - @abc.abstractmethod - def _property(self, value: str) -> None: - ... - - -class _AbstractSuiteProxy(AbstractSuite): - @jsii.member(jsii_name="someMethod") - def _some_method(self, str: str) -> str: - """ - :param str: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "someMethod", [str]) - - @builtins.property - @jsii.member(jsii_name="property") - def _property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "property") - - @_property.setter - def _property(self, value: str) -> None: - jsii.set(self, "property", value) - - -class AllTypes(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.AllTypes"): - """This class includes property for all types supported by jsii. - - The setters will validate - that the value set is of the expected type and throw otherwise. - - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(AllTypes, self, []) - - @jsii.member(jsii_name="anyIn") - def any_in(self, inp: typing.Any) -> None: - """ - :param inp: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "anyIn", [inp]) - - @jsii.member(jsii_name="anyOut") - def any_out(self) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "anyOut", []) - - @jsii.member(jsii_name="enumMethod") - def enum_method(self, value: "StringEnum") -> "StringEnum": - """ - :param value: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "enumMethod", [value]) - - @builtins.property - @jsii.member(jsii_name="enumPropertyValue") - def enum_property_value(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.get(self, "enumPropertyValue") - - @builtins.property - @jsii.member(jsii_name="anyArrayProperty") - def any_array_property(self) -> typing.List[typing.Any]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "anyArrayProperty") - - @any_array_property.setter - def any_array_property(self, value: typing.List[typing.Any]) -> None: - jsii.set(self, "anyArrayProperty", value) - - @builtins.property - @jsii.member(jsii_name="anyMapProperty") - def any_map_property(self) -> typing.Mapping[str, typing.Any]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "anyMapProperty") - - @any_map_property.setter - def any_map_property(self, value: typing.Mapping[str, typing.Any]) -> None: - jsii.set(self, "anyMapProperty", value) - - @builtins.property - @jsii.member(jsii_name="anyProperty") - def any_property(self) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.get(self, "anyProperty") - - @any_property.setter - def any_property(self, value: typing.Any) -> None: - jsii.set(self, "anyProperty", value) - - @builtins.property - @jsii.member(jsii_name="arrayProperty") - def array_property(self) -> typing.List[str]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "arrayProperty") - - @array_property.setter - def array_property(self, value: typing.List[str]) -> None: - jsii.set(self, "arrayProperty", value) - - @builtins.property - @jsii.member(jsii_name="booleanProperty") - def boolean_property(self) -> bool: - """ - stability - :stability: experimental - """ - return jsii.get(self, "booleanProperty") - - @boolean_property.setter - def boolean_property(self, value: bool) -> None: - jsii.set(self, "booleanProperty", value) - - @builtins.property - @jsii.member(jsii_name="dateProperty") - def date_property(self) -> datetime.datetime: - """ - stability - :stability: experimental - """ - return jsii.get(self, "dateProperty") - - @date_property.setter - def date_property(self, value: datetime.datetime) -> None: - jsii.set(self, "dateProperty", value) - - @builtins.property - @jsii.member(jsii_name="enumProperty") - def enum_property(self) -> "AllTypesEnum": - """ - stability - :stability: experimental - """ - return jsii.get(self, "enumProperty") - - @enum_property.setter - def enum_property(self, value: "AllTypesEnum") -> None: - jsii.set(self, "enumProperty", value) - - @builtins.property - @jsii.member(jsii_name="jsonProperty") - def json_property(self) -> typing.Mapping[typing.Any, typing.Any]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "jsonProperty") - - @json_property.setter - def json_property(self, value: typing.Mapping[typing.Any, typing.Any]) -> None: - jsii.set(self, "jsonProperty", value) - - @builtins.property - @jsii.member(jsii_name="mapProperty") - def map_property(self) -> typing.Mapping[str, scope.jsii_calc_lib.Number]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "mapProperty") - - @map_property.setter - def map_property( - self, value: typing.Mapping[str, scope.jsii_calc_lib.Number] - ) -> None: - jsii.set(self, "mapProperty", value) - - @builtins.property - @jsii.member(jsii_name="numberProperty") - def number_property(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.get(self, "numberProperty") - - @number_property.setter - def number_property(self, value: jsii.Number) -> None: - jsii.set(self, "numberProperty", value) - - @builtins.property - @jsii.member(jsii_name="stringProperty") - def string_property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "stringProperty") - - @string_property.setter - def string_property(self, value: str) -> None: - jsii.set(self, "stringProperty", value) - - @builtins.property - @jsii.member(jsii_name="unionArrayProperty") - def union_array_property( - self, - ) -> typing.List[typing.Union[jsii.Number, scope.jsii_calc_lib.Value]]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "unionArrayProperty") - - @union_array_property.setter - def union_array_property( - self, value: typing.List[typing.Union[jsii.Number, scope.jsii_calc_lib.Value]] - ) -> None: - jsii.set(self, "unionArrayProperty", value) - - @builtins.property - @jsii.member(jsii_name="unionMapProperty") - def union_map_property( - self, - ) -> typing.Mapping[ - str, typing.Union[str, jsii.Number, scope.jsii_calc_lib.Number] - ]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "unionMapProperty") - - @union_map_property.setter - def union_map_property( - self, - value: typing.Mapping[ - str, typing.Union[str, jsii.Number, scope.jsii_calc_lib.Number] - ], - ) -> None: - jsii.set(self, "unionMapProperty", value) - - @builtins.property - @jsii.member(jsii_name="unionProperty") - def union_property( - self, - ) -> typing.Union[str, jsii.Number, "Multiply", scope.jsii_calc_lib.Number]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "unionProperty") - - @union_property.setter - def union_property( - self, - value: typing.Union[str, jsii.Number, "Multiply", scope.jsii_calc_lib.Number], - ) -> None: - jsii.set(self, "unionProperty", value) - - @builtins.property - @jsii.member(jsii_name="unknownArrayProperty") - def unknown_array_property(self) -> typing.List[typing.Any]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "unknownArrayProperty") - - @unknown_array_property.setter - def unknown_array_property(self, value: typing.List[typing.Any]) -> None: - jsii.set(self, "unknownArrayProperty", value) - - @builtins.property - @jsii.member(jsii_name="unknownMapProperty") - def unknown_map_property(self) -> typing.Mapping[str, typing.Any]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "unknownMapProperty") - - @unknown_map_property.setter - def unknown_map_property(self, value: typing.Mapping[str, typing.Any]) -> None: - jsii.set(self, "unknownMapProperty", value) - - @builtins.property - @jsii.member(jsii_name="unknownProperty") - def unknown_property(self) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.get(self, "unknownProperty") - - @unknown_property.setter - def unknown_property(self, value: typing.Any) -> None: - jsii.set(self, "unknownProperty", value) - - @builtins.property - @jsii.member(jsii_name="optionalEnumValue") - def optional_enum_value(self) -> typing.Optional["StringEnum"]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "optionalEnumValue") - - @optional_enum_value.setter - def optional_enum_value(self, value: typing.Optional["StringEnum"]) -> None: - jsii.set(self, "optionalEnumValue", value) - - -@jsii.enum(jsii_type="jsii-calc.AllTypesEnum") -class AllTypesEnum(enum.Enum): - """ - stability - :stability: experimental - """ - - MY_ENUM_VALUE = "MY_ENUM_VALUE" - """ - stability - :stability: experimental - """ - YOUR_ENUM_VALUE = "YOUR_ENUM_VALUE" - """ - stability - :stability: experimental - """ - THIS_IS_GREAT = "THIS_IS_GREAT" - """ - stability - :stability: experimental - """ - - -class AllowedMethodNames( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.AllowedMethodNames" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(AllowedMethodNames, self, []) - - @jsii.member(jsii_name="getBar") - def get_bar(self, _p1: str, _p2: jsii.Number) -> None: - """ - :param _p1: - - :param _p2: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "getBar", [_p1, _p2]) - - @jsii.member(jsii_name="getFoo") - def get_foo(self, with_param: str) -> str: - """getXxx() is not allowed (see negatives), but getXxx(a, ...) is okay. - - :param with_param: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "getFoo", [with_param]) - - @jsii.member(jsii_name="setBar") - def set_bar(self, _x: str, _y: jsii.Number, _z: bool) -> None: - """ - :param _x: - - :param _y: - - :param _z: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "setBar", [_x, _y, _z]) - - @jsii.member(jsii_name="setFoo") - def set_foo(self, _x: str, _y: jsii.Number) -> None: - """setFoo(x) is not allowed (see negatives), but setXxx(a, b, ...) is okay. - - :param _x: - - :param _y: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "setFoo", [_x, _y]) - - -class AmbiguousParameters( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.AmbiguousParameters" -): - """ - stability - :stability: experimental - """ - - def __init__( - self, scope_: "Bell", *, scope: str, props: typing.Optional[bool] = None - ) -> None: - """ - :param scope_: - - :param scope: - :param props: - - stability - :stability: experimental - """ - props_ = StructParameterType(scope=scope, props=props) - - jsii.create(AmbiguousParameters, self, [scope_, props_]) - - @builtins.property - @jsii.member(jsii_name="props") - def props(self) -> "StructParameterType": - """ - stability - :stability: experimental - """ - return jsii.get(self, "props") - - @builtins.property - @jsii.member(jsii_name="scope") - def scope(self) -> "Bell": - """ - stability - :stability: experimental - """ - return jsii.get(self, "scope") - - -class AsyncVirtualMethods( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.AsyncVirtualMethods" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(AsyncVirtualMethods, self, []) - - @jsii.member(jsii_name="callMe") - def call_me(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.ainvoke(self, "callMe", []) - - @jsii.member(jsii_name="callMe2") - def call_me2(self) -> jsii.Number: - """Just calls "overrideMeToo". - - stability - :stability: experimental - """ - return jsii.ainvoke(self, "callMe2", []) - - @jsii.member(jsii_name="callMeDoublePromise") - def call_me_double_promise(self) -> jsii.Number: - """This method calls the "callMe" async method indirectly, which will then invoke a virtual method. - - This is a "double promise" situation, which - means that callbacks are not going to be available immediate, but only - after an "immediates" cycle. - - stability - :stability: experimental - """ - return jsii.ainvoke(self, "callMeDoublePromise", []) - - @jsii.member(jsii_name="dontOverrideMe") - def dont_override_me(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "dontOverrideMe", []) - - @jsii.member(jsii_name="overrideMe") - def override_me(self, mult: jsii.Number) -> jsii.Number: - """ - :param mult: - - - stability - :stability: experimental - """ - return jsii.ainvoke(self, "overrideMe", [mult]) - - @jsii.member(jsii_name="overrideMeToo") - def override_me_too(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.ainvoke(self, "overrideMeToo", []) - - -class AugmentableClass(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.AugmentableClass"): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(AugmentableClass, self, []) - - @jsii.member(jsii_name="methodOne") - def method_one(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "methodOne", []) - - @jsii.member(jsii_name="methodTwo") - def method_two(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "methodTwo", []) - - -class BaseJsii976(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.BaseJsii976"): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(BaseJsii976, self, []) - - -@jsii.implements(scope.jsii_calc_lib.IFriendly) -class BinaryOperation( - scope.jsii_calc_lib.Operation, - metaclass=jsii.JSIIAbstractClass, - jsii_type="jsii-calc.BinaryOperation", -): - """Represents an operation with two operands. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _BinaryOperationProxy - - def __init__( - self, lhs: scope.jsii_calc_lib.Value, rhs: scope.jsii_calc_lib.Value - ) -> None: - """Creates a BinaryOperation. - - :param lhs: Left-hand side operand. - :param rhs: Right-hand side operand. - - stability - :stability: experimental - """ - jsii.create(BinaryOperation, self, [lhs, rhs]) - - @jsii.member(jsii_name="hello") - def hello(self) -> str: - """Say hello! - - stability - :stability: experimental - """ - return jsii.invoke(self, "hello", []) - - @builtins.property - @jsii.member(jsii_name="lhs") - def lhs(self) -> scope.jsii_calc_lib.Value: - """Left-hand side operand. - - stability - :stability: experimental - """ - return jsii.get(self, "lhs") - - @builtins.property - @jsii.member(jsii_name="rhs") - def rhs(self) -> scope.jsii_calc_lib.Value: - """Right-hand side operand. - - stability - :stability: experimental - """ - return jsii.get(self, "rhs") - - -class _BinaryOperationProxy( - BinaryOperation, jsii.proxy_for(scope.jsii_calc_lib.Operation) -): - pass - - -class Calculator( - _CompositeOperation_1c4d123b, - metaclass=jsii.JSIIMeta, - jsii_type="jsii-calc.Calculator", -): - """A calculator which maintains a current value and allows adding operations. - - Here's how you use it:: - - # Example automatically generated. See https://github.com/aws/jsii/issues/826 - calculator = calc.Calculator() - calculator.add(5) - calculator.mul(3) - print(calculator.expression.value) - - I will repeat this example again, but in an @example tag. - - stability - :stability: experimental - - Example:: - - # Example automatically generated. See https://github.com/aws/jsii/issues/826 - calculator = calc.Calculator() - calculator.add(5) - calculator.mul(3) - print(calculator.expression.value) - """ - - def __init__( - self, - *, - initial_value: typing.Optional[jsii.Number] = None, - maximum_value: typing.Optional[jsii.Number] = None, - ) -> None: - """Creates a Calculator object. - - :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 - - stability - :stability: experimental - """ - props = CalculatorProps( - initial_value=initial_value, maximum_value=maximum_value - ) - - jsii.create(Calculator, self, [props]) - - @jsii.member(jsii_name="add") - def add(self, value: jsii.Number) -> None: - """Adds a number to the current value. - - :param value: - - - stability - :stability: experimental - """ - return 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: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "mul", [value]) - - @jsii.member(jsii_name="neg") - def neg(self) -> None: - """Negates the current value. - - stability - :stability: experimental - """ - return jsii.invoke(self, "neg", []) - - @jsii.member(jsii_name="pow") - def pow(self, value: jsii.Number) -> None: - """Raises the current value by a power. - - :param value: - - - stability - :stability: experimental - """ - return 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). - - stability - :stability: experimental - """ - return jsii.invoke(self, "readUnionValue", []) - - @builtins.property - @jsii.member(jsii_name="expression") - def expression(self) -> scope.jsii_calc_lib.Value: - """Returns the expression. - - stability - :stability: experimental - """ - return jsii.get(self, "expression") - - @builtins.property - @jsii.member(jsii_name="operationsLog") - def operations_log(self) -> typing.List[scope.jsii_calc_lib.Value]: - """A log of all operations. - - stability - :stability: experimental - """ - return jsii.get(self, "operationsLog") - - @builtins.property - @jsii.member(jsii_name="operationsMap") - def operations_map( - self, - ) -> typing.Mapping[str, typing.List[scope.jsii_calc_lib.Value]]: - """A map of per operation name of all operations performed. - - stability - :stability: experimental - """ - return jsii.get(self, "operationsMap") - - @builtins.property - @jsii.member(jsii_name="curr") - def curr(self) -> scope.jsii_calc_lib.Value: - """The current value. - - stability - :stability: experimental - """ - return jsii.get(self, "curr") - - @curr.setter - def curr(self, value: scope.jsii_calc_lib.Value) -> None: - 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. - - stability - :stability: experimental - """ - return jsii.get(self, "maxValue") - - @max_value.setter - def max_value(self, value: typing.Optional[jsii.Number]) -> None: - jsii.set(self, "maxValue", value) - - @builtins.property - @jsii.member(jsii_name="unionProperty") - def union_property( - self, - ) -> typing.Optional[typing.Union["Add", "Multiply", "Power"]]: - """Example of a property that accepts a union of types. - - stability - :stability: experimental - """ - return jsii.get(self, "unionProperty") - - @union_property.setter - def union_property( - self, value: typing.Optional[typing.Union["Add", "Multiply", "Power"]] - ) -> None: - jsii.set(self, "unionProperty", value) - - -@jsii.data_type( - jsii_type="jsii-calc.CalculatorProps", - jsii_struct_bases=[], - name_mapping={"initial_value": "initialValue", "maximum_value": "maximumValue"}, -) -class CalculatorProps: - def __init__( - self, - *, - initial_value: typing.Optional[jsii.Number] = None, - maximum_value: typing.Optional[jsii.Number] = None, - ) -> None: - """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 - - stability - :stability: experimental - """ - self._values = {} - if initial_value is not None: - self._values["initial_value"] = initial_value - if maximum_value is not None: - self._values["maximum_value"] = maximum_value - - @builtins.property - def initial_value(self) -> typing.Optional[jsii.Number]: - """The initial value of the calculator. - - NOTE: Any number works here, it's fine. - - default - :default: 0 - - stability - :stability: experimental - """ - return self._values.get("initial_value") - - @builtins.property - def maximum_value(self) -> typing.Optional[jsii.Number]: - """The maximum value the calculator can store. - - default - :default: none - - stability - :stability: experimental - """ - return self._values.get("maximum_value") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "CalculatorProps(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class ClassWithCollections( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ClassWithCollections" -): - """ - stability - :stability: experimental - """ - - def __init__(self, map: typing.Mapping[str, str], array: typing.List[str]) -> None: - """ - :param map: - - :param array: - - - stability - :stability: experimental - """ - jsii.create(ClassWithCollections, self, [map, array]) - - @jsii.member(jsii_name="createAList") - @builtins.classmethod - def create_a_list(cls) -> typing.List[str]: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "createAList", []) - - @jsii.member(jsii_name="createAMap") - @builtins.classmethod - def create_a_map(cls) -> typing.Mapping[str, str]: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "createAMap", []) - - @jsii.python.classproperty - @jsii.member(jsii_name="staticArray") - def static_array(cls) -> typing.List[str]: - """ - stability - :stability: experimental - """ - return jsii.sget(cls, "staticArray") - - @static_array.setter - def static_array(cls, value: typing.List[str]) -> None: - jsii.sset(cls, "staticArray", value) - - @jsii.python.classproperty - @jsii.member(jsii_name="staticMap") - def static_map(cls) -> typing.Mapping[str, str]: - """ - stability - :stability: experimental - """ - return jsii.sget(cls, "staticMap") - - @static_map.setter - def static_map(cls, value: typing.Mapping[str, str]) -> None: - jsii.sset(cls, "staticMap", value) - - @builtins.property - @jsii.member(jsii_name="array") - def array(self) -> typing.List[str]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "array") - - @array.setter - def array(self, value: typing.List[str]) -> None: - jsii.set(self, "array", value) - - @builtins.property - @jsii.member(jsii_name="map") - def map(self) -> typing.Mapping[str, str]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "map") - - @map.setter - def map(self, value: typing.Mapping[str, str]) -> None: - jsii.set(self, "map", value) - - -class ClassWithDocs(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ClassWithDocs"): - """This class has docs. - - The docs are great. They're a bunch of tags. - - see - :see: https://aws.amazon.com/ - customAttribute: - :customAttribute:: hasAValue - - Example:: - - # Example automatically generated. See https://github.com/aws/jsii/issues/826 - def an_example(): - pass - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(ClassWithDocs, self, []) - - -class ClassWithJavaReservedWords( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ClassWithJavaReservedWords" -): - """ - stability - :stability: experimental - """ - - def __init__(self, int: str) -> None: - """ - :param int: - - - stability - :stability: experimental - """ - jsii.create(ClassWithJavaReservedWords, self, [int]) - - @jsii.member(jsii_name="import") - def import_(self, assert_: str) -> str: - """ - :param assert_: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "import", [assert_]) - - @builtins.property - @jsii.member(jsii_name="int") - def int(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "int") - - -class ClassWithMutableObjectLiteralProperty( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ClassWithMutableObjectLiteralProperty" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(ClassWithMutableObjectLiteralProperty, self, []) - - @builtins.property - @jsii.member(jsii_name="mutableObject") - def mutable_object(self) -> "IMutableObjectLiteral": - """ - stability - :stability: experimental - """ - return jsii.get(self, "mutableObject") - - @mutable_object.setter - def mutable_object(self, value: "IMutableObjectLiteral") -> None: - jsii.set(self, "mutableObject", value) - - -class ConfusingToJackson( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ConfusingToJackson" -): - """This tries to confuse Jackson by having overloaded property setters. - - see - :see: https://github.com/aws/aws-cdk/issues/4080 - stability - :stability: experimental - """ - - @jsii.member(jsii_name="makeInstance") - @builtins.classmethod - def make_instance(cls) -> "ConfusingToJackson": - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "makeInstance", []) - - @jsii.member(jsii_name="makeStructInstance") - @builtins.classmethod - def make_struct_instance(cls) -> "ConfusingToJacksonStruct": - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "makeStructInstance", []) - - @builtins.property - @jsii.member(jsii_name="unionProperty") - def union_property( - self, - ) -> typing.Optional[ - typing.Union[ - scope.jsii_calc_lib.IFriendly, - typing.List[typing.Union[scope.jsii_calc_lib.IFriendly, "AbstractClass"]], - ] - ]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "unionProperty") - - @union_property.setter - def union_property( - self, - value: typing.Optional[ - typing.Union[ - scope.jsii_calc_lib.IFriendly, - typing.List[ - typing.Union[scope.jsii_calc_lib.IFriendly, "AbstractClass"] - ], - ] - ], - ) -> None: - jsii.set(self, "unionProperty", value) - - -@jsii.data_type( - jsii_type="jsii-calc.ConfusingToJacksonStruct", - jsii_struct_bases=[], - name_mapping={"union_property": "unionProperty"}, -) -class ConfusingToJacksonStruct: - def __init__( - self, - *, - union_property: typing.Optional[ - typing.Union[ - scope.jsii_calc_lib.IFriendly, - typing.List[ - typing.Union[scope.jsii_calc_lib.IFriendly, "AbstractClass"] - ], - ] - ] = None, - ) -> None: - """ - :param union_property: - - stability - :stability: experimental - """ - self._values = {} - if union_property is not None: - self._values["union_property"] = union_property - - @builtins.property - def union_property( - self, - ) -> typing.Optional[ - typing.Union[ - scope.jsii_calc_lib.IFriendly, - typing.List[typing.Union[scope.jsii_calc_lib.IFriendly, "AbstractClass"]], - ] - ]: - """ - stability - :stability: experimental - """ - return self._values.get("union_property") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "ConfusingToJacksonStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class ConstructorPassesThisOut( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ConstructorPassesThisOut" -): - """ - stability - :stability: experimental - """ - - def __init__(self, consumer: "PartiallyInitializedThisConsumer") -> None: - """ - :param consumer: - - - stability - :stability: experimental - """ - jsii.create(ConstructorPassesThisOut, self, [consumer]) - - -class Constructors(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Constructors"): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(Constructors, self, []) - - @jsii.member(jsii_name="hiddenInterface") - @builtins.classmethod - def hidden_interface(cls) -> "IPublicInterface": - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "hiddenInterface", []) - - @jsii.member(jsii_name="hiddenInterfaces") - @builtins.classmethod - def hidden_interfaces(cls) -> typing.List["IPublicInterface"]: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "hiddenInterfaces", []) - - @jsii.member(jsii_name="hiddenSubInterfaces") - @builtins.classmethod - def hidden_sub_interfaces(cls) -> typing.List["IPublicInterface"]: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "hiddenSubInterfaces", []) - - @jsii.member(jsii_name="makeClass") - @builtins.classmethod - def make_class(cls) -> "PublicClass": - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "makeClass", []) - - @jsii.member(jsii_name="makeInterface") - @builtins.classmethod - def make_interface(cls) -> "IPublicInterface": - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "makeInterface", []) - - @jsii.member(jsii_name="makeInterface2") - @builtins.classmethod - def make_interface2(cls) -> "IPublicInterface2": - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "makeInterface2", []) - - @jsii.member(jsii_name="makeInterfaces") - @builtins.classmethod - def make_interfaces(cls) -> typing.List["IPublicInterface"]: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "makeInterfaces", []) - - -class ConsumePureInterface( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ConsumePureInterface" -): - """ - stability - :stability: experimental - """ - - def __init__(self, delegate: "IStructReturningDelegate") -> None: - """ - :param delegate: - - - stability - :stability: experimental - """ - jsii.create(ConsumePureInterface, self, [delegate]) - - @jsii.member(jsii_name="workItBaby") - def work_it_baby(self) -> "StructB": - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "workItBaby", []) - - -class ConsumerCanRingBell( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ConsumerCanRingBell" -): - """Test calling back to consumers that implement interfaces. - - Check that if a JSII consumer implements IConsumerWithInterfaceParam, they can call - the method on the argument that they're passed... - - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(ConsumerCanRingBell, self, []) - - @jsii.member(jsii_name="staticImplementedByObjectLiteral") - @builtins.classmethod - def static_implemented_by_object_literal(cls, ringer: "IBellRinger") -> bool: - """...if the interface is implemented using an object literal. - - Returns whether the bell was rung. - - :param ringer: - - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "staticImplementedByObjectLiteral", [ringer]) - - @jsii.member(jsii_name="staticImplementedByPrivateClass") - @builtins.classmethod - def static_implemented_by_private_class(cls, ringer: "IBellRinger") -> bool: - """...if the interface is implemented using a private class. - - Return whether the bell was rung. - - :param ringer: - - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "staticImplementedByPrivateClass", [ringer]) - - @jsii.member(jsii_name="staticImplementedByPublicClass") - @builtins.classmethod - def static_implemented_by_public_class(cls, ringer: "IBellRinger") -> bool: - """...if the interface is implemented using a public class. - - Return whether the bell was rung. - - :param ringer: - - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "staticImplementedByPublicClass", [ringer]) - - @jsii.member(jsii_name="staticWhenTypedAsClass") - @builtins.classmethod - def static_when_typed_as_class(cls, ringer: "IConcreteBellRinger") -> bool: - """If the parameter is a concrete class instead of an interface. - - Return whether the bell was rung. - - :param ringer: - - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "staticWhenTypedAsClass", [ringer]) - - @jsii.member(jsii_name="implementedByObjectLiteral") - def implemented_by_object_literal(self, ringer: "IBellRinger") -> bool: - """...if the interface is implemented using an object literal. - - Returns whether the bell was rung. - - :param ringer: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "implementedByObjectLiteral", [ringer]) - - @jsii.member(jsii_name="implementedByPrivateClass") - def implemented_by_private_class(self, ringer: "IBellRinger") -> bool: - """...if the interface is implemented using a private class. - - Return whether the bell was rung. - - :param ringer: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "implementedByPrivateClass", [ringer]) - - @jsii.member(jsii_name="implementedByPublicClass") - def implemented_by_public_class(self, ringer: "IBellRinger") -> bool: - """...if the interface is implemented using a public class. - - Return whether the bell was rung. - - :param ringer: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "implementedByPublicClass", [ringer]) - - @jsii.member(jsii_name="whenTypedAsClass") - def when_typed_as_class(self, ringer: "IConcreteBellRinger") -> bool: - """If the parameter is a concrete class instead of an interface. - - Return whether the bell was rung. - - :param ringer: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "whenTypedAsClass", [ringer]) - - -class ConsumersOfThisCrazyTypeSystem( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ConsumersOfThisCrazyTypeSystem" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(ConsumersOfThisCrazyTypeSystem, self, []) - - @jsii.member(jsii_name="consumeAnotherPublicInterface") - def consume_another_public_interface(self, obj: "IAnotherPublicInterface") -> str: - """ - :param obj: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "consumeAnotherPublicInterface", [obj]) - - @jsii.member(jsii_name="consumeNonInternalInterface") - def consume_non_internal_interface( - self, obj: "INonInternalInterface" - ) -> typing.Any: - """ - :param obj: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "consumeNonInternalInterface", [obj]) - - -class DataRenderer(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.DataRenderer"): - """Verifies proper type handling through dynamic overrides. - - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(DataRenderer, self, []) - - @jsii.member(jsii_name="render") - def render( - self, - *, - anumber: jsii.Number, - astring: str, - first_optional: typing.Optional[typing.List[str]] = None, - ) -> str: - """ - :param anumber: An awesome number value. - :param astring: A string value. - :param first_optional: - - stability - :stability: experimental - """ - data = scope.jsii_calc_lib.MyFirstStruct( - anumber=anumber, astring=astring, first_optional=first_optional - ) - - return jsii.invoke(self, "render", [data]) - - @jsii.member(jsii_name="renderArbitrary") - def render_arbitrary(self, data: typing.Mapping[str, typing.Any]) -> str: - """ - :param data: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "renderArbitrary", [data]) - - @jsii.member(jsii_name="renderMap") - def render_map(self, map: typing.Mapping[str, typing.Any]) -> str: - """ - :param map: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "renderMap", [map]) - - -class DefaultedConstructorArgument( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.DefaultedConstructorArgument" -): - """ - stability - :stability: experimental - """ - - def __init__( - self, - arg1: typing.Optional[jsii.Number] = None, - arg2: typing.Optional[str] = None, - arg3: typing.Optional[datetime.datetime] = None, - ) -> None: - """ - :param arg1: - - :param arg2: - - :param arg3: - - - stability - :stability: experimental - """ - jsii.create(DefaultedConstructorArgument, self, [arg1, arg2, arg3]) - - @builtins.property - @jsii.member(jsii_name="arg1") - def arg1(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.get(self, "arg1") - - @builtins.property - @jsii.member(jsii_name="arg3") - def arg3(self) -> datetime.datetime: - """ - stability - :stability: experimental - """ - return jsii.get(self, "arg3") - - @builtins.property - @jsii.member(jsii_name="arg2") - def arg2(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "arg2") - - -class Demonstrate982(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Demonstrate982"): - """1. - - call #takeThis() -> An ObjectRef will be provisioned for the value (it'll be re-used!) - 2. call #takeThisToo() -> The ObjectRef from before will need to be down-cased to the ParentStruct982 type - - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(Demonstrate982, self, []) - - @jsii.member(jsii_name="takeThis") - @builtins.classmethod - def take_this(cls) -> "ChildStruct982": - """It's dangerous to go alone! - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "takeThis", []) - - @jsii.member(jsii_name="takeThisToo") - @builtins.classmethod - def take_this_too(cls) -> "ParentStruct982": - """It's dangerous to go alone! - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "takeThisToo", []) - - -class DeprecatedClass(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.DeprecatedClass"): - """ - deprecated - :deprecated: a pretty boring class - - stability - :stability: deprecated - """ - - def __init__( - self, readonly_string: str, mutable_number: typing.Optional[jsii.Number] = None - ) -> None: - """ - :param readonly_string: - - :param mutable_number: - - - deprecated - :deprecated: this constructor is "just" okay - - stability - :stability: deprecated - """ - jsii.create(DeprecatedClass, self, [readonly_string, mutable_number]) - - @jsii.member(jsii_name="method") - def method(self) -> None: - """ - deprecated - :deprecated: it was a bad idea - - stability - :stability: deprecated - """ - return jsii.invoke(self, "method", []) - - @builtins.property - @jsii.member(jsii_name="readonlyProperty") - def readonly_property(self) -> str: - """ - deprecated - :deprecated: this is not always "wazoo", be ready to be disappointed - - stability - :stability: deprecated - """ - return jsii.get(self, "readonlyProperty") - - @builtins.property - @jsii.member(jsii_name="mutableProperty") - def mutable_property(self) -> typing.Optional[jsii.Number]: - """ - deprecated - :deprecated: shouldn't have been mutable - - stability - :stability: deprecated - """ - return jsii.get(self, "mutableProperty") - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: - jsii.set(self, "mutableProperty", value) - - -@jsii.enum(jsii_type="jsii-calc.DeprecatedEnum") -class DeprecatedEnum(enum.Enum): - """ - deprecated - :deprecated: your deprecated selection of bad options - - stability - :stability: deprecated - """ - - OPTION_A = "OPTION_A" - """ - deprecated - :deprecated: option A is not great - - stability - :stability: deprecated - """ - OPTION_B = "OPTION_B" - """ - deprecated - :deprecated: option B is kinda bad, too - - stability - :stability: deprecated - """ - - -@jsii.data_type( - jsii_type="jsii-calc.DeprecatedStruct", - jsii_struct_bases=[], - name_mapping={"readonly_property": "readonlyProperty"}, -) -class DeprecatedStruct: - def __init__(self, *, readonly_property: str) -> None: - """ - :param readonly_property: - - deprecated - :deprecated: it just wraps a string - - stability - :stability: deprecated - """ - self._values = { - "readonly_property": readonly_property, - } - - @builtins.property - def readonly_property(self) -> str: - """ - deprecated - :deprecated: well, yeah - - stability - :stability: deprecated - """ - return self._values.get("readonly_property") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "DeprecatedStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -@jsii.data_type( - jsii_type="jsii-calc.DerivedStruct", - jsii_struct_bases=[scope.jsii_calc_lib.MyFirstStruct], - name_mapping={ - "anumber": "anumber", - "astring": "astring", - "first_optional": "firstOptional", - "another_required": "anotherRequired", - "bool": "bool", - "non_primitive": "nonPrimitive", - "another_optional": "anotherOptional", - "optional_any": "optionalAny", - "optional_array": "optionalArray", - }, -) -class DerivedStruct(scope.jsii_calc_lib.MyFirstStruct): - def __init__( - self, - *, - anumber: jsii.Number, - astring: str, - first_optional: typing.Optional[typing.List[str]] = None, - another_required: datetime.datetime, - bool: bool, - non_primitive: "DoubleTrouble", - another_optional: typing.Optional[ - typing.Mapping[str, scope.jsii_calc_lib.Value] - ] = None, - optional_any: typing.Any = None, - optional_array: typing.Optional[typing.List[str]] = None, - ) -> None: - """A struct which derives from another struct. - - :param anumber: An awesome number value. - :param astring: A string value. - :param first_optional: - :param another_required: - :param bool: - :param non_primitive: An example of a non primitive property. - :param another_optional: This is optional. - :param optional_any: - :param optional_array: - - stability - :stability: experimental - """ - self._values = { - "anumber": anumber, - "astring": astring, - "another_required": another_required, - "bool": bool, - "non_primitive": non_primitive, - } - if first_optional is not None: - self._values["first_optional"] = first_optional - if another_optional is not None: - self._values["another_optional"] = another_optional - if optional_any is not None: - self._values["optional_any"] = optional_any - if optional_array is not None: - self._values["optional_array"] = optional_array - - @builtins.property - def anumber(self) -> jsii.Number: - """An awesome number value. - - stability - :stability: deprecated - """ - return self._values.get("anumber") - - @builtins.property - def astring(self) -> str: - """A string value. - - stability - :stability: deprecated - """ - return self._values.get("astring") - - @builtins.property - def first_optional(self) -> typing.Optional[typing.List[str]]: - """ - stability - :stability: deprecated - """ - return self._values.get("first_optional") - - @builtins.property - def another_required(self) -> datetime.datetime: - """ - stability - :stability: experimental - """ - return self._values.get("another_required") - - @builtins.property - def bool(self) -> bool: - """ - stability - :stability: experimental - """ - return self._values.get("bool") - - @builtins.property - def non_primitive(self) -> "DoubleTrouble": - """An example of a non primitive property. - - stability - :stability: experimental - """ - return self._values.get("non_primitive") - - @builtins.property - def another_optional( - self, - ) -> typing.Optional[typing.Mapping[str, scope.jsii_calc_lib.Value]]: - """This is optional. - - stability - :stability: experimental - """ - return self._values.get("another_optional") - - @builtins.property - def optional_any(self) -> typing.Any: - """ - stability - :stability: experimental - """ - return self._values.get("optional_any") - - @builtins.property - def optional_array(self) -> typing.Optional[typing.List[str]]: - """ - stability - :stability: experimental - """ - return self._values.get("optional_array") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "DerivedStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -@jsii.data_type( - jsii_type="jsii-calc.DiamondInheritanceBaseLevelStruct", - jsii_struct_bases=[], - name_mapping={"base_level_property": "baseLevelProperty"}, -) -class DiamondInheritanceBaseLevelStruct: - def __init__(self, *, base_level_property: str) -> None: - """ - :param base_level_property: - - stability - :stability: experimental - """ - self._values = { - "base_level_property": base_level_property, - } - - @builtins.property - def base_level_property(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("base_level_property") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "DiamondInheritanceBaseLevelStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -@jsii.data_type( - jsii_type="jsii-calc.DiamondInheritanceFirstMidLevelStruct", - jsii_struct_bases=[DiamondInheritanceBaseLevelStruct], - name_mapping={ - "base_level_property": "baseLevelProperty", - "first_mid_level_property": "firstMidLevelProperty", - }, -) -class DiamondInheritanceFirstMidLevelStruct(DiamondInheritanceBaseLevelStruct): - def __init__( - self, *, base_level_property: str, first_mid_level_property: str - ) -> None: - """ - :param base_level_property: - :param first_mid_level_property: - - stability - :stability: experimental - """ - self._values = { - "base_level_property": base_level_property, - "first_mid_level_property": first_mid_level_property, - } - - @builtins.property - def base_level_property(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("base_level_property") - - @builtins.property - def first_mid_level_property(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("first_mid_level_property") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "DiamondInheritanceFirstMidLevelStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -@jsii.data_type( - jsii_type="jsii-calc.DiamondInheritanceSecondMidLevelStruct", - jsii_struct_bases=[DiamondInheritanceBaseLevelStruct], - name_mapping={ - "base_level_property": "baseLevelProperty", - "second_mid_level_property": "secondMidLevelProperty", - }, -) -class DiamondInheritanceSecondMidLevelStruct(DiamondInheritanceBaseLevelStruct): - def __init__( - self, *, base_level_property: str, second_mid_level_property: str - ) -> None: - """ - :param base_level_property: - :param second_mid_level_property: - - stability - :stability: experimental - """ - self._values = { - "base_level_property": base_level_property, - "second_mid_level_property": second_mid_level_property, - } - - @builtins.property - def base_level_property(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("base_level_property") - - @builtins.property - def second_mid_level_property(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("second_mid_level_property") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "DiamondInheritanceSecondMidLevelStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -@jsii.data_type( - jsii_type="jsii-calc.DiamondInheritanceTopLevelStruct", - jsii_struct_bases=[ - DiamondInheritanceFirstMidLevelStruct, - DiamondInheritanceSecondMidLevelStruct, - ], - name_mapping={ - "base_level_property": "baseLevelProperty", - "first_mid_level_property": "firstMidLevelProperty", - "second_mid_level_property": "secondMidLevelProperty", - "top_level_property": "topLevelProperty", - }, -) -class DiamondInheritanceTopLevelStruct( - DiamondInheritanceFirstMidLevelStruct, DiamondInheritanceSecondMidLevelStruct -): - def __init__( - self, - *, - base_level_property: str, - first_mid_level_property: str, - second_mid_level_property: str, - top_level_property: str, - ) -> None: - """ - :param base_level_property: - :param first_mid_level_property: - :param second_mid_level_property: - :param top_level_property: - - stability - :stability: experimental - """ - self._values = { - "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, - } - - @builtins.property - def base_level_property(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("base_level_property") - - @builtins.property - def first_mid_level_property(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("first_mid_level_property") - - @builtins.property - def second_mid_level_property(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("second_mid_level_property") - - @builtins.property - def top_level_property(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("top_level_property") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "DiamondInheritanceTopLevelStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class DisappointingCollectionSource( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.DisappointingCollectionSource" -): - """Verifies that null/undefined can be returned for optional collections. - - This source of collections is disappointing - it'll always give you nothing :( - - stability - :stability: experimental - """ - - @jsii.python.classproperty - @jsii.member(jsii_name="maybeList") - def MAYBE_LIST(cls) -> typing.Optional[typing.List[str]]: - """Some List of strings, maybe? - - (Nah, just a billion dollars mistake!) - - stability - :stability: experimental - """ - return jsii.sget(cls, "maybeList") - - @jsii.python.classproperty - @jsii.member(jsii_name="maybeMap") - def MAYBE_MAP(cls) -> typing.Optional[typing.Mapping[str, jsii.Number]]: - """Some Map of strings to numbers, maybe? - - (Nah, just a billion dollars mistake!) - - stability - :stability: experimental - """ - return jsii.sget(cls, "maybeMap") - - -class DoNotOverridePrivates( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.DoNotOverridePrivates" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(DoNotOverridePrivates, self, []) - - @jsii.member(jsii_name="changePrivatePropertyValue") - def change_private_property_value(self, new_value: str) -> None: - """ - :param new_value: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "changePrivatePropertyValue", [new_value]) - - @jsii.member(jsii_name="privateMethodValue") - def private_method_value(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "privateMethodValue", []) - - @jsii.member(jsii_name="privatePropertyValue") - def private_property_value(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "privatePropertyValue", []) - - -class DoNotRecognizeAnyAsOptional( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.DoNotRecognizeAnyAsOptional" -): - """jsii#284: do not recognize "any" as an optional argument. - - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(DoNotRecognizeAnyAsOptional, self, []) - - @jsii.member(jsii_name="method") - def method( - self, - _required_any: typing.Any, - _optional_any: typing.Any = None, - _optional_string: typing.Optional[str] = None, - ) -> None: - """ - :param _required_any: - - :param _optional_any: - - :param _optional_string: - - - stability - :stability: experimental - """ - return 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. - - This is the meat of the TSDoc comment. It may contain - multiple lines and multiple paragraphs. - - Multiple paragraphs are separated by an empty line. - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(DocumentedClass, self, []) - - @jsii.member(jsii_name="greet") - def greet(self, *, name: typing.Optional[str] = None) -> jsii.Number: - """Greet the indicated person. - - This will print out a friendly greeting intended for - the indicated person. - - :param name: The name of the greetee. Default: world - - return - :return: A number that everyone knows very well - """ - greetee = Greetee(name=name) - - return jsii.invoke(self, "greet", [greetee]) - - @jsii.member(jsii_name="hola") - def hola(self) -> None: - """Say ¡Hola! - - stability - :stability: experimental - """ - return jsii.invoke(self, "hola", []) - - -class DontComplainAboutVariadicAfterOptional( - metaclass=jsii.JSIIMeta, - jsii_type="jsii-calc.DontComplainAboutVariadicAfterOptional", -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(DontComplainAboutVariadicAfterOptional, self, []) - - @jsii.member(jsii_name="optionalAndVariadic") - def optional_and_variadic( - self, optional: typing.Optional[str] = None, *things: str - ) -> str: - """ - :param optional: - - :param things: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "optionalAndVariadic", [optional, *things]) - - -class EnumDispenser(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.EnumDispenser"): - """ - stability - :stability: experimental - """ - - @jsii.member(jsii_name="randomIntegerLikeEnum") - @builtins.classmethod - def random_integer_like_enum(cls) -> "AllTypesEnum": - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "randomIntegerLikeEnum", []) - - @jsii.member(jsii_name="randomStringLikeEnum") - @builtins.classmethod - def random_string_like_enum(cls) -> "StringEnum": - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "randomStringLikeEnum", []) - - -class EraseUndefinedHashValues( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.EraseUndefinedHashValues" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(EraseUndefinedHashValues, self, []) - - @jsii.member(jsii_name="doesKeyExist") - @builtins.classmethod - def does_key_exist(cls, opts: "EraseUndefinedHashValuesOptions", key: str) -> bool: - """Returns ``true`` if ``key`` is defined in ``opts``. - - Used to check that undefined/null hash values - are being erased when sending values from native code to JS. - - :param opts: - - :param key: - - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "doesKeyExist", [opts, key]) - - @jsii.member(jsii_name="prop1IsNull") - @builtins.classmethod - def prop1_is_null(cls) -> typing.Mapping[str, typing.Any]: - """We expect "prop1" to be erased. - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "prop1IsNull", []) - - @jsii.member(jsii_name="prop2IsUndefined") - @builtins.classmethod - def prop2_is_undefined(cls) -> typing.Mapping[str, typing.Any]: - """We expect "prop2" to be erased. - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "prop2IsUndefined", []) - - -@jsii.data_type( - jsii_type="jsii-calc.EraseUndefinedHashValuesOptions", - jsii_struct_bases=[], - name_mapping={"option1": "option1", "option2": "option2"}, -) -class EraseUndefinedHashValuesOptions: - def __init__( - self, - *, - option1: typing.Optional[str] = None, - option2: typing.Optional[str] = None, - ) -> None: - """ - :param option1: - :param option2: - - stability - :stability: experimental - """ - self._values = {} - if option1 is not None: - self._values["option1"] = option1 - if option2 is not None: - self._values["option2"] = option2 - - @builtins.property - def option1(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - return self._values.get("option1") - - @builtins.property - def option2(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - return self._values.get("option2") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "EraseUndefinedHashValuesOptions(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class ExperimentalClass( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ExperimentalClass" -): - """ - stability - :stability: experimental - """ - - def __init__( - self, readonly_string: str, mutable_number: typing.Optional[jsii.Number] = None - ) -> None: - """ - :param readonly_string: - - :param mutable_number: - - - stability - :stability: experimental - """ - jsii.create(ExperimentalClass, self, [readonly_string, mutable_number]) - - @jsii.member(jsii_name="method") - def method(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "method", []) - - @builtins.property - @jsii.member(jsii_name="readonlyProperty") - def readonly_property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "readonlyProperty") - - @builtins.property - @jsii.member(jsii_name="mutableProperty") - def mutable_property(self) -> typing.Optional[jsii.Number]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "mutableProperty") - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: - jsii.set(self, "mutableProperty", value) - - -@jsii.enum(jsii_type="jsii-calc.ExperimentalEnum") -class ExperimentalEnum(enum.Enum): - """ - stability - :stability: experimental - """ - - OPTION_A = "OPTION_A" - """ - stability - :stability: experimental - """ - OPTION_B = "OPTION_B" - """ - stability - :stability: experimental - """ - - -@jsii.data_type( - jsii_type="jsii-calc.ExperimentalStruct", - jsii_struct_bases=[], - name_mapping={"readonly_property": "readonlyProperty"}, -) -class ExperimentalStruct: - def __init__(self, *, readonly_property: str) -> None: - """ - :param readonly_property: - - stability - :stability: experimental - """ - self._values = { - "readonly_property": readonly_property, - } - - @builtins.property - def readonly_property(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("readonly_property") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "ExperimentalStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class ExportedBaseClass( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ExportedBaseClass" -): - """ - stability - :stability: experimental - """ - - def __init__(self, success: bool) -> None: - """ - :param success: - - - stability - :stability: experimental - """ - jsii.create(ExportedBaseClass, self, [success]) - - @builtins.property - @jsii.member(jsii_name="success") - def success(self) -> bool: - """ - stability - :stability: experimental - """ - return jsii.get(self, "success") - - -@jsii.data_type( - jsii_type="jsii-calc.ExtendsInternalInterface", - jsii_struct_bases=[], - name_mapping={"boom": "boom", "prop": "prop"}, -) -class ExtendsInternalInterface: - def __init__(self, *, boom: bool, prop: str) -> None: - """ - :param boom: - :param prop: - - stability - :stability: experimental - """ - self._values = { - "boom": boom, - "prop": prop, - } - - @builtins.property - def boom(self) -> bool: - """ - stability - :stability: experimental - """ - return self._values.get("boom") - - @builtins.property - def prop(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("prop") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "ExtendsInternalInterface(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class ExternalClass(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ExternalClass"): - """ - stability - :stability: experimental - external: - :external:: true - """ - - def __init__( - self, readonly_string: str, mutable_number: typing.Optional[jsii.Number] = None - ) -> None: - """ - :param readonly_string: - - :param mutable_number: - - - stability - :stability: experimental - external: - :external:: true - """ - jsii.create(ExternalClass, self, [readonly_string, mutable_number]) - - @jsii.member(jsii_name="method") - def method(self) -> None: - """ - stability - :stability: experimental - external: - :external:: true - """ - return jsii.invoke(self, "method", []) - - @builtins.property - @jsii.member(jsii_name="readonlyProperty") - def readonly_property(self) -> str: - """ - stability - :stability: experimental - external: - :external:: true - """ - return jsii.get(self, "readonlyProperty") - - @builtins.property - @jsii.member(jsii_name="mutableProperty") - def mutable_property(self) -> typing.Optional[jsii.Number]: - """ - stability - :stability: experimental - external: - :external:: true - """ - return jsii.get(self, "mutableProperty") - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: - jsii.set(self, "mutableProperty", value) - - -@jsii.enum(jsii_type="jsii-calc.ExternalEnum") -class ExternalEnum(enum.Enum): - """ - stability - :stability: experimental - external: - :external:: true - """ - - OPTION_A = "OPTION_A" - """ - stability - :stability: experimental - external: - :external:: true - """ - OPTION_B = "OPTION_B" - """ - stability - :stability: experimental - external: - :external:: true - """ - - -@jsii.data_type( - jsii_type="jsii-calc.ExternalStruct", - jsii_struct_bases=[], - name_mapping={"readonly_property": "readonlyProperty"}, -) -class ExternalStruct: - def __init__(self, *, readonly_property: str) -> None: - """ - :param readonly_property: - - stability - :stability: experimental - external: - :external:: true - """ - self._values = { - "readonly_property": readonly_property, - } - - @builtins.property - def readonly_property(self) -> str: - """ - stability - :stability: experimental - external: - :external:: true - """ - return self._values.get("readonly_property") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "ExternalStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class GiveMeStructs(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.GiveMeStructs"): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(GiveMeStructs, self, []) - - @jsii.member(jsii_name="derivedToFirst") - def derived_to_first( - self, - *, - another_required: datetime.datetime, - bool: bool, - non_primitive: "DoubleTrouble", - another_optional: typing.Optional[ - typing.Mapping[str, scope.jsii_calc_lib.Value] - ] = None, - optional_any: typing.Any = None, - optional_array: typing.Optional[typing.List[str]] = None, - anumber: jsii.Number, - astring: str, - first_optional: typing.Optional[typing.List[str]] = None, - ) -> scope.jsii_calc_lib.MyFirstStruct: - """Accepts a struct of type DerivedStruct and returns a struct of type FirstStruct. - - :param another_required: - :param bool: - :param non_primitive: An example of a non primitive property. - :param another_optional: This is optional. - :param optional_any: - :param optional_array: - :param anumber: An awesome number value. - :param astring: A string value. - :param first_optional: - - stability - :stability: experimental - """ - derived = DerivedStruct( - another_required=another_required, - bool=bool, - non_primitive=non_primitive, - another_optional=another_optional, - optional_any=optional_any, - optional_array=optional_array, - anumber=anumber, - astring=astring, - first_optional=first_optional, - ) - - return jsii.invoke(self, "derivedToFirst", [derived]) - - @jsii.member(jsii_name="readDerivedNonPrimitive") - def read_derived_non_primitive( - self, - *, - another_required: datetime.datetime, - bool: bool, - non_primitive: "DoubleTrouble", - another_optional: typing.Optional[ - typing.Mapping[str, scope.jsii_calc_lib.Value] - ] = None, - optional_any: typing.Any = None, - optional_array: typing.Optional[typing.List[str]] = None, - anumber: jsii.Number, - astring: str, - first_optional: typing.Optional[typing.List[str]] = None, - ) -> "DoubleTrouble": - """Returns the boolean from a DerivedStruct struct. - - :param another_required: - :param bool: - :param non_primitive: An example of a non primitive property. - :param another_optional: This is optional. - :param optional_any: - :param optional_array: - :param anumber: An awesome number value. - :param astring: A string value. - :param first_optional: - - stability - :stability: experimental - """ - derived = DerivedStruct( - another_required=another_required, - bool=bool, - non_primitive=non_primitive, - another_optional=another_optional, - optional_any=optional_any, - optional_array=optional_array, - anumber=anumber, - astring=astring, - first_optional=first_optional, - ) - - return jsii.invoke(self, "readDerivedNonPrimitive", [derived]) - - @jsii.member(jsii_name="readFirstNumber") - def read_first_number( - self, - *, - anumber: jsii.Number, - astring: str, - first_optional: typing.Optional[typing.List[str]] = None, - ) -> jsii.Number: - """Returns the "anumber" from a MyFirstStruct struct; - - :param anumber: An awesome number value. - :param astring: A string value. - :param first_optional: - - stability - :stability: experimental - """ - first = scope.jsii_calc_lib.MyFirstStruct( - anumber=anumber, astring=astring, first_optional=first_optional - ) - - return jsii.invoke(self, "readFirstNumber", [first]) - - @builtins.property - @jsii.member(jsii_name="structLiteral") - def struct_literal(self) -> scope.jsii_calc_lib.StructWithOnlyOptionals: - """ - stability - :stability: experimental - """ - return jsii.get(self, "structLiteral") - - -@jsii.data_type( - jsii_type="jsii-calc.Greetee", jsii_struct_bases=[], name_mapping={"name": "name"} -) -class Greetee: - def __init__(self, *, name: typing.Optional[str] = None) -> None: - """These are some arguments you can pass to a method. - - :param name: The name of the greetee. Default: world - - stability - :stability: experimental - """ - self._values = {} - if name is not None: - self._values["name"] = name - - @builtins.property - def name(self) -> typing.Optional[str]: - """The name of the greetee. - - default - :default: world - - stability - :stability: experimental - """ - return self._values.get("name") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "Greetee(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class GreetingAugmenter( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.GreetingAugmenter" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(GreetingAugmenter, self, []) - - @jsii.member(jsii_name="betterGreeting") - def better_greeting(self, friendly: scope.jsii_calc_lib.IFriendly) -> str: - """ - :param friendly: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "betterGreeting", [friendly]) - - -@jsii.interface(jsii_type="jsii-calc.IAnonymousImplementationProvider") -class IAnonymousImplementationProvider(jsii.compat.Protocol): - """We can return an anonymous interface implementation from an override without losing the interface declarations. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IAnonymousImplementationProviderProxy - - @jsii.member(jsii_name="provideAsClass") - def provide_as_class(self) -> "Implementation": - """ - stability - :stability: experimental - """ - ... - - @jsii.member(jsii_name="provideAsInterface") - def provide_as_interface(self) -> "IAnonymouslyImplementMe": - """ - stability - :stability: experimental - """ - ... - - -class _IAnonymousImplementationProviderProxy: - """We can return an anonymous interface implementation from an override without losing the interface declarations. - - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IAnonymousImplementationProvider" - - @jsii.member(jsii_name="provideAsClass") - def provide_as_class(self) -> "Implementation": - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "provideAsClass", []) - - @jsii.member(jsii_name="provideAsInterface") - def provide_as_interface(self) -> "IAnonymouslyImplementMe": - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "provideAsInterface", []) - - -@jsii.interface(jsii_type="jsii-calc.IAnonymouslyImplementMe") -class IAnonymouslyImplementMe(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IAnonymouslyImplementMeProxy - - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - ... - - @jsii.member(jsii_name="verb") - def verb(self) -> str: - """ - stability - :stability: experimental - """ - ... - - -class _IAnonymouslyImplementMeProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IAnonymouslyImplementMe" - - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.get(self, "value") - - @jsii.member(jsii_name="verb") - def verb(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "verb", []) - - -@jsii.interface(jsii_type="jsii-calc.IAnotherPublicInterface") -class IAnotherPublicInterface(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IAnotherPublicInterfaceProxy - - @builtins.property - @jsii.member(jsii_name="a") - def a(self) -> str: - """ - stability - :stability: experimental - """ - ... - - @a.setter - def a(self, value: str) -> None: - ... - - -class _IAnotherPublicInterfaceProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IAnotherPublicInterface" - - @builtins.property - @jsii.member(jsii_name="a") - def a(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "a") - - @a.setter - def a(self, value: str) -> None: - jsii.set(self, "a", value) - - -@jsii.interface(jsii_type="jsii-calc.IBell") -class IBell(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IBellProxy - - @jsii.member(jsii_name="ring") - def ring(self) -> None: - """ - stability - :stability: experimental - """ - ... - - -class _IBellProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IBell" - - @jsii.member(jsii_name="ring") - def ring(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "ring", []) - - -@jsii.interface(jsii_type="jsii-calc.IBellRinger") -class IBellRinger(jsii.compat.Protocol): - """Takes the object parameter as an interface. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IBellRingerProxy - - @jsii.member(jsii_name="yourTurn") - def your_turn(self, bell: "IBell") -> None: - """ - :param bell: - - - stability - :stability: experimental - """ - ... - - -class _IBellRingerProxy: - """Takes the object parameter as an interface. - - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IBellRinger" - - @jsii.member(jsii_name="yourTurn") - def your_turn(self, bell: "IBell") -> None: - """ - :param bell: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "yourTurn", [bell]) - - -@jsii.interface(jsii_type="jsii-calc.IConcreteBellRinger") -class IConcreteBellRinger(jsii.compat.Protocol): - """Takes the object parameter as a calss. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IConcreteBellRingerProxy - - @jsii.member(jsii_name="yourTurn") - def your_turn(self, bell: "Bell") -> None: - """ - :param bell: - - - stability - :stability: experimental - """ - ... - - -class _IConcreteBellRingerProxy: - """Takes the object parameter as a calss. - - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IConcreteBellRinger" - - @jsii.member(jsii_name="yourTurn") - def your_turn(self, bell: "Bell") -> None: - """ - :param bell: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "yourTurn", [bell]) - - -@jsii.interface(jsii_type="jsii-calc.IDeprecatedInterface") -class IDeprecatedInterface(jsii.compat.Protocol): - """ - deprecated - :deprecated: useless interface - - stability - :stability: deprecated - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IDeprecatedInterfaceProxy - - @builtins.property - @jsii.member(jsii_name="mutableProperty") - def mutable_property(self) -> typing.Optional[jsii.Number]: - """ - deprecated - :deprecated: could be better - - stability - :stability: deprecated - """ - ... - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: - ... - - @jsii.member(jsii_name="method") - def method(self) -> None: - """ - deprecated - :deprecated: services no purpose - - stability - :stability: deprecated - """ - ... - - -class _IDeprecatedInterfaceProxy: - """ - deprecated - :deprecated: useless interface - - stability - :stability: deprecated - """ - - __jsii_type__ = "jsii-calc.IDeprecatedInterface" - - @builtins.property - @jsii.member(jsii_name="mutableProperty") - def mutable_property(self) -> typing.Optional[jsii.Number]: - """ - deprecated - :deprecated: could be better - - stability - :stability: deprecated - """ - return jsii.get(self, "mutableProperty") - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: - jsii.set(self, "mutableProperty", value) - - @jsii.member(jsii_name="method") - def method(self) -> None: - """ - deprecated - :deprecated: services no purpose - - stability - :stability: deprecated - """ - return jsii.invoke(self, "method", []) - - -@jsii.interface(jsii_type="jsii-calc.IExperimentalInterface") -class IExperimentalInterface(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IExperimentalInterfaceProxy - - @builtins.property - @jsii.member(jsii_name="mutableProperty") - def mutable_property(self) -> typing.Optional[jsii.Number]: - """ - stability - :stability: experimental - """ - ... - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: - ... - - @jsii.member(jsii_name="method") - def method(self) -> None: - """ - stability - :stability: experimental - """ - ... - - -class _IExperimentalInterfaceProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IExperimentalInterface" - - @builtins.property - @jsii.member(jsii_name="mutableProperty") - def mutable_property(self) -> typing.Optional[jsii.Number]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "mutableProperty") - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: - jsii.set(self, "mutableProperty", value) - - @jsii.member(jsii_name="method") - def method(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "method", []) - - -@jsii.interface(jsii_type="jsii-calc.IExtendsPrivateInterface") -class IExtendsPrivateInterface(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IExtendsPrivateInterfaceProxy - - @builtins.property - @jsii.member(jsii_name="moreThings") - def more_things(self) -> typing.List[str]: - """ - stability - :stability: experimental - """ - ... - - @builtins.property - @jsii.member(jsii_name="private") - def private(self) -> str: - """ - stability - :stability: experimental - """ - ... - - @private.setter - def private(self, value: str) -> None: - ... - - -class _IExtendsPrivateInterfaceProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IExtendsPrivateInterface" - - @builtins.property - @jsii.member(jsii_name="moreThings") - def more_things(self) -> typing.List[str]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "moreThings") - - @builtins.property - @jsii.member(jsii_name="private") - def private(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "private") - - @private.setter - def private(self, value: str) -> None: - jsii.set(self, "private", value) - - -@jsii.interface(jsii_type="jsii-calc.IExternalInterface") -class IExternalInterface(jsii.compat.Protocol): - """ - stability - :stability: experimental - external: - :external:: true - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IExternalInterfaceProxy - - @builtins.property - @jsii.member(jsii_name="mutableProperty") - def mutable_property(self) -> typing.Optional[jsii.Number]: - """ - stability - :stability: experimental - external: - :external:: true - """ - ... - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: - ... - - @jsii.member(jsii_name="method") - def method(self) -> None: - """ - stability - :stability: experimental - external: - :external:: true - """ - ... - - -class _IExternalInterfaceProxy: - """ - stability - :stability: experimental - external: - :external:: true - """ - - __jsii_type__ = "jsii-calc.IExternalInterface" - - @builtins.property - @jsii.member(jsii_name="mutableProperty") - def mutable_property(self) -> typing.Optional[jsii.Number]: - """ - stability - :stability: experimental - external: - :external:: true - """ - return jsii.get(self, "mutableProperty") - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: - jsii.set(self, "mutableProperty", value) - - @jsii.member(jsii_name="method") - def method(self) -> None: - """ - stability - :stability: experimental - external: - :external:: true - """ - return jsii.invoke(self, "method", []) - - -@jsii.interface(jsii_type="jsii-calc.IFriendlier") -class IFriendlier(scope.jsii_calc_lib.IFriendly, jsii.compat.Protocol): - """Even friendlier classes can implement this interface. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IFriendlierProxy - - @jsii.member(jsii_name="farewell") - def farewell(self) -> str: - """Say farewell. - - stability - :stability: experimental - """ - ... - - @jsii.member(jsii_name="goodbye") - def goodbye(self) -> str: - """Say goodbye. - - return - :return: A goodbye blessing. - - stability - :stability: experimental - """ - ... - - -class _IFriendlierProxy(jsii.proxy_for(scope.jsii_calc_lib.IFriendly)): - """Even friendlier classes can implement this interface. - - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IFriendlier" - - @jsii.member(jsii_name="farewell") - def farewell(self) -> str: - """Say farewell. - - stability - :stability: experimental - """ - return jsii.invoke(self, "farewell", []) - - @jsii.member(jsii_name="goodbye") - def goodbye(self) -> str: - """Say goodbye. - - return - :return: A goodbye blessing. - - stability - :stability: experimental - """ - return jsii.invoke(self, "goodbye", []) - - -@jsii.interface(jsii_type="jsii-calc.IInterfaceImplementedByAbstractClass") -class IInterfaceImplementedByAbstractClass(jsii.compat.Protocol): - """awslabs/jsii#220 Abstract return type. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IInterfaceImplementedByAbstractClassProxy - - @builtins.property - @jsii.member(jsii_name="propFromInterface") - def prop_from_interface(self) -> str: - """ - stability - :stability: experimental - """ - ... - - -class _IInterfaceImplementedByAbstractClassProxy: - """awslabs/jsii#220 Abstract return type. - - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IInterfaceImplementedByAbstractClass" - - @builtins.property - @jsii.member(jsii_name="propFromInterface") - def prop_from_interface(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "propFromInterface") - - -@jsii.interface(jsii_type="jsii-calc.IInterfaceWithInternal") -class IInterfaceWithInternal(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IInterfaceWithInternalProxy - - @jsii.member(jsii_name="visible") - def visible(self) -> None: - """ - stability - :stability: experimental - """ - ... - - -class _IInterfaceWithInternalProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IInterfaceWithInternal" - - @jsii.member(jsii_name="visible") - def visible(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "visible", []) - - -@jsii.interface(jsii_type="jsii-calc.IInterfaceWithMethods") -class IInterfaceWithMethods(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IInterfaceWithMethodsProxy - - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> str: - """ - stability - :stability: experimental - """ - ... - - @jsii.member(jsii_name="doThings") - def do_things(self) -> None: - """ - stability - :stability: experimental - """ - ... - - -class _IInterfaceWithMethodsProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IInterfaceWithMethods" - - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "value") - - @jsii.member(jsii_name="doThings") - def do_things(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "doThings", []) - - -@jsii.interface(jsii_type="jsii-calc.IInterfaceWithOptionalMethodArguments") -class IInterfaceWithOptionalMethodArguments(jsii.compat.Protocol): - """awslabs/jsii#175 Interface proxies (and builders) do not respect optional arguments in methods. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IInterfaceWithOptionalMethodArgumentsProxy - - @jsii.member(jsii_name="hello") - def hello(self, arg1: str, arg2: typing.Optional[jsii.Number] = None) -> None: - """ - :param arg1: - - :param arg2: - - - stability - :stability: experimental - """ - ... - - -class _IInterfaceWithOptionalMethodArgumentsProxy: - """awslabs/jsii#175 Interface proxies (and builders) do not respect optional arguments in methods. - - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IInterfaceWithOptionalMethodArguments" - - @jsii.member(jsii_name="hello") - def hello(self, arg1: str, arg2: typing.Optional[jsii.Number] = None) -> None: - """ - :param arg1: - - :param arg2: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "hello", [arg1, arg2]) - - -@jsii.interface(jsii_type="jsii-calc.IInterfaceWithProperties") -class IInterfaceWithProperties(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IInterfaceWithPropertiesProxy - - @builtins.property - @jsii.member(jsii_name="readOnlyString") - def read_only_string(self) -> str: - """ - stability - :stability: experimental - """ - ... - - @builtins.property - @jsii.member(jsii_name="readWriteString") - def read_write_string(self) -> str: - """ - stability - :stability: experimental - """ - ... - - @read_write_string.setter - def read_write_string(self, value: str) -> None: - ... - - -class _IInterfaceWithPropertiesProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IInterfaceWithProperties" - - @builtins.property - @jsii.member(jsii_name="readOnlyString") - def read_only_string(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "readOnlyString") - - @builtins.property - @jsii.member(jsii_name="readWriteString") - def read_write_string(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "readWriteString") - - @read_write_string.setter - def read_write_string(self, value: str) -> None: - jsii.set(self, "readWriteString", value) - - -@jsii.interface(jsii_type="jsii-calc.IInterfaceWithPropertiesExtension") -class IInterfaceWithPropertiesExtension(IInterfaceWithProperties, jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IInterfaceWithPropertiesExtensionProxy - - @builtins.property - @jsii.member(jsii_name="foo") - def foo(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - ... - - @foo.setter - def foo(self, value: jsii.Number) -> None: - ... - - -class _IInterfaceWithPropertiesExtensionProxy(jsii.proxy_for(IInterfaceWithProperties)): - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IInterfaceWithPropertiesExtension" - - @builtins.property - @jsii.member(jsii_name="foo") - def foo(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.get(self, "foo") - - @foo.setter - def foo(self, value: jsii.Number) -> None: - jsii.set(self, "foo", value) - - -@jsii.interface(jsii_type="jsii-calc.IJSII417PublicBaseOfBase") -class IJSII417PublicBaseOfBase(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IJSII417PublicBaseOfBaseProxy - - @builtins.property - @jsii.member(jsii_name="hasRoot") - def has_root(self) -> bool: - """ - stability - :stability: experimental - """ - ... - - @jsii.member(jsii_name="foo") - def foo(self) -> None: - """ - stability - :stability: experimental - """ - ... - - -class _IJSII417PublicBaseOfBaseProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IJSII417PublicBaseOfBase" - - @builtins.property - @jsii.member(jsii_name="hasRoot") - def has_root(self) -> bool: - """ - stability - :stability: experimental - """ - return jsii.get(self, "hasRoot") - - @jsii.member(jsii_name="foo") - def foo(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "foo", []) - - -@jsii.interface(jsii_type="jsii-calc.IJsii487External") -class IJsii487External(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IJsii487ExternalProxy - - pass - - -class _IJsii487ExternalProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IJsii487External" - pass - - -@jsii.interface(jsii_type="jsii-calc.IJsii487External2") -class IJsii487External2(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IJsii487External2Proxy - - pass - - -class _IJsii487External2Proxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IJsii487External2" - pass - - -@jsii.interface(jsii_type="jsii-calc.IJsii496") -class IJsii496(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IJsii496Proxy - - pass - - -class _IJsii496Proxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IJsii496" - pass - - -@jsii.interface(jsii_type="jsii-calc.IMutableObjectLiteral") -class IMutableObjectLiteral(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IMutableObjectLiteralProxy - - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> str: - """ - stability - :stability: experimental - """ - ... - - @value.setter - def value(self, value: str) -> None: - ... - - -class _IMutableObjectLiteralProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IMutableObjectLiteral" - - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "value") - - @value.setter - def value(self, value: str) -> None: - jsii.set(self, "value", value) - - -@jsii.interface(jsii_type="jsii-calc.INonInternalInterface") -class INonInternalInterface(IAnotherPublicInterface, jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _INonInternalInterfaceProxy - - @builtins.property - @jsii.member(jsii_name="b") - def b(self) -> str: - """ - stability - :stability: experimental - """ - ... - - @b.setter - def b(self, value: str) -> None: - ... - - @builtins.property - @jsii.member(jsii_name="c") - def c(self) -> str: - """ - stability - :stability: experimental - """ - ... - - @c.setter - def c(self, value: str) -> None: - ... - - -class _INonInternalInterfaceProxy(jsii.proxy_for(IAnotherPublicInterface)): - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.INonInternalInterface" - - @builtins.property - @jsii.member(jsii_name="b") - def b(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "b") - - @b.setter - def b(self, value: str) -> None: - jsii.set(self, "b", value) - - @builtins.property - @jsii.member(jsii_name="c") - def c(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "c") - - @c.setter - def c(self, value: str) -> None: - jsii.set(self, "c", value) - - -@jsii.interface(jsii_type="jsii-calc.IObjectWithProperty") -class IObjectWithProperty(jsii.compat.Protocol): - """Make sure that setters are properly called on objects with interfaces. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IObjectWithPropertyProxy - - @builtins.property - @jsii.member(jsii_name="property") - def property(self) -> str: - """ - stability - :stability: experimental - """ - ... - - @property.setter - def property(self, value: str) -> None: - ... - - @jsii.member(jsii_name="wasSet") - def was_set(self) -> bool: - """ - stability - :stability: experimental - """ - ... - - -class _IObjectWithPropertyProxy: - """Make sure that setters are properly called on objects with interfaces. - - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IObjectWithProperty" - - @builtins.property - @jsii.member(jsii_name="property") - def property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "property") - - @property.setter - def property(self, value: str) -> None: - jsii.set(self, "property", value) - - @jsii.member(jsii_name="wasSet") - def was_set(self) -> bool: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "wasSet", []) - - -@jsii.interface(jsii_type="jsii-calc.IOptionalMethod") -class IOptionalMethod(jsii.compat.Protocol): - """Checks that optional result from interface method code generates correctly. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IOptionalMethodProxy - - @jsii.member(jsii_name="optional") - def optional(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - ... - - -class _IOptionalMethodProxy: - """Checks that optional result from interface method code generates correctly. - - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IOptionalMethod" - - @jsii.member(jsii_name="optional") - def optional(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "optional", []) - - -@jsii.interface(jsii_type="jsii-calc.IPrivatelyImplemented") -class IPrivatelyImplemented(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IPrivatelyImplementedProxy - - @builtins.property - @jsii.member(jsii_name="success") - def success(self) -> bool: - """ - stability - :stability: experimental - """ - ... - - -class _IPrivatelyImplementedProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IPrivatelyImplemented" - - @builtins.property - @jsii.member(jsii_name="success") - def success(self) -> bool: - """ - stability - :stability: experimental - """ - return jsii.get(self, "success") - - -@jsii.interface(jsii_type="jsii-calc.IPublicInterface") -class IPublicInterface(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IPublicInterfaceProxy - - @jsii.member(jsii_name="bye") - def bye(self) -> str: - """ - stability - :stability: experimental - """ - ... - - -class _IPublicInterfaceProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IPublicInterface" - - @jsii.member(jsii_name="bye") - def bye(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "bye", []) - - -@jsii.interface(jsii_type="jsii-calc.IPublicInterface2") -class IPublicInterface2(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IPublicInterface2Proxy - - @jsii.member(jsii_name="ciao") - def ciao(self) -> str: - """ - stability - :stability: experimental - """ - ... - - -class _IPublicInterface2Proxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IPublicInterface2" - - @jsii.member(jsii_name="ciao") - def ciao(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "ciao", []) - - -@jsii.interface(jsii_type="jsii-calc.IRandomNumberGenerator") -class IRandomNumberGenerator(jsii.compat.Protocol): - """Generates random numbers. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IRandomNumberGeneratorProxy - - @jsii.member(jsii_name="next") - def next(self) -> jsii.Number: - """Returns another random number. - - return - :return: A random number. - - stability - :stability: experimental - """ - ... - - -class _IRandomNumberGeneratorProxy: - """Generates random numbers. - - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IRandomNumberGenerator" - - @jsii.member(jsii_name="next") - def next(self) -> jsii.Number: - """Returns another random number. - - return - :return: A random number. - - stability - :stability: experimental - """ - return jsii.invoke(self, "next", []) - - -@jsii.interface(jsii_type="jsii-calc.IReturnJsii976") -class IReturnJsii976(jsii.compat.Protocol): - """Returns a subclass of a known class which implements an interface. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IReturnJsii976Proxy - - @builtins.property - @jsii.member(jsii_name="foo") - def foo(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - ... - - -class _IReturnJsii976Proxy: - """Returns a subclass of a known class which implements an interface. - - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IReturnJsii976" - - @builtins.property - @jsii.member(jsii_name="foo") - def foo(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.get(self, "foo") - - -@jsii.interface(jsii_type="jsii-calc.IReturnsNumber") -class IReturnsNumber(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IReturnsNumberProxy - - @builtins.property - @jsii.member(jsii_name="numberProp") - def number_prop(self) -> scope.jsii_calc_lib.Number: - """ - stability - :stability: experimental - """ - ... - - @jsii.member(jsii_name="obtainNumber") - def obtain_number(self) -> scope.jsii_calc_lib.IDoublable: - """ - stability - :stability: experimental - """ - ... - - -class _IReturnsNumberProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IReturnsNumber" - - @builtins.property - @jsii.member(jsii_name="numberProp") - def number_prop(self) -> scope.jsii_calc_lib.Number: - """ - stability - :stability: experimental - """ - return jsii.get(self, "numberProp") - - @jsii.member(jsii_name="obtainNumber") - def obtain_number(self) -> scope.jsii_calc_lib.IDoublable: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "obtainNumber", []) - - -@jsii.interface(jsii_type="jsii-calc.IStableInterface") -class IStableInterface(jsii.compat.Protocol): - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IStableInterfaceProxy - - @builtins.property - @jsii.member(jsii_name="mutableProperty") - def mutable_property(self) -> typing.Optional[jsii.Number]: - ... - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: - ... - - @jsii.member(jsii_name="method") - def method(self) -> None: - ... - - -class _IStableInterfaceProxy: - __jsii_type__ = "jsii-calc.IStableInterface" - - @builtins.property - @jsii.member(jsii_name="mutableProperty") - def mutable_property(self) -> typing.Optional[jsii.Number]: - return jsii.get(self, "mutableProperty") - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: - jsii.set(self, "mutableProperty", value) - - @jsii.member(jsii_name="method") - def method(self) -> None: - return jsii.invoke(self, "method", []) - - -@jsii.interface(jsii_type="jsii-calc.IStructReturningDelegate") -class IStructReturningDelegate(jsii.compat.Protocol): - """Verifies that a "pure" implementation of an interface works correctly. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IStructReturningDelegateProxy - - @jsii.member(jsii_name="returnStruct") - def return_struct(self) -> "StructB": - """ - stability - :stability: experimental - """ - ... - - -class _IStructReturningDelegateProxy: - """Verifies that a "pure" implementation of an interface works correctly. - - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IStructReturningDelegate" - - @jsii.member(jsii_name="returnStruct") - def return_struct(self) -> "StructB": - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "returnStruct", []) - - -class ImplementInternalInterface( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ImplementInternalInterface" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(ImplementInternalInterface, self, []) - - @builtins.property - @jsii.member(jsii_name="prop") - def prop(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "prop") - - @prop.setter - def prop(self, value: str) -> None: - jsii.set(self, "prop", value) - - -class Implementation(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Implementation"): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(Implementation, self, []) - - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.get(self, "value") - - -@jsii.implements(IInterfaceWithInternal) -class ImplementsInterfaceWithInternal( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ImplementsInterfaceWithInternal" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(ImplementsInterfaceWithInternal, self, []) - - @jsii.member(jsii_name="visible") - def visible(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "visible", []) - - -class ImplementsInterfaceWithInternalSubclass( - ImplementsInterfaceWithInternal, - metaclass=jsii.JSIIMeta, - jsii_type="jsii-calc.ImplementsInterfaceWithInternalSubclass", -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(ImplementsInterfaceWithInternalSubclass, self, []) - - -class ImplementsPrivateInterface( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ImplementsPrivateInterface" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(ImplementsPrivateInterface, self, []) - - @builtins.property - @jsii.member(jsii_name="private") - def private(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "private") - - @private.setter - def private(self, value: str) -> None: - jsii.set(self, "private", value) - - -@jsii.data_type( - jsii_type="jsii-calc.ImplictBaseOfBase", - jsii_struct_bases=[scope.jsii_calc_base.BaseProps], - name_mapping={"foo": "foo", "bar": "bar", "goo": "goo"}, -) -class ImplictBaseOfBase(scope.jsii_calc_base.BaseProps): - def __init__( - self, - *, - foo: scope.jsii_calc_base_of_base.Very, - bar: str, - goo: datetime.datetime, - ) -> None: - """ - :param foo: - - :param bar: - - :param goo: - - stability - :stability: experimental - """ - self._values = { - "foo": foo, - "bar": bar, - "goo": goo, - } - - @builtins.property - def foo(self) -> scope.jsii_calc_base_of_base.Very: - return self._values.get("foo") - - @builtins.property - def bar(self) -> str: - return self._values.get("bar") - - @builtins.property - def goo(self) -> datetime.datetime: - """ - stability - :stability: experimental - """ - return self._values.get("goo") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "ImplictBaseOfBase(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class InterfaceCollections( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.InterfaceCollections" -): - """Verifies that collections of interfaces or structs are correctly handled. - - See: https://github.com/aws/jsii/issues/1196 - - stability - :stability: experimental - """ - - @jsii.member(jsii_name="listOfInterfaces") - @builtins.classmethod - def list_of_interfaces(cls) -> typing.List["IBell"]: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "listOfInterfaces", []) - - @jsii.member(jsii_name="listOfStructs") - @builtins.classmethod - def list_of_structs(cls) -> typing.List["StructA"]: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "listOfStructs", []) - - @jsii.member(jsii_name="mapOfInterfaces") - @builtins.classmethod - def map_of_interfaces(cls) -> typing.Mapping[str, "IBell"]: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "mapOfInterfaces", []) - - @jsii.member(jsii_name="mapOfStructs") - @builtins.classmethod - def map_of_structs(cls) -> typing.Mapping[str, "StructA"]: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "mapOfStructs", []) - - -class InterfacesMaker(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.InterfacesMaker"): - """We can return arrays of interfaces See aws/aws-cdk#2362. - - stability - :stability: experimental - """ - - @jsii.member(jsii_name="makeInterfaces") - @builtins.classmethod - def make_interfaces( - cls, count: jsii.Number - ) -> typing.List[scope.jsii_calc_lib.IDoublable]: - """ - :param count: - - - stability - :stability: experimental - """ - return 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. - - Create a subclass of this, and assert that ``this.myself()`` actually returns - ``this`` from within the constructor. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IsomorphismProxy - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(Isomorphism, self, []) - - @jsii.member(jsii_name="myself") - def myself(self) -> "Isomorphism": - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "myself", []) - - -class _IsomorphismProxy(Isomorphism): - pass - - -class JSII417PublicBaseOfBase( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.JSII417PublicBaseOfBase" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(JSII417PublicBaseOfBase, self, []) - - @jsii.member(jsii_name="makeInstance") - @builtins.classmethod - def make_instance(cls) -> "JSII417PublicBaseOfBase": - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "makeInstance", []) - - @jsii.member(jsii_name="foo") - def foo(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "foo", []) - - @builtins.property - @jsii.member(jsii_name="hasRoot") - def has_root(self) -> bool: - """ - stability - :stability: experimental - """ - return jsii.get(self, "hasRoot") - - -class JSObjectLiteralForInterface( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.JSObjectLiteralForInterface" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(JSObjectLiteralForInterface, self, []) - - @jsii.member(jsii_name="giveMeFriendly") - def give_me_friendly(self) -> scope.jsii_calc_lib.IFriendly: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "giveMeFriendly", []) - - @jsii.member(jsii_name="giveMeFriendlyGenerator") - def give_me_friendly_generator(self) -> "IFriendlyRandomGenerator": - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "giveMeFriendlyGenerator", []) - - -class JSObjectLiteralToNative( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.JSObjectLiteralToNative" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(JSObjectLiteralToNative, self, []) - - @jsii.member(jsii_name="returnLiteral") - def return_literal(self) -> "JSObjectLiteralToNativeClass": - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "returnLiteral", []) - - -class JSObjectLiteralToNativeClass( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.JSObjectLiteralToNativeClass" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(JSObjectLiteralToNativeClass, self, []) - - @builtins.property - @jsii.member(jsii_name="propA") - def prop_a(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "propA") - - @prop_a.setter - def prop_a(self, value: str) -> None: - jsii.set(self, "propA", value) - - @builtins.property - @jsii.member(jsii_name="propB") - def prop_b(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.get(self, "propB") - - @prop_b.setter - def prop_b(self, value: jsii.Number) -> None: - jsii.set(self, "propB", value) - - -class JavaReservedWords( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.JavaReservedWords" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(JavaReservedWords, self, []) - - @jsii.member(jsii_name="abstract") - def abstract(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "abstract", []) - - @jsii.member(jsii_name="assert") - def assert_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "assert", []) - - @jsii.member(jsii_name="boolean") - def boolean(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "boolean", []) - - @jsii.member(jsii_name="break") - def break_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "break", []) - - @jsii.member(jsii_name="byte") - def byte(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "byte", []) - - @jsii.member(jsii_name="case") - def case(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "case", []) - - @jsii.member(jsii_name="catch") - def catch(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "catch", []) - - @jsii.member(jsii_name="char") - def char(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "char", []) - - @jsii.member(jsii_name="class") - def class_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "class", []) - - @jsii.member(jsii_name="const") - def const(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "const", []) - - @jsii.member(jsii_name="continue") - def continue_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "continue", []) - - @jsii.member(jsii_name="default") - def default(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "default", []) - - @jsii.member(jsii_name="do") - def do(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "do", []) - - @jsii.member(jsii_name="double") - def double(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "double", []) - - @jsii.member(jsii_name="else") - def else_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "else", []) - - @jsii.member(jsii_name="enum") - def enum(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "enum", []) - - @jsii.member(jsii_name="extends") - def extends(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "extends", []) - - @jsii.member(jsii_name="false") - def false(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "false", []) - - @jsii.member(jsii_name="final") - def final(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "final", []) - - @jsii.member(jsii_name="finally") - def finally_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "finally", []) - - @jsii.member(jsii_name="float") - def float(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "float", []) - - @jsii.member(jsii_name="for") - def for_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "for", []) - - @jsii.member(jsii_name="goto") - def goto(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "goto", []) - - @jsii.member(jsii_name="if") - def if_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "if", []) - - @jsii.member(jsii_name="implements") - def implements(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "implements", []) - - @jsii.member(jsii_name="import") - def import_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "import", []) - - @jsii.member(jsii_name="instanceof") - def instanceof(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "instanceof", []) - - @jsii.member(jsii_name="int") - def int(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "int", []) - - @jsii.member(jsii_name="interface") - def interface(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "interface", []) - - @jsii.member(jsii_name="long") - def long(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "long", []) - - @jsii.member(jsii_name="native") - def native(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "native", []) - - @jsii.member(jsii_name="new") - def new(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "new", []) - - @jsii.member(jsii_name="null") - def null(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "null", []) - - @jsii.member(jsii_name="package") - def package(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "package", []) - - @jsii.member(jsii_name="private") - def private(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "private", []) - - @jsii.member(jsii_name="protected") - def protected(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "protected", []) - - @jsii.member(jsii_name="public") - def public(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "public", []) - - @jsii.member(jsii_name="return") - def return_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "return", []) - - @jsii.member(jsii_name="short") - def short(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "short", []) - - @jsii.member(jsii_name="static") - def static(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "static", []) - - @jsii.member(jsii_name="strictfp") - def strictfp(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "strictfp", []) - - @jsii.member(jsii_name="super") - def super(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "super", []) - - @jsii.member(jsii_name="switch") - def switch(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "switch", []) - - @jsii.member(jsii_name="synchronized") - def synchronized(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "synchronized", []) - - @jsii.member(jsii_name="this") - def this(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "this", []) - - @jsii.member(jsii_name="throw") - def throw(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "throw", []) - - @jsii.member(jsii_name="throws") - def throws(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "throws", []) - - @jsii.member(jsii_name="transient") - def transient(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "transient", []) - - @jsii.member(jsii_name="true") - def true(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "true", []) - - @jsii.member(jsii_name="try") - def try_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "try", []) - - @jsii.member(jsii_name="void") - def void(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "void", []) - - @jsii.member(jsii_name="volatile") - def volatile(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "volatile", []) - - @builtins.property - @jsii.member(jsii_name="while") - def while_(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "while") - - @while_.setter - def while_(self, value: str) -> None: - jsii.set(self, "while", value) - - -@jsii.implements(IJsii487External2, IJsii487External) -class Jsii487Derived(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Jsii487Derived"): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(Jsii487Derived, self, []) - - -@jsii.implements(IJsii496) -class Jsii496Derived(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Jsii496Derived"): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(Jsii496Derived, self, []) - - -class JsiiAgent(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.JsiiAgent"): - """Host runtime version should be set via JSII_AGENT. - - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(JsiiAgent, self, []) - - @jsii.python.classproperty - @jsii.member(jsii_name="jsiiAgent") - def jsii_agent(cls) -> typing.Optional[str]: - """Returns the value of the JSII_AGENT environment variable. - - stability - :stability: experimental - """ - return jsii.sget(cls, "jsiiAgent") - - -class JsonFormatter(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.JsonFormatter"): - """Make sure structs are un-decorated on the way in. - - see - :see: https://github.com/aws/aws-cdk/issues/5066 - stability - :stability: experimental - """ - - @jsii.member(jsii_name="anyArray") - @builtins.classmethod - def any_array(cls) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "anyArray", []) - - @jsii.member(jsii_name="anyBooleanFalse") - @builtins.classmethod - def any_boolean_false(cls) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "anyBooleanFalse", []) - - @jsii.member(jsii_name="anyBooleanTrue") - @builtins.classmethod - def any_boolean_true(cls) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "anyBooleanTrue", []) - - @jsii.member(jsii_name="anyDate") - @builtins.classmethod - def any_date(cls) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "anyDate", []) - - @jsii.member(jsii_name="anyEmptyString") - @builtins.classmethod - def any_empty_string(cls) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "anyEmptyString", []) - - @jsii.member(jsii_name="anyFunction") - @builtins.classmethod - def any_function(cls) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "anyFunction", []) - - @jsii.member(jsii_name="anyHash") - @builtins.classmethod - def any_hash(cls) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "anyHash", []) - - @jsii.member(jsii_name="anyNull") - @builtins.classmethod - def any_null(cls) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "anyNull", []) - - @jsii.member(jsii_name="anyNumber") - @builtins.classmethod - def any_number(cls) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "anyNumber", []) - - @jsii.member(jsii_name="anyRef") - @builtins.classmethod - def any_ref(cls) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "anyRef", []) - - @jsii.member(jsii_name="anyString") - @builtins.classmethod - def any_string(cls) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "anyString", []) - - @jsii.member(jsii_name="anyUndefined") - @builtins.classmethod - def any_undefined(cls) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "anyUndefined", []) - - @jsii.member(jsii_name="anyZero") - @builtins.classmethod - def any_zero(cls) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "anyZero", []) - - @jsii.member(jsii_name="stringify") - @builtins.classmethod - def stringify(cls, value: typing.Any = None) -> typing.Optional[str]: - """ - :param value: - - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "stringify", [value]) - - -@jsii.data_type( - jsii_type="jsii-calc.LoadBalancedFargateServiceProps", - jsii_struct_bases=[], - name_mapping={ - "container_port": "containerPort", - "cpu": "cpu", - "memory_mib": "memoryMiB", - "public_load_balancer": "publicLoadBalancer", - "public_tasks": "publicTasks", - }, -) -class LoadBalancedFargateServiceProps: - def __init__( - self, - *, - container_port: typing.Optional[jsii.Number] = None, - cpu: typing.Optional[str] = None, - memory_mib: typing.Optional[str] = None, - public_load_balancer: typing.Optional[bool] = None, - public_tasks: typing.Optional[bool] = None, - ) -> None: - """jsii#298: show default values in sphinx documentation, and respect newlines. - - :param container_port: The container port of the application load balancer attached to your Fargate service. Corresponds to container port mapping. Default: 80 - :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 - - stability - :stability: experimental - """ - self._values = {} - if container_port is not None: - self._values["container_port"] = container_port - if cpu is not None: - self._values["cpu"] = cpu - if memory_mib is not None: - self._values["memory_mib"] = memory_mib - if public_load_balancer is not None: - self._values["public_load_balancer"] = public_load_balancer - if public_tasks is not None: - self._values["public_tasks"] = public_tasks - - @builtins.property - def container_port(self) -> typing.Optional[jsii.Number]: - """The container port of the application load balancer attached to your Fargate service. - - Corresponds to container port mapping. - - default - :default: 80 - - stability - :stability: experimental - """ - return self._values.get("container_port") - - @builtins.property - def cpu(self) -> typing.Optional[str]: - """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 - :default: 256 - - stability - :stability: experimental - """ - return self._values.get("cpu") - - @builtins.property - def memory_mib(self) -> typing.Optional[str]: - """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 - :default: 512 - - stability - :stability: experimental - """ - return self._values.get("memory_mib") - - @builtins.property - def public_load_balancer(self) -> typing.Optional[bool]: - """Determines whether the Application Load Balancer will be internet-facing. - - default - :default: true - - stability - :stability: experimental - """ - return self._values.get("public_load_balancer") - - @builtins.property - def public_tasks(self) -> typing.Optional[bool]: - """Determines whether your Fargate Service will be assigned a public IP address. - - default - :default: false - - stability - :stability: experimental - """ - return self._values.get("public_tasks") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "LoadBalancedFargateServiceProps(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class MethodNamedProperty( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.MethodNamedProperty" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(MethodNamedProperty, self, []) - - @jsii.member(jsii_name="property") - def property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "property", []) - - @builtins.property - @jsii.member(jsii_name="elite") - def elite(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.get(self, "elite") - - -@jsii.implements(IFriendlier, IRandomNumberGenerator) -class Multiply( - BinaryOperation, metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Multiply" -): - """The "*" binary operation. - - stability - :stability: experimental - """ - - def __init__( - self, lhs: scope.jsii_calc_lib.Value, rhs: scope.jsii_calc_lib.Value - ) -> None: - """Creates a BinaryOperation. - - :param lhs: Left-hand side operand. - :param rhs: Right-hand side operand. - - stability - :stability: experimental - """ - jsii.create(Multiply, self, [lhs, rhs]) - - @jsii.member(jsii_name="farewell") - def farewell(self) -> str: - """Say farewell. - - stability - :stability: experimental - """ - return jsii.invoke(self, "farewell", []) - - @jsii.member(jsii_name="goodbye") - def goodbye(self) -> str: - """Say goodbye. - - stability - :stability: experimental - """ - return jsii.invoke(self, "goodbye", []) - - @jsii.member(jsii_name="next") - def next(self) -> jsii.Number: - """Returns another random number. - - stability - :stability: experimental - """ - return jsii.invoke(self, "next", []) - - @jsii.member(jsii_name="toString") - def to_string(self) -> str: - """String representation of the value. - - stability - :stability: experimental - """ - return jsii.invoke(self, "toString", []) - - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> jsii.Number: - """The value. - - stability - :stability: experimental - """ - return jsii.get(self, "value") - - -@jsii.data_type( - jsii_type="jsii-calc.NestedStruct", - jsii_struct_bases=[], - name_mapping={"number_prop": "numberProp"}, -) -class NestedStruct: - def __init__(self, *, number_prop: jsii.Number) -> None: - """ - :param number_prop: When provided, must be > 0. - - stability - :stability: experimental - """ - self._values = { - "number_prop": number_prop, - } - - @builtins.property - def number_prop(self) -> jsii.Number: - """When provided, must be > 0. - - stability - :stability: experimental - """ - return self._values.get("number_prop") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "NestedStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class NodeStandardLibrary( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.NodeStandardLibrary" -): - """Test fixture to verify that jsii modules can use the node standard library. - - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(NodeStandardLibrary, self, []) - - @jsii.member(jsii_name="cryptoSha256") - def crypto_sha256(self) -> str: - """Uses node.js "crypto" module to calculate sha256 of a string. - - return - :return: "6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50" - - stability - :stability: experimental - """ - return jsii.invoke(self, "cryptoSha256", []) - - @jsii.member(jsii_name="fsReadFile") - def fs_read_file(self) -> str: - """Reads a local resource file (resource.txt) asynchronously. - - return - :return: "Hello, resource!" - - stability - :stability: experimental - """ - return jsii.ainvoke(self, "fsReadFile", []) - - @jsii.member(jsii_name="fsReadFileSync") - def fs_read_file_sync(self) -> str: - """Sync version of fsReadFile. - - return - :return: "Hello, resource! SYNC!" - - stability - :stability: experimental - """ - return jsii.invoke(self, "fsReadFileSync", []) - - @builtins.property - @jsii.member(jsii_name="osPlatform") - def os_platform(self) -> str: - """Returns the current os.platform() from the "os" node module. - - stability - :stability: experimental - """ - return jsii.get(self, "osPlatform") - - -class NullShouldBeTreatedAsUndefined( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.NullShouldBeTreatedAsUndefined" -): - """jsii#282, aws-cdk#157: null should be treated as "undefined". - - stability - :stability: experimental - """ - - def __init__(self, _param1: str, optional: typing.Any = None) -> None: - """ - :param _param1: - - :param optional: - - - stability - :stability: experimental - """ - jsii.create(NullShouldBeTreatedAsUndefined, self, [_param1, optional]) - - @jsii.member(jsii_name="giveMeUndefined") - def give_me_undefined(self, value: typing.Any = None) -> None: - """ - :param value: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "giveMeUndefined", [value]) - - @jsii.member(jsii_name="giveMeUndefinedInsideAnObject") - def give_me_undefined_inside_an_object( - self, - *, - array_with_three_elements_and_undefined_as_second_argument: typing.List[ - typing.Any - ], - this_should_be_undefined: typing.Any = None, - ) -> None: - """ - :param array_with_three_elements_and_undefined_as_second_argument: - :param this_should_be_undefined: - - stability - :stability: experimental - """ - input = NullShouldBeTreatedAsUndefinedData( - array_with_three_elements_and_undefined_as_second_argument=array_with_three_elements_and_undefined_as_second_argument, - this_should_be_undefined=this_should_be_undefined, - ) - - return jsii.invoke(self, "giveMeUndefinedInsideAnObject", [input]) - - @jsii.member(jsii_name="verifyPropertyIsUndefined") - def verify_property_is_undefined(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "verifyPropertyIsUndefined", []) - - @builtins.property - @jsii.member(jsii_name="changeMeToUndefined") - def change_me_to_undefined(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "changeMeToUndefined") - - @change_me_to_undefined.setter - def change_me_to_undefined(self, value: typing.Optional[str]) -> None: - jsii.set(self, "changeMeToUndefined", value) - - -@jsii.data_type( - jsii_type="jsii-calc.NullShouldBeTreatedAsUndefinedData", - jsii_struct_bases=[], - name_mapping={ - "array_with_three_elements_and_undefined_as_second_argument": "arrayWithThreeElementsAndUndefinedAsSecondArgument", - "this_should_be_undefined": "thisShouldBeUndefined", - }, -) -class NullShouldBeTreatedAsUndefinedData: - def __init__( - self, - *, - array_with_three_elements_and_undefined_as_second_argument: typing.List[ - typing.Any - ], - this_should_be_undefined: typing.Any = None, - ) -> None: - """ - :param array_with_three_elements_and_undefined_as_second_argument: - :param this_should_be_undefined: - - stability - :stability: experimental - """ - self._values = { - "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 - - @builtins.property - def array_with_three_elements_and_undefined_as_second_argument( - self, - ) -> typing.List[typing.Any]: - """ - stability - :stability: experimental - """ - return self._values.get( - "array_with_three_elements_and_undefined_as_second_argument" - ) - - @builtins.property - def this_should_be_undefined(self) -> typing.Any: - """ - stability - :stability: experimental - """ - return self._values.get("this_should_be_undefined") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "NullShouldBeTreatedAsUndefinedData(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class NumberGenerator(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.NumberGenerator"): - """This allows us to test that a reference can be stored for objects that implement interfaces. - - stability - :stability: experimental - """ - - def __init__(self, generator: "IRandomNumberGenerator") -> None: - """ - :param generator: - - - stability - :stability: experimental - """ - jsii.create(NumberGenerator, self, [generator]) - - @jsii.member(jsii_name="isSameGenerator") - def is_same_generator(self, gen: "IRandomNumberGenerator") -> bool: - """ - :param gen: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "isSameGenerator", [gen]) - - @jsii.member(jsii_name="nextTimes100") - def next_times100(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "nextTimes100", []) - - @builtins.property - @jsii.member(jsii_name="generator") - def generator(self) -> "IRandomNumberGenerator": - """ - stability - :stability: experimental - """ - return jsii.get(self, "generator") - - @generator.setter - def generator(self, value: "IRandomNumberGenerator") -> None: - jsii.set(self, "generator", value) - - -class ObjectRefsInCollections( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ObjectRefsInCollections" -): - """Verify that object references can be passed inside collections. - - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(ObjectRefsInCollections, self, []) - - @jsii.member(jsii_name="sumFromArray") - def sum_from_array( - self, values: typing.List[scope.jsii_calc_lib.Value] - ) -> jsii.Number: - """Returns the sum of all values. - - :param values: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "sumFromArray", [values]) - - @jsii.member(jsii_name="sumFromMap") - def sum_from_map( - self, values: typing.Mapping[str, scope.jsii_calc_lib.Value] - ) -> jsii.Number: - """Returns the sum of all values in a map. - - :param values: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "sumFromMap", [values]) - - -class ObjectWithPropertyProvider( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ObjectWithPropertyProvider" -): - """ - stability - :stability: experimental - """ - - @jsii.member(jsii_name="provide") - @builtins.classmethod - def provide(cls) -> "IObjectWithProperty": - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "provide", []) - - -class Old(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Old"): - """Old class. - - deprecated - :deprecated: Use the new class - - stability - :stability: deprecated - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(Old, self, []) - - @jsii.member(jsii_name="doAThing") - def do_a_thing(self) -> None: - """Doo wop that thing. - - stability - :stability: deprecated - """ - return jsii.invoke(self, "doAThing", []) - - -class OptionalArgumentInvoker( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.OptionalArgumentInvoker" -): - """ - stability - :stability: experimental - """ - - def __init__(self, delegate: "IInterfaceWithOptionalMethodArguments") -> None: - """ - :param delegate: - - - stability - :stability: experimental - """ - jsii.create(OptionalArgumentInvoker, self, [delegate]) - - @jsii.member(jsii_name="invokeWithOptional") - def invoke_with_optional(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "invokeWithOptional", []) - - @jsii.member(jsii_name="invokeWithoutOptional") - def invoke_without_optional(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "invokeWithoutOptional", []) - - -class OptionalConstructorArgument( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.OptionalConstructorArgument" -): - """ - stability - :stability: experimental - """ - - def __init__( - self, - arg1: jsii.Number, - arg2: str, - arg3: typing.Optional[datetime.datetime] = None, - ) -> None: - """ - :param arg1: - - :param arg2: - - :param arg3: - - - stability - :stability: experimental - """ - jsii.create(OptionalConstructorArgument, self, [arg1, arg2, arg3]) - - @builtins.property - @jsii.member(jsii_name="arg1") - def arg1(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.get(self, "arg1") - - @builtins.property - @jsii.member(jsii_name="arg2") - def arg2(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "arg2") - - @builtins.property - @jsii.member(jsii_name="arg3") - def arg3(self) -> typing.Optional[datetime.datetime]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "arg3") - - -@jsii.data_type( - jsii_type="jsii-calc.OptionalStruct", - jsii_struct_bases=[], - name_mapping={"field": "field"}, -) -class OptionalStruct: - def __init__(self, *, field: typing.Optional[str] = None) -> None: - """ - :param field: - - stability - :stability: experimental - """ - self._values = {} - if field is not None: - self._values["field"] = field - - @builtins.property - def field(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - return self._values.get("field") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "OptionalStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class OptionalStructConsumer( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.OptionalStructConsumer" -): - """ - stability - :stability: experimental - """ - - def __init__(self, *, field: typing.Optional[str] = None) -> None: - """ - :param field: - - stability - :stability: experimental - """ - optional_struct = OptionalStruct(field=field) - - jsii.create(OptionalStructConsumer, self, [optional_struct]) - - @builtins.property - @jsii.member(jsii_name="parameterWasUndefined") - def parameter_was_undefined(self) -> bool: - """ - stability - :stability: experimental - """ - return jsii.get(self, "parameterWasUndefined") - - @builtins.property - @jsii.member(jsii_name="fieldValue") - def field_value(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "fieldValue") - - -class OverridableProtectedMember( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.OverridableProtectedMember" -): - """ - see - :see: https://github.com/aws/jsii/issues/903 - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(OverridableProtectedMember, self, []) - - @jsii.member(jsii_name="overrideMe") - def _override_me(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "overrideMe", []) - - @jsii.member(jsii_name="switchModes") - def switch_modes(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "switchModes", []) - - @jsii.member(jsii_name="valueFromProtected") - def value_from_protected(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "valueFromProtected", []) - - @builtins.property - @jsii.member(jsii_name="overrideReadOnly") - def _override_read_only(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "overrideReadOnly") - - @builtins.property - @jsii.member(jsii_name="overrideReadWrite") - def _override_read_write(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "overrideReadWrite") - - @_override_read_write.setter - def _override_read_write(self, value: str) -> None: - jsii.set(self, "overrideReadWrite", value) - - -class OverrideReturnsObject( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.OverrideReturnsObject" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(OverrideReturnsObject, self, []) - - @jsii.member(jsii_name="test") - def test(self, obj: "IReturnsNumber") -> jsii.Number: - """ - :param obj: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "test", [obj]) - - -@jsii.data_type( - jsii_type="jsii-calc.ParentStruct982", - jsii_struct_bases=[], - name_mapping={"foo": "foo"}, -) -class ParentStruct982: - def __init__(self, *, foo: str) -> None: - """https://github.com/aws/jsii/issues/982. - - :param foo: - - stability - :stability: experimental - """ - self._values = { - "foo": foo, - } - - @builtins.property - def foo(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("foo") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "ParentStruct982(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class PartiallyInitializedThisConsumer( - metaclass=jsii.JSIIAbstractClass, - jsii_type="jsii-calc.PartiallyInitializedThisConsumer", -): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _PartiallyInitializedThisConsumerProxy - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(PartiallyInitializedThisConsumer, self, []) - - @jsii.member(jsii_name="consumePartiallyInitializedThis") - @abc.abstractmethod - def consume_partially_initialized_this( - self, obj: "ConstructorPassesThisOut", dt: datetime.datetime, ev: "AllTypesEnum" - ) -> str: - """ - :param obj: - - :param dt: - - :param ev: - - - stability - :stability: experimental - """ - ... - - -class _PartiallyInitializedThisConsumerProxy(PartiallyInitializedThisConsumer): - @jsii.member(jsii_name="consumePartiallyInitializedThis") - def consume_partially_initialized_this( - self, obj: "ConstructorPassesThisOut", dt: datetime.datetime, ev: "AllTypesEnum" - ) -> str: - """ - :param obj: - - :param dt: - - :param ev: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "consumePartiallyInitializedThis", [obj, dt, ev]) - - -class Polymorphism(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Polymorphism"): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(Polymorphism, self, []) - - @jsii.member(jsii_name="sayHello") - def say_hello(self, friendly: scope.jsii_calc_lib.IFriendly) -> str: - """ - :param friendly: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "sayHello", [friendly]) - - -class Power( - _CompositeOperation_1c4d123b, metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Power" -): - """The power operation. - - stability - :stability: experimental - """ - - def __init__( - self, base: scope.jsii_calc_lib.Value, pow: scope.jsii_calc_lib.Value - ) -> None: - """Creates a Power operation. - - :param base: The base of the power. - :param pow: The number of times to multiply. - - stability - :stability: experimental - """ - jsii.create(Power, self, [base, pow]) - - @builtins.property - @jsii.member(jsii_name="base") - def base(self) -> scope.jsii_calc_lib.Value: - """The base of the power. - - stability - :stability: experimental - """ - return jsii.get(self, "base") - - @builtins.property - @jsii.member(jsii_name="expression") - def expression(self) -> scope.jsii_calc_lib.Value: - """The expression that this operation consists of. - - Must be implemented by derived classes. - - stability - :stability: experimental - """ - return jsii.get(self, "expression") - - @builtins.property - @jsii.member(jsii_name="pow") - def pow(self) -> scope.jsii_calc_lib.Value: - """The number of times to multiply. - - stability - :stability: experimental - """ - return jsii.get(self, "pow") - - -class PropertyNamedProperty( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.PropertyNamedProperty" -): - """Reproduction for https://github.com/aws/jsii/issues/1113 Where a method or property named "property" would result in impossible to load Python code. - - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(PropertyNamedProperty, self, []) - - @builtins.property - @jsii.member(jsii_name="property") - def property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "property") - - @builtins.property - @jsii.member(jsii_name="yetAnoterOne") - def yet_anoter_one(self) -> bool: - """ - stability - :stability: experimental - """ - return jsii.get(self, "yetAnoterOne") - - -class PublicClass(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.PublicClass"): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(PublicClass, self, []) - - @jsii.member(jsii_name="hello") - def hello(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "hello", []) - - -class PythonReservedWords( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.PythonReservedWords" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(PythonReservedWords, self, []) - - @jsii.member(jsii_name="and") - def and_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "and", []) - - @jsii.member(jsii_name="as") - def as_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "as", []) - - @jsii.member(jsii_name="assert") - def assert_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "assert", []) - - @jsii.member(jsii_name="async") - def async_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "async", []) - - @jsii.member(jsii_name="await") - def await_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "await", []) - - @jsii.member(jsii_name="break") - def break_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "break", []) - - @jsii.member(jsii_name="class") - def class_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "class", []) - - @jsii.member(jsii_name="continue") - def continue_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "continue", []) - - @jsii.member(jsii_name="def") - def def_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "def", []) - - @jsii.member(jsii_name="del") - def del_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "del", []) - - @jsii.member(jsii_name="elif") - def elif_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "elif", []) - - @jsii.member(jsii_name="else") - def else_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "else", []) - - @jsii.member(jsii_name="except") - def except_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "except", []) - - @jsii.member(jsii_name="finally") - def finally_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "finally", []) - - @jsii.member(jsii_name="for") - def for_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "for", []) - - @jsii.member(jsii_name="from") - def from_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "from", []) - - @jsii.member(jsii_name="global") - def global_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "global", []) - - @jsii.member(jsii_name="if") - def if_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "if", []) - - @jsii.member(jsii_name="import") - def import_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "import", []) - - @jsii.member(jsii_name="in") - def in_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "in", []) - - @jsii.member(jsii_name="is") - def is_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "is", []) - - @jsii.member(jsii_name="lambda") - def lambda_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "lambda", []) - - @jsii.member(jsii_name="nonlocal") - def nonlocal_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "nonlocal", []) - - @jsii.member(jsii_name="not") - def not_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "not", []) - - @jsii.member(jsii_name="or") - def or_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "or", []) - - @jsii.member(jsii_name="pass") - def pass_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "pass", []) - - @jsii.member(jsii_name="raise") - def raise_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "raise", []) - - @jsii.member(jsii_name="return") - def return_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "return", []) - - @jsii.member(jsii_name="try") - def try_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "try", []) - - @jsii.member(jsii_name="while") - def while_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "while", []) - - @jsii.member(jsii_name="with") - def with_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "with", []) - - @jsii.member(jsii_name="yield") - def yield_(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "yield", []) - - -class ReferenceEnumFromScopedPackage( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.ReferenceEnumFromScopedPackage" -): - """See awslabs/jsii#138. - - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(ReferenceEnumFromScopedPackage, self, []) - - @jsii.member(jsii_name="loadFoo") - def load_foo(self) -> typing.Optional[scope.jsii_calc_lib.EnumFromScopedModule]: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "loadFoo", []) - - @jsii.member(jsii_name="saveFoo") - def save_foo(self, value: scope.jsii_calc_lib.EnumFromScopedModule) -> None: - """ - :param value: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "saveFoo", [value]) - - @builtins.property - @jsii.member(jsii_name="foo") - def foo(self) -> typing.Optional[scope.jsii_calc_lib.EnumFromScopedModule]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "foo") - - @foo.setter - def foo( - self, value: typing.Optional[scope.jsii_calc_lib.EnumFromScopedModule] - ) -> None: - jsii.set(self, "foo", value) - - -class ReturnsPrivateImplementationOfInterface( - metaclass=jsii.JSIIMeta, - jsii_type="jsii-calc.ReturnsPrivateImplementationOfInterface", -): - """Helps ensure the JSII kernel & runtime cooperate correctly when an un-exported instance of a class is returned with a declared type that is an exported interface, and the instance inherits from an exported class. - - return - :return: an instance of an un-exported class that extends ``ExportedBaseClass``, declared as ``IPrivatelyImplemented``. - - see - :see: https://github.com/aws/jsii/issues/320 - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(ReturnsPrivateImplementationOfInterface, self, []) - - @builtins.property - @jsii.member(jsii_name="privateImplementation") - def private_implementation(self) -> "IPrivatelyImplemented": - """ - stability - :stability: experimental - """ - return jsii.get(self, "privateImplementation") - - -@jsii.data_type( - jsii_type="jsii-calc.RootStruct", - jsii_struct_bases=[], - name_mapping={"string_prop": "stringProp", "nested_struct": "nestedStruct"}, -) -class RootStruct: - def __init__( - self, *, string_prop: str, nested_struct: typing.Optional["NestedStruct"] = None - ) -> None: - """This is here to check that we can pass a nested struct into a kwargs by specifying it as an in-line dictionary. - - This is cheating with the (current) declared types, but this is the "more - idiomatic" way for Pythonists. - - :param string_prop: May not be empty. - :param nested_struct: - - stability - :stability: experimental - """ - if isinstance(nested_struct, dict): - nested_struct = NestedStruct(**nested_struct) - self._values = { - "string_prop": string_prop, - } - if nested_struct is not None: - self._values["nested_struct"] = nested_struct - - @builtins.property - def string_prop(self) -> str: - """May not be empty. - - stability - :stability: experimental - """ - return self._values.get("string_prop") - - @builtins.property - def nested_struct(self) -> typing.Optional["NestedStruct"]: - """ - stability - :stability: experimental - """ - return self._values.get("nested_struct") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "RootStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class RootStructValidator( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.RootStructValidator" -): - """ - stability - :stability: experimental - """ - - @jsii.member(jsii_name="validate") - @builtins.classmethod - def validate( - cls, *, string_prop: str, nested_struct: typing.Optional["NestedStruct"] = None - ) -> None: - """ - :param string_prop: May not be empty. - :param nested_struct: - - stability - :stability: experimental - """ - struct = RootStruct(string_prop=string_prop, nested_struct=nested_struct) - - return jsii.sinvoke(cls, "validate", [struct]) - - -class RuntimeTypeChecking( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.RuntimeTypeChecking" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(RuntimeTypeChecking, self, []) - - @jsii.member(jsii_name="methodWithDefaultedArguments") - def method_with_defaulted_arguments( - self, - arg1: typing.Optional[jsii.Number] = None, - arg2: typing.Optional[str] = None, - arg3: typing.Optional[datetime.datetime] = None, - ) -> None: - """ - :param arg1: - - :param arg2: - - :param arg3: - - - stability - :stability: experimental - """ - return 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: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "methodWithOptionalAnyArgument", [arg]) - - @jsii.member(jsii_name="methodWithOptionalArguments") - def method_with_optional_arguments( - self, - arg1: jsii.Number, - arg2: str, - arg3: typing.Optional[datetime.datetime] = None, - ) -> None: - """Used to verify verification of number of method arguments. - - :param arg1: - - :param arg2: - - :param arg3: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "methodWithOptionalArguments", [arg1, arg2, arg3]) - - -@jsii.data_type( - jsii_type="jsii-calc.SecondLevelStruct", - jsii_struct_bases=[], - name_mapping={ - "deeper_required_prop": "deeperRequiredProp", - "deeper_optional_prop": "deeperOptionalProp", - }, -) -class SecondLevelStruct: - def __init__( - self, - *, - deeper_required_prop: str, - deeper_optional_prop: typing.Optional[str] = None, - ) -> None: - """ - :param deeper_required_prop: It's long and required. - :param deeper_optional_prop: It's long, but you'll almost never pass it. - - stability - :stability: experimental - """ - self._values = { - "deeper_required_prop": deeper_required_prop, - } - if deeper_optional_prop is not None: - self._values["deeper_optional_prop"] = deeper_optional_prop - - @builtins.property - def deeper_required_prop(self) -> str: - """It's long and required. - - stability - :stability: experimental - """ - return self._values.get("deeper_required_prop") - - @builtins.property - def deeper_optional_prop(self) -> typing.Optional[str]: - """It's long, but you'll almost never pass it. - - stability - :stability: experimental - """ - return self._values.get("deeper_optional_prop") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "SecondLevelStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class SingleInstanceTwoTypes( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.SingleInstanceTwoTypes" -): - """Test that a single instance can be returned under two different FQNs. - - JSII clients can instantiate 2 different strongly-typed wrappers for the same - object. Unfortunately, this will break object equality, but if we didn't do - this it would break runtime type checks in the JVM or CLR. - - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(SingleInstanceTwoTypes, self, []) - - @jsii.member(jsii_name="interface1") - def interface1(self) -> "InbetweenClass": - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "interface1", []) - - @jsii.member(jsii_name="interface2") - def interface2(self) -> "IPublicInterface": - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "interface2", []) - - -class SingletonInt(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.SingletonInt"): - """Verifies that singleton enums are handled correctly. - - https://github.com/aws/jsii/issues/231 - - stability - :stability: experimental - """ - - @jsii.member(jsii_name="isSingletonInt") - def is_singleton_int(self, value: jsii.Number) -> bool: - """ - :param value: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "isSingletonInt", [value]) - - -@jsii.enum(jsii_type="jsii-calc.SingletonIntEnum") -class SingletonIntEnum(enum.Enum): - """A singleton integer. - - stability - :stability: experimental - """ - - SINGLETON_INT = "SINGLETON_INT" - """Elite! - - stability - :stability: experimental - """ - - -class SingletonString(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.SingletonString"): - """Verifies that singleton enums are handled correctly. - - https://github.com/aws/jsii/issues/231 - - stability - :stability: experimental - """ - - @jsii.member(jsii_name="isSingletonString") - def is_singleton_string(self, value: str) -> bool: - """ - :param value: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "isSingletonString", [value]) - - -@jsii.enum(jsii_type="jsii-calc.SingletonStringEnum") -class SingletonStringEnum(enum.Enum): - """A singleton string. - - stability - :stability: experimental - """ - - SINGLETON_STRING = "SINGLETON_STRING" - """1337. - - stability - :stability: experimental - """ - - -@jsii.data_type( - jsii_type="jsii-calc.SmellyStruct", - jsii_struct_bases=[], - name_mapping={"property": "property", "yet_anoter_one": "yetAnoterOne"}, -) -class SmellyStruct: - def __init__(self, *, property: str, yet_anoter_one: bool) -> None: - """ - :param property: - :param yet_anoter_one: - - stability - :stability: experimental - """ - self._values = { - "property": property, - "yet_anoter_one": yet_anoter_one, - } - - @builtins.property - def property(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("property") - - @builtins.property - def yet_anoter_one(self) -> bool: - """ - stability - :stability: experimental - """ - return self._values.get("yet_anoter_one") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "SmellyStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class SomeTypeJsii976(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.SomeTypeJsii976"): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(SomeTypeJsii976, self, []) - - @jsii.member(jsii_name="returnAnonymous") - @builtins.classmethod - def return_anonymous(cls) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "returnAnonymous", []) - - @jsii.member(jsii_name="returnReturn") - @builtins.classmethod - def return_return(cls) -> "IReturnJsii976": - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "returnReturn", []) - - -class StableClass(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.StableClass"): - def __init__( - self, readonly_string: str, mutable_number: typing.Optional[jsii.Number] = None - ) -> None: - """ - :param readonly_string: - - :param mutable_number: - - """ - jsii.create(StableClass, self, [readonly_string, mutable_number]) - - @jsii.member(jsii_name="method") - def method(self) -> None: - return jsii.invoke(self, "method", []) - - @builtins.property - @jsii.member(jsii_name="readonlyProperty") - def readonly_property(self) -> str: - return jsii.get(self, "readonlyProperty") - - @builtins.property - @jsii.member(jsii_name="mutableProperty") - def mutable_property(self) -> typing.Optional[jsii.Number]: - return jsii.get(self, "mutableProperty") - - @mutable_property.setter - def mutable_property(self, value: typing.Optional[jsii.Number]) -> None: - jsii.set(self, "mutableProperty", value) - - -@jsii.enum(jsii_type="jsii-calc.StableEnum") -class StableEnum(enum.Enum): - OPTION_A = "OPTION_A" - OPTION_B = "OPTION_B" - - -@jsii.data_type( - jsii_type="jsii-calc.StableStruct", - jsii_struct_bases=[], - name_mapping={"readonly_property": "readonlyProperty"}, -) -class StableStruct: - def __init__(self, *, readonly_property: str) -> None: - """ - :param readonly_property: - """ - self._values = { - "readonly_property": readonly_property, - } - - @builtins.property - def readonly_property(self) -> str: - return self._values.get("readonly_property") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "StableStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class StaticContext(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.StaticContext"): - """This is used to validate the ability to use ``this`` from within a static context. - - https://github.com/awslabs/aws-cdk/issues/2304 - - stability - :stability: experimental - """ - - @jsii.member(jsii_name="canAccessStaticContext") - @builtins.classmethod - def can_access_static_context(cls) -> bool: - """ - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "canAccessStaticContext", []) - - @jsii.python.classproperty - @jsii.member(jsii_name="staticVariable") - def static_variable(cls) -> bool: - """ - stability - :stability: experimental - """ - return jsii.sget(cls, "staticVariable") - - @static_variable.setter - def static_variable(cls, value: bool) -> None: - jsii.sset(cls, "staticVariable", value) - - -class Statics(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Statics"): - """ - stability - :stability: experimental - """ - - def __init__(self, value: str) -> None: - """ - :param value: - - - stability - :stability: experimental - """ - jsii.create(Statics, self, [value]) - - @jsii.member(jsii_name="staticMethod") - @builtins.classmethod - def static_method(cls, name: str) -> str: - """Jsdocs for static method. - - :param name: The name of the person to say hello to. - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "staticMethod", [name]) - - @jsii.member(jsii_name="justMethod") - def just_method(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "justMethod", []) - - @jsii.python.classproperty - @jsii.member(jsii_name="BAR") - def BAR(cls) -> jsii.Number: - """Constants may also use all-caps. - - stability - :stability: experimental - """ - return jsii.sget(cls, "BAR") - - @jsii.python.classproperty - @jsii.member(jsii_name="ConstObj") - def CONST_OBJ(cls) -> "DoubleTrouble": - """ - stability - :stability: experimental - """ - return jsii.sget(cls, "ConstObj") - - @jsii.python.classproperty - @jsii.member(jsii_name="Foo") - def FOO(cls) -> str: - """Jsdocs for static property. - - stability - :stability: experimental - """ - return jsii.sget(cls, "Foo") - - @jsii.python.classproperty - @jsii.member(jsii_name="zooBar") - def ZOO_BAR(cls) -> typing.Mapping[str, str]: - """Constants can also use camelCase. - - stability - :stability: experimental - """ - return jsii.sget(cls, "zooBar") - - @jsii.python.classproperty - @jsii.member(jsii_name="instance") - def instance(cls) -> "Statics": - """Jsdocs for static getter. - - Jsdocs for static setter. - - stability - :stability: experimental - """ - return jsii.sget(cls, "instance") - - @instance.setter - def instance(cls, value: "Statics") -> None: - jsii.sset(cls, "instance", value) - - @jsii.python.classproperty - @jsii.member(jsii_name="nonConstStatic") - def non_const_static(cls) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.sget(cls, "nonConstStatic") - - @non_const_static.setter - def non_const_static(cls, value: jsii.Number) -> None: - jsii.sset(cls, "nonConstStatic", value) - - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "value") - - -@jsii.enum(jsii_type="jsii-calc.StringEnum") -class StringEnum(enum.Enum): - """ - stability - :stability: experimental - """ - - A = "A" - """ - stability - :stability: experimental - """ - B = "B" - """ - stability - :stability: experimental - """ - C = "C" - """ - stability - :stability: experimental - """ - - -class StripInternal(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.StripInternal"): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(StripInternal, self, []) - - @builtins.property - @jsii.member(jsii_name="youSeeMe") - def you_see_me(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "youSeeMe") - - @you_see_me.setter - def you_see_me(self, value: str) -> None: - jsii.set(self, "youSeeMe", value) - - -@jsii.data_type( - jsii_type="jsii-calc.StructA", - jsii_struct_bases=[], - name_mapping={ - "required_string": "requiredString", - "optional_number": "optionalNumber", - "optional_string": "optionalString", - }, -) -class StructA: - def __init__( - self, - *, - required_string: str, - optional_number: typing.Optional[jsii.Number] = None, - optional_string: typing.Optional[str] = None, - ) -> None: - """We can serialize and deserialize structs without silently ignoring optional fields. - - :param required_string: - :param optional_number: - :param optional_string: - - stability - :stability: experimental - """ - self._values = { - "required_string": required_string, - } - if optional_number is not None: - self._values["optional_number"] = optional_number - if optional_string is not None: - self._values["optional_string"] = optional_string - - @builtins.property - def required_string(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("required_string") - - @builtins.property - def optional_number(self) -> typing.Optional[jsii.Number]: - """ - stability - :stability: experimental - """ - return self._values.get("optional_number") - - @builtins.property - def optional_string(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - return self._values.get("optional_string") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "StructA(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -@jsii.data_type( - jsii_type="jsii-calc.StructB", - jsii_struct_bases=[], - name_mapping={ - "required_string": "requiredString", - "optional_boolean": "optionalBoolean", - "optional_struct_a": "optionalStructA", - }, -) -class StructB: - def __init__( - self, - *, - required_string: str, - optional_boolean: typing.Optional[bool] = None, - optional_struct_a: typing.Optional["StructA"] = None, - ) -> None: - """This intentionally overlaps with StructA (where only requiredString is provided) to test htat the kernel properly disambiguates those. - - :param required_string: - :param optional_boolean: - :param optional_struct_a: - - stability - :stability: experimental - """ - if isinstance(optional_struct_a, dict): - optional_struct_a = StructA(**optional_struct_a) - self._values = { - "required_string": required_string, - } - if optional_boolean is not None: - self._values["optional_boolean"] = optional_boolean - if optional_struct_a is not None: - self._values["optional_struct_a"] = optional_struct_a - - @builtins.property - def required_string(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("required_string") - - @builtins.property - def optional_boolean(self) -> typing.Optional[bool]: - """ - stability - :stability: experimental - """ - return self._values.get("optional_boolean") - - @builtins.property - def optional_struct_a(self) -> typing.Optional["StructA"]: - """ - stability - :stability: experimental - """ - return self._values.get("optional_struct_a") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "StructB(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -@jsii.data_type( - jsii_type="jsii-calc.StructParameterType", - jsii_struct_bases=[], - name_mapping={"scope": "scope", "props": "props"}, -) -class StructParameterType: - def __init__(self, *, scope: str, props: typing.Optional[bool] = None) -> None: - """Verifies that, in languages that do keyword lifting (e.g: Python), having a struct member with the same name as a positional parameter results in the correct code being emitted. - - See: https://github.com/aws/aws-cdk/issues/4302 - - :param scope: - :param props: - - stability - :stability: experimental - """ - self._values = { - "scope": scope, - } - if props is not None: - self._values["props"] = props - - @builtins.property - def scope(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("scope") - - @builtins.property - def props(self) -> typing.Optional[bool]: - """ - stability - :stability: experimental - """ - return self._values.get("props") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "StructParameterType(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class StructPassing(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.StructPassing"): - """Just because we can.""" - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(StructPassing, self, []) - - @jsii.member(jsii_name="howManyVarArgsDidIPass") - @builtins.classmethod - def how_many_var_args_did_i_pass( - cls, _positional: jsii.Number, *inputs: "TopLevelStruct" - ) -> jsii.Number: - """ - :param _positional: - - :param inputs: - - """ - return jsii.sinvoke(cls, "howManyVarArgsDidIPass", [_positional, *inputs]) - - @jsii.member(jsii_name="roundTrip") - @builtins.classmethod - def round_trip( - cls, - _positional: jsii.Number, - *, - required: str, - second_level: typing.Union[jsii.Number, "SecondLevelStruct"], - optional: typing.Optional[str] = None, - ) -> "TopLevelStruct": - """ - :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. - """ - input = TopLevelStruct( - required=required, second_level=second_level, optional=optional - ) - - return jsii.sinvoke(cls, "roundTrip", [_positional, input]) - - -class StructUnionConsumer( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.StructUnionConsumer" -): - """ - stability - :stability: experimental - """ - - @jsii.member(jsii_name="isStructA") - @builtins.classmethod - def is_struct_a(cls, struct: typing.Union["StructA", "StructB"]) -> bool: - """ - :param struct: - - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "isStructA", [struct]) - - @jsii.member(jsii_name="isStructB") - @builtins.classmethod - def is_struct_b(cls, struct: typing.Union["StructA", "StructB"]) -> bool: - """ - :param struct: - - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "isStructB", [struct]) - - -@jsii.data_type( - jsii_type="jsii-calc.StructWithJavaReservedWords", - jsii_struct_bases=[], - name_mapping={ - "default": "default", - "assert_": "assert", - "result": "result", - "that": "that", - }, -) -class StructWithJavaReservedWords: - def __init__( - self, - *, - default: str, - assert_: typing.Optional[str] = None, - result: typing.Optional[str] = None, - that: typing.Optional[str] = None, - ) -> None: - """ - :param default: - :param assert_: - :param result: - :param that: - - stability - :stability: experimental - """ - self._values = { - "default": default, - } - if assert_ is not None: - self._values["assert_"] = assert_ - if result is not None: - self._values["result"] = result - if that is not None: - self._values["that"] = that - - @builtins.property - def default(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("default") - - @builtins.property - def assert_(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - return self._values.get("assert_") - - @builtins.property - def result(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - return self._values.get("result") - - @builtins.property - def that(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - return self._values.get("that") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "StructWithJavaReservedWords(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class Sum( - _CompositeOperation_1c4d123b, metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Sum" -): - """An operation that sums multiple values. - - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(Sum, self, []) - - @builtins.property - @jsii.member(jsii_name="expression") - def expression(self) -> scope.jsii_calc_lib.Value: - """The expression that this operation consists of. - - Must be implemented by derived classes. - - stability - :stability: experimental - """ - return jsii.get(self, "expression") - - @builtins.property - @jsii.member(jsii_name="parts") - def parts(self) -> typing.List[scope.jsii_calc_lib.Value]: - """The parts to sum. - - stability - :stability: experimental - """ - return jsii.get(self, "parts") - - @parts.setter - def parts(self, value: typing.List[scope.jsii_calc_lib.Value]) -> None: - jsii.set(self, "parts", value) - - -@jsii.data_type( - jsii_type="jsii-calc.SupportsNiceJavaBuilderProps", - jsii_struct_bases=[], - name_mapping={"bar": "bar", "id": "id"}, -) -class SupportsNiceJavaBuilderProps: - def __init__(self, *, bar: jsii.Number, id: typing.Optional[str] = None) -> 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. - - stability - :stability: experimental - """ - self._values = { - "bar": bar, - } - if id is not None: - self._values["id"] = id - - @builtins.property - def bar(self) -> jsii.Number: - """Some number, like 42. - - stability - :stability: experimental - """ - return self._values.get("bar") - - @builtins.property - def id(self) -> typing.Optional[str]: - """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. - - stability - :stability: experimental - """ - return self._values.get("id") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "SupportsNiceJavaBuilderProps(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class SupportsNiceJavaBuilderWithRequiredProps( - metaclass=jsii.JSIIMeta, - jsii_type="jsii-calc.SupportsNiceJavaBuilderWithRequiredProps", -): - """We can generate fancy builders in Java for classes which take a mix of positional & struct parameters. - - stability - :stability: experimental - """ - - def __init__( - self, id_: jsii.Number, *, bar: jsii.Number, id: typing.Optional[str] = None - ) -> None: - """ - :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. - - stability - :stability: experimental - """ - props = SupportsNiceJavaBuilderProps(bar=bar, id=id) - - jsii.create(SupportsNiceJavaBuilderWithRequiredProps, self, [id_, props]) - - @builtins.property - @jsii.member(jsii_name="bar") - def bar(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.get(self, "bar") - - @builtins.property - @jsii.member(jsii_name="id") - def id(self) -> jsii.Number: - """some identifier of your choice. - - stability - :stability: experimental - """ - return jsii.get(self, "id") - - @builtins.property - @jsii.member(jsii_name="propId") - def prop_id(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "propId") - - -class SyncVirtualMethods( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.SyncVirtualMethods" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(SyncVirtualMethods, self, []) - - @jsii.member(jsii_name="callerIsAsync") - def caller_is_async(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.ainvoke(self, "callerIsAsync", []) - - @jsii.member(jsii_name="callerIsMethod") - def caller_is_method(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "callerIsMethod", []) - - @jsii.member(jsii_name="modifyOtherProperty") - def modify_other_property(self, value: str) -> None: - """ - :param value: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "modifyOtherProperty", [value]) - - @jsii.member(jsii_name="modifyValueOfTheProperty") - def modify_value_of_the_property(self, value: str) -> None: - """ - :param value: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "modifyValueOfTheProperty", [value]) - - @jsii.member(jsii_name="readA") - def read_a(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "readA", []) - - @jsii.member(jsii_name="retrieveOtherProperty") - def retrieve_other_property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "retrieveOtherProperty", []) - - @jsii.member(jsii_name="retrieveReadOnlyProperty") - def retrieve_read_only_property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "retrieveReadOnlyProperty", []) - - @jsii.member(jsii_name="retrieveValueOfTheProperty") - def retrieve_value_of_the_property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "retrieveValueOfTheProperty", []) - - @jsii.member(jsii_name="virtualMethod") - def virtual_method(self, n: jsii.Number) -> jsii.Number: - """ - :param n: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "virtualMethod", [n]) - - @jsii.member(jsii_name="writeA") - def write_a(self, value: jsii.Number) -> None: - """ - :param value: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "writeA", [value]) - - @builtins.property - @jsii.member(jsii_name="readonlyProperty") - def readonly_property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "readonlyProperty") - - @builtins.property - @jsii.member(jsii_name="a") - def a(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.get(self, "a") - - @a.setter - def a(self, value: jsii.Number) -> None: - jsii.set(self, "a", value) - - @builtins.property - @jsii.member(jsii_name="callerIsProperty") - def caller_is_property(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.get(self, "callerIsProperty") - - @caller_is_property.setter - def caller_is_property(self, value: jsii.Number) -> None: - jsii.set(self, "callerIsProperty", value) - - @builtins.property - @jsii.member(jsii_name="otherProperty") - def other_property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "otherProperty") - - @other_property.setter - def other_property(self, value: str) -> None: - jsii.set(self, "otherProperty", value) - - @builtins.property - @jsii.member(jsii_name="theProperty") - def the_property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "theProperty") - - @the_property.setter - def the_property(self, value: str) -> None: - jsii.set(self, "theProperty", value) - - @builtins.property - @jsii.member(jsii_name="valueOfOtherProperty") - def value_of_other_property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "valueOfOtherProperty") - - @value_of_other_property.setter - def value_of_other_property(self, value: str) -> None: - jsii.set(self, "valueOfOtherProperty", value) - - -class Thrower(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Thrower"): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(Thrower, self, []) - - @jsii.member(jsii_name="throwError") - def throw_error(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "throwError", []) - - -@jsii.data_type( - jsii_type="jsii-calc.TopLevelStruct", - jsii_struct_bases=[], - name_mapping={ - "required": "required", - "second_level": "secondLevel", - "optional": "optional", - }, -) -class TopLevelStruct: - def __init__( - self, - *, - required: str, - second_level: typing.Union[jsii.Number, "SecondLevelStruct"], - optional: typing.Optional[str] = None, - ) -> None: - """ - :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. - - stability - :stability: experimental - """ - self._values = { - "required": required, - "second_level": second_level, - } - if optional is not None: - self._values["optional"] = optional - - @builtins.property - def required(self) -> str: - """This is a required field. - - stability - :stability: experimental - """ - return self._values.get("required") - - @builtins.property - def second_level(self) -> typing.Union[jsii.Number, "SecondLevelStruct"]: - """A union to really stress test our serialization. - - stability - :stability: experimental - """ - return self._values.get("second_level") - - @builtins.property - def optional(self) -> typing.Optional[str]: - """You don't have to pass this. - - stability - :stability: experimental - """ - return self._values.get("optional") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "TopLevelStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -class UmaskCheck(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.UmaskCheck"): - """Checks the current file permissions are cool (no funky UMASK down-scoping happened). - - see - :see: https://github.com/aws/jsii/issues/1765 - stability - :stability: experimental - """ - - @jsii.member(jsii_name="mode") - @builtins.classmethod - def mode(cls) -> jsii.Number: - """This should return 0o644 (-rw-r--r--). - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "mode", []) - - -class UnaryOperation( - scope.jsii_calc_lib.Operation, - metaclass=jsii.JSIIAbstractClass, - jsii_type="jsii-calc.UnaryOperation", -): - """An operation on a single operand. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _UnaryOperationProxy - - def __init__(self, operand: scope.jsii_calc_lib.Value) -> None: - """ - :param operand: - - - stability - :stability: experimental - """ - jsii.create(UnaryOperation, self, [operand]) - - @builtins.property - @jsii.member(jsii_name="operand") - def operand(self) -> scope.jsii_calc_lib.Value: - """ - stability - :stability: experimental - """ - return jsii.get(self, "operand") - - -class _UnaryOperationProxy( - UnaryOperation, jsii.proxy_for(scope.jsii_calc_lib.Operation) -): - pass - - -@jsii.data_type( - jsii_type="jsii-calc.UnionProperties", - jsii_struct_bases=[], - name_mapping={"bar": "bar", "foo": "foo"}, -) -class UnionProperties: - def __init__( - self, - *, - bar: typing.Union[str, jsii.Number, "AllTypes"], - foo: typing.Optional[typing.Union[str, jsii.Number]] = None, - ) -> None: - """ - :param bar: - :param foo: - - stability - :stability: experimental - """ - self._values = { - "bar": bar, - } - if foo is not None: - self._values["foo"] = foo - - @builtins.property - def bar(self) -> typing.Union[str, jsii.Number, "AllTypes"]: - """ - stability - :stability: experimental - """ - return self._values.get("bar") - - @builtins.property - def foo(self) -> typing.Optional[typing.Union[str, jsii.Number]]: - """ - stability - :stability: experimental - """ - return self._values.get("foo") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "UnionProperties(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -@jsii.implements(scope.jsii_calc_lib.custom_submodule_name.IReflectable) -class UpcasingReflectable( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.UpcasingReflectable" -): - """Ensures submodule-imported types from dependencies can be used correctly. - - stability - :stability: experimental - """ - - def __init__(self, delegate: typing.Mapping[str, typing.Any]) -> None: - """ - :param delegate: - - - stability - :stability: experimental - """ - jsii.create(UpcasingReflectable, self, [delegate]) - - @jsii.python.classproperty - @jsii.member(jsii_name="reflector") - def REFLECTOR(cls) -> scope.jsii_calc_lib.custom_submodule_name.Reflector: - """ - stability - :stability: experimental - """ - return jsii.sget(cls, "reflector") - - @builtins.property - @jsii.member(jsii_name="entries") - def entries( - self, - ) -> typing.List[scope.jsii_calc_lib.custom_submodule_name.ReflectableEntry]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "entries") - - -class UseBundledDependency( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.UseBundledDependency" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(UseBundledDependency, self, []) - - @jsii.member(jsii_name="value") - def value(self) -> typing.Any: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "value", []) - - -class UseCalcBase(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.UseCalcBase"): - """Depend on a type from jsii-calc-base as a test for awslabs/jsii#128. - - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(UseCalcBase, self, []) - - @jsii.member(jsii_name="hello") - def hello(self) -> scope.jsii_calc_base.Base: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "hello", []) - - -class UsesInterfaceWithProperties( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.UsesInterfaceWithProperties" -): - """ - stability - :stability: experimental - """ - - def __init__(self, obj: "IInterfaceWithProperties") -> None: - """ - :param obj: - - - stability - :stability: experimental - """ - jsii.create(UsesInterfaceWithProperties, self, [obj]) - - @jsii.member(jsii_name="justRead") - def just_read(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "justRead", []) - - @jsii.member(jsii_name="readStringAndNumber") - def read_string_and_number(self, ext: "IInterfaceWithPropertiesExtension") -> str: - """ - :param ext: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "readStringAndNumber", [ext]) - - @jsii.member(jsii_name="writeAndRead") - def write_and_read(self, value: str) -> str: - """ - :param value: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "writeAndRead", [value]) - - @builtins.property - @jsii.member(jsii_name="obj") - def obj(self) -> "IInterfaceWithProperties": - """ - stability - :stability: experimental - """ - return jsii.get(self, "obj") - - -class VariadicInvoker(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.VariadicInvoker"): - """ - stability - :stability: experimental - """ - - def __init__(self, method: "VariadicMethod") -> None: - """ - :param method: - - - stability - :stability: experimental - """ - jsii.create(VariadicInvoker, self, [method]) - - @jsii.member(jsii_name="asArray") - def as_array(self, *values: jsii.Number) -> typing.List[jsii.Number]: - """ - :param values: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "asArray", [*values]) - - -class VariadicMethod(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.VariadicMethod"): - """ - stability - :stability: experimental - """ - - def __init__(self, *prefix: jsii.Number) -> None: - """ - :param prefix: a prefix that will be use for all values returned by ``#asArray``. - - stability - :stability: experimental - """ - jsii.create(VariadicMethod, self, [*prefix]) - - @jsii.member(jsii_name="asArray") - def as_array( - self, first: jsii.Number, *others: jsii.Number - ) -> 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. - - stability - :stability: experimental - """ - return jsii.invoke(self, "asArray", [first, *others]) - - -class VirtualMethodPlayground( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.VirtualMethodPlayground" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(VirtualMethodPlayground, self, []) - - @jsii.member(jsii_name="overrideMeAsync") - def override_me_async(self, index: jsii.Number) -> jsii.Number: - """ - :param index: - - - stability - :stability: experimental - """ - return jsii.ainvoke(self, "overrideMeAsync", [index]) - - @jsii.member(jsii_name="overrideMeSync") - def override_me_sync(self, index: jsii.Number) -> jsii.Number: - """ - :param index: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "overrideMeSync", [index]) - - @jsii.member(jsii_name="parallelSumAsync") - def parallel_sum_async(self, count: jsii.Number) -> jsii.Number: - """ - :param count: - - - stability - :stability: experimental - """ - return jsii.ainvoke(self, "parallelSumAsync", [count]) - - @jsii.member(jsii_name="serialSumAsync") - def serial_sum_async(self, count: jsii.Number) -> jsii.Number: - """ - :param count: - - - stability - :stability: experimental - """ - return jsii.ainvoke(self, "serialSumAsync", [count]) - - @jsii.member(jsii_name="sumSync") - def sum_sync(self, count: jsii.Number) -> jsii.Number: - """ - :param count: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "sumSync", [count]) - - -class VoidCallback( - metaclass=jsii.JSIIAbstractClass, jsii_type="jsii-calc.VoidCallback" -): - """This test is used to validate the runtimes can return correctly from a void callback. - - - Implement ``overrideMe`` (method does not have to do anything). - - Invoke ``callMe`` - - Verify that ``methodWasCalled`` is ``true``. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _VoidCallbackProxy - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(VoidCallback, self, []) - - @jsii.member(jsii_name="callMe") - def call_me(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "callMe", []) - - @jsii.member(jsii_name="overrideMe") - @abc.abstractmethod - def _override_me(self) -> None: - """ - stability - :stability: experimental - """ - ... - - @builtins.property - @jsii.member(jsii_name="methodWasCalled") - def method_was_called(self) -> bool: - """ - stability - :stability: experimental - """ - return jsii.get(self, "methodWasCalled") - - -class _VoidCallbackProxy(VoidCallback): - @jsii.member(jsii_name="overrideMe") - def _override_me(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "overrideMe", []) - - -class WithPrivatePropertyInConstructor( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.WithPrivatePropertyInConstructor" -): - """Verifies that private property declarations in constructor arguments are hidden. - - stability - :stability: experimental - """ - - def __init__(self, private_field: typing.Optional[str] = None) -> None: - """ - :param private_field: - - - stability - :stability: experimental - """ - jsii.create(WithPrivatePropertyInConstructor, self, [private_field]) - - @builtins.property - @jsii.member(jsii_name="success") - def success(self) -> bool: - """ - stability - :stability: experimental - """ - return jsii.get(self, "success") - - -@jsii.implements(IInterfaceImplementedByAbstractClass) -class AbstractClass( - AbstractClassBase, - metaclass=jsii.JSIIAbstractClass, - jsii_type="jsii-calc.AbstractClass", -): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _AbstractClassProxy - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(AbstractClass, self, []) - - @jsii.member(jsii_name="abstractMethod") - @abc.abstractmethod - def abstract_method(self, name: str) -> str: - """ - :param name: - - - stability - :stability: experimental - """ - ... - - @jsii.member(jsii_name="nonAbstractMethod") - def non_abstract_method(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "nonAbstractMethod", []) - - @builtins.property - @jsii.member(jsii_name="propFromInterface") - def prop_from_interface(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "propFromInterface") - - -class _AbstractClassProxy(AbstractClass, jsii.proxy_for(AbstractClassBase)): - @jsii.member(jsii_name="abstractMethod") - def abstract_method(self, name: str) -> str: - """ - :param name: - - - stability - :stability: experimental - """ - return jsii.invoke(self, "abstractMethod", [name]) - - -class Add(BinaryOperation, metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Add"): - """The "+" binary operation. - - stability - :stability: experimental - """ - - def __init__( - self, lhs: scope.jsii_calc_lib.Value, rhs: scope.jsii_calc_lib.Value - ) -> None: - """Creates a BinaryOperation. - - :param lhs: Left-hand side operand. - :param rhs: Right-hand side operand. - - stability - :stability: experimental - """ - jsii.create(Add, self, [lhs, rhs]) - - @jsii.member(jsii_name="toString") - def to_string(self) -> str: - """String representation of the value. - - stability - :stability: experimental - """ - return jsii.invoke(self, "toString", []) - - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> jsii.Number: - """The value. - - stability - :stability: experimental - """ - return jsii.get(self, "value") - - -@jsii.implements(IAnonymousImplementationProvider) -class AnonymousImplementationProvider( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.AnonymousImplementationProvider" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(AnonymousImplementationProvider, self, []) - - @jsii.member(jsii_name="provideAsClass") - def provide_as_class(self) -> "Implementation": - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "provideAsClass", []) - - @jsii.member(jsii_name="provideAsInterface") - def provide_as_interface(self) -> "IAnonymouslyImplementMe": - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "provideAsInterface", []) - - -@jsii.implements(IBell) -class Bell(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Bell"): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(Bell, self, []) - - @jsii.member(jsii_name="ring") - def ring(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "ring", []) - - @builtins.property - @jsii.member(jsii_name="rung") - def rung(self) -> bool: - """ - stability - :stability: experimental - """ - return jsii.get(self, "rung") - - @rung.setter - def rung(self, value: bool) -> None: - jsii.set(self, "rung", value) - - -@jsii.data_type( - jsii_type="jsii-calc.ChildStruct982", - jsii_struct_bases=[ParentStruct982], - name_mapping={"foo": "foo", "bar": "bar"}, -) -class ChildStruct982(ParentStruct982): - def __init__(self, *, foo: str, bar: jsii.Number) -> None: - """ - :param foo: - :param bar: - - stability - :stability: experimental - """ - self._values = { - "foo": foo, - "bar": bar, - } - - @builtins.property - def foo(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("foo") - - @builtins.property - def bar(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return self._values.get("bar") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "ChildStruct982(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -@jsii.implements(INonInternalInterface) -class ClassThatImplementsTheInternalInterface( - metaclass=jsii.JSIIMeta, - jsii_type="jsii-calc.ClassThatImplementsTheInternalInterface", -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(ClassThatImplementsTheInternalInterface, self, []) - - @builtins.property - @jsii.member(jsii_name="a") - def a(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "a") - - @a.setter - def a(self, value: str) -> None: - jsii.set(self, "a", value) - - @builtins.property - @jsii.member(jsii_name="b") - def b(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "b") - - @b.setter - def b(self, value: str) -> None: - jsii.set(self, "b", value) - - @builtins.property - @jsii.member(jsii_name="c") - def c(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "c") - - @c.setter - def c(self, value: str) -> None: - jsii.set(self, "c", value) - - @builtins.property - @jsii.member(jsii_name="d") - def d(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "d") - - @d.setter - def d(self, value: str) -> None: - jsii.set(self, "d", value) - - -@jsii.implements(INonInternalInterface) -class ClassThatImplementsThePrivateInterface( - metaclass=jsii.JSIIMeta, - jsii_type="jsii-calc.ClassThatImplementsThePrivateInterface", -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(ClassThatImplementsThePrivateInterface, self, []) - - @builtins.property - @jsii.member(jsii_name="a") - def a(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "a") - - @a.setter - def a(self, value: str) -> None: - jsii.set(self, "a", value) - - @builtins.property - @jsii.member(jsii_name="b") - def b(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "b") - - @b.setter - def b(self, value: str) -> None: - jsii.set(self, "b", value) - - @builtins.property - @jsii.member(jsii_name="c") - def c(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "c") - - @c.setter - def c(self, value: str) -> None: - jsii.set(self, "c", value) - - @builtins.property - @jsii.member(jsii_name="e") - def e(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "e") - - @e.setter - def e(self, value: str) -> None: - jsii.set(self, "e", value) - - -@jsii.implements(IInterfaceWithProperties) -class ClassWithPrivateConstructorAndAutomaticProperties( - metaclass=jsii.JSIIMeta, - jsii_type="jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties", -): - """Class that implements interface properties automatically, but using a private constructor. - - stability - :stability: experimental - """ - - @jsii.member(jsii_name="create") - @builtins.classmethod - def create( - cls, read_only_string: str, read_write_string: str - ) -> "ClassWithPrivateConstructorAndAutomaticProperties": - """ - :param read_only_string: - - :param read_write_string: - - - stability - :stability: experimental - """ - return jsii.sinvoke(cls, "create", [read_only_string, read_write_string]) - - @builtins.property - @jsii.member(jsii_name="readOnlyString") - def read_only_string(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "readOnlyString") - - @builtins.property - @jsii.member(jsii_name="readWriteString") - def read_write_string(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "readWriteString") - - @read_write_string.setter - def read_write_string(self, value: str) -> None: - jsii.set(self, "readWriteString", value) - - -@jsii.interface(jsii_type="jsii-calc.IFriendlyRandomGenerator") -class IFriendlyRandomGenerator( - IRandomNumberGenerator, scope.jsii_calc_lib.IFriendly, jsii.compat.Protocol -): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IFriendlyRandomGeneratorProxy - - pass - - -class _IFriendlyRandomGeneratorProxy( - jsii.proxy_for(IRandomNumberGenerator), - jsii.proxy_for(scope.jsii_calc_lib.IFriendly), -): - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IFriendlyRandomGenerator" - pass - - -@jsii.interface(jsii_type="jsii-calc.IInterfaceThatShouldNotBeADataType") -class IInterfaceThatShouldNotBeADataType(IInterfaceWithMethods, jsii.compat.Protocol): - """Even though this interface has only properties, it is disqualified from being a datatype because it inherits from an interface that is not a datatype. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IInterfaceThatShouldNotBeADataTypeProxy - - @builtins.property - @jsii.member(jsii_name="otherValue") - def other_value(self) -> str: - """ - stability - :stability: experimental - """ - ... - - -class _IInterfaceThatShouldNotBeADataTypeProxy(jsii.proxy_for(IInterfaceWithMethods)): - """Even though this interface has only properties, it is disqualified from being a datatype because it inherits from an interface that is not a datatype. - - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IInterfaceThatShouldNotBeADataType" - - @builtins.property - @jsii.member(jsii_name="otherValue") - def other_value(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "otherValue") - - -@jsii.interface(jsii_type="jsii-calc.IJSII417Derived") -class IJSII417Derived(IJSII417PublicBaseOfBase, jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IJSII417DerivedProxy - - @builtins.property - @jsii.member(jsii_name="property") - def property(self) -> str: - """ - stability - :stability: experimental - """ - ... - - @jsii.member(jsii_name="bar") - def bar(self) -> None: - """ - stability - :stability: experimental - """ - ... - - @jsii.member(jsii_name="baz") - def baz(self) -> None: - """ - stability - :stability: experimental - """ - ... - - -class _IJSII417DerivedProxy(jsii.proxy_for(IJSII417PublicBaseOfBase)): - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.IJSII417Derived" - - @builtins.property - @jsii.member(jsii_name="property") - def property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "property") - - @jsii.member(jsii_name="bar") - def bar(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "bar", []) - - @jsii.member(jsii_name="baz") - def baz(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "baz", []) - - -@jsii.implements(IPublicInterface2) -class InbetweenClass( - PublicClass, metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.InbetweenClass" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(InbetweenClass, self, []) - - @jsii.member(jsii_name="ciao") - def ciao(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "ciao", []) - - -class JSII417Derived( - JSII417PublicBaseOfBase, - metaclass=jsii.JSIIMeta, - jsii_type="jsii-calc.JSII417Derived", -): - """ - stability - :stability: experimental - """ - - def __init__(self, property: str) -> None: - """ - :param property: - - - stability - :stability: experimental - """ - jsii.create(JSII417Derived, self, [property]) - - @jsii.member(jsii_name="bar") - def bar(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "bar", []) - - @jsii.member(jsii_name="baz") - def baz(self) -> None: - """ - stability - :stability: experimental - """ - return jsii.invoke(self, "baz", []) - - @builtins.property - @jsii.member(jsii_name="property") - def _property(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "property") - - -@jsii.implements(IFriendlier) -class Negate(UnaryOperation, metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.Negate"): - """The negation operation ("-value"). - - stability - :stability: experimental - """ - - def __init__(self, operand: scope.jsii_calc_lib.Value) -> None: - """ - :param operand: - - - stability - :stability: experimental - """ - jsii.create(Negate, self, [operand]) - - @jsii.member(jsii_name="farewell") - def farewell(self) -> str: - """Say farewell. - - stability - :stability: experimental - """ - return jsii.invoke(self, "farewell", []) - - @jsii.member(jsii_name="goodbye") - def goodbye(self) -> str: - """Say goodbye. - - stability - :stability: experimental - """ - return jsii.invoke(self, "goodbye", []) - - @jsii.member(jsii_name="hello") - def hello(self) -> str: - """Say hello! - - stability - :stability: experimental - """ - return jsii.invoke(self, "hello", []) - - @jsii.member(jsii_name="toString") - def to_string(self) -> str: - """String representation of the value. - - stability - :stability: experimental - """ - return jsii.invoke(self, "toString", []) - - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> jsii.Number: - """The value. - - stability - :stability: experimental - """ - return jsii.get(self, "value") - - -class SupportsNiceJavaBuilder( - SupportsNiceJavaBuilderWithRequiredProps, - metaclass=jsii.JSIIMeta, - jsii_type="jsii-calc.SupportsNiceJavaBuilder", -): - """ - stability - :stability: experimental - """ - - def __init__( - self, - id: jsii.Number, - default_bar: typing.Optional[jsii.Number] = None, - props: typing.Optional["SupportsNiceJavaBuilderProps"] = None, - *rest: str, - ) -> None: - """ - :param id: some identifier. - :param default_bar: the default value of ``bar``. - :param props: some props once can provide. - :param rest: a variadic continuation. - - stability - :stability: experimental - """ - jsii.create(SupportsNiceJavaBuilder, self, [id, default_bar, props, *rest]) - - @builtins.property - @jsii.member(jsii_name="id") - def id(self) -> jsii.Number: - """some identifier. - - stability - :stability: experimental - """ - return jsii.get(self, "id") - - @builtins.property - @jsii.member(jsii_name="rest") - def rest(self) -> typing.List[str]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "rest") - - -@jsii.implements(IFriendlyRandomGenerator) -class DoubleTrouble(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.DoubleTrouble"): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(DoubleTrouble, self, []) - - @jsii.member(jsii_name="hello") - def hello(self) -> str: - """Say hello! - - stability - :stability: experimental - """ - return jsii.invoke(self, "hello", []) - - @jsii.member(jsii_name="next") - def next(self) -> jsii.Number: - """Returns another random number. - - stability - :stability: experimental - """ - return jsii.invoke(self, "next", []) - - -__all__ = [ - "AbstractClass", - "AbstractClassBase", - "AbstractClassReturner", - "AbstractSuite", - "Add", - "AllTypes", - "AllTypesEnum", - "AllowedMethodNames", - "AmbiguousParameters", - "AnonymousImplementationProvider", - "AsyncVirtualMethods", - "AugmentableClass", - "BaseJsii976", - "Bell", - "BinaryOperation", - "Calculator", - "CalculatorProps", - "ChildStruct982", - "ClassThatImplementsTheInternalInterface", - "ClassThatImplementsThePrivateInterface", - "ClassWithCollections", - "ClassWithDocs", - "ClassWithJavaReservedWords", - "ClassWithMutableObjectLiteralProperty", - "ClassWithPrivateConstructorAndAutomaticProperties", - "ConfusingToJackson", - "ConfusingToJacksonStruct", - "ConstructorPassesThisOut", - "Constructors", - "ConsumePureInterface", - "ConsumerCanRingBell", - "ConsumersOfThisCrazyTypeSystem", - "DataRenderer", - "DefaultedConstructorArgument", - "Demonstrate982", - "DeprecatedClass", - "DeprecatedEnum", - "DeprecatedStruct", - "DerivedStruct", - "DiamondInheritanceBaseLevelStruct", - "DiamondInheritanceFirstMidLevelStruct", - "DiamondInheritanceSecondMidLevelStruct", - "DiamondInheritanceTopLevelStruct", - "DisappointingCollectionSource", - "DoNotOverridePrivates", - "DoNotRecognizeAnyAsOptional", - "DocumentedClass", - "DontComplainAboutVariadicAfterOptional", - "DoubleTrouble", - "EnumDispenser", - "EraseUndefinedHashValues", - "EraseUndefinedHashValuesOptions", - "ExperimentalClass", - "ExperimentalEnum", - "ExperimentalStruct", - "ExportedBaseClass", - "ExtendsInternalInterface", - "ExternalClass", - "ExternalEnum", - "ExternalStruct", - "GiveMeStructs", - "Greetee", - "GreetingAugmenter", - "IAnonymousImplementationProvider", - "IAnonymouslyImplementMe", - "IAnotherPublicInterface", - "IBell", - "IBellRinger", - "IConcreteBellRinger", - "IDeprecatedInterface", - "IExperimentalInterface", - "IExtendsPrivateInterface", - "IExternalInterface", - "IFriendlier", - "IFriendlyRandomGenerator", - "IInterfaceImplementedByAbstractClass", - "IInterfaceThatShouldNotBeADataType", - "IInterfaceWithInternal", - "IInterfaceWithMethods", - "IInterfaceWithOptionalMethodArguments", - "IInterfaceWithProperties", - "IInterfaceWithPropertiesExtension", - "IJSII417Derived", - "IJSII417PublicBaseOfBase", - "IJsii487External", - "IJsii487External2", - "IJsii496", - "IMutableObjectLiteral", - "INonInternalInterface", - "IObjectWithProperty", - "IOptionalMethod", - "IPrivatelyImplemented", - "IPublicInterface", - "IPublicInterface2", - "IRandomNumberGenerator", - "IReturnJsii976", - "IReturnsNumber", - "IStableInterface", - "IStructReturningDelegate", - "ImplementInternalInterface", - "Implementation", - "ImplementsInterfaceWithInternal", - "ImplementsInterfaceWithInternalSubclass", - "ImplementsPrivateInterface", - "ImplictBaseOfBase", - "InbetweenClass", - "InterfaceCollections", - "InterfacesMaker", - "Isomorphism", - "JSII417Derived", - "JSII417PublicBaseOfBase", - "JSObjectLiteralForInterface", - "JSObjectLiteralToNative", - "JSObjectLiteralToNativeClass", - "JavaReservedWords", - "Jsii487Derived", - "Jsii496Derived", - "JsiiAgent", - "JsonFormatter", - "LoadBalancedFargateServiceProps", - "MethodNamedProperty", - "Multiply", - "Negate", - "NestedStruct", - "NodeStandardLibrary", - "NullShouldBeTreatedAsUndefined", - "NullShouldBeTreatedAsUndefinedData", - "NumberGenerator", - "ObjectRefsInCollections", - "ObjectWithPropertyProvider", - "Old", - "OptionalArgumentInvoker", - "OptionalConstructorArgument", - "OptionalStruct", - "OptionalStructConsumer", - "OverridableProtectedMember", - "OverrideReturnsObject", - "ParentStruct982", - "PartiallyInitializedThisConsumer", - "Polymorphism", - "Power", - "PropertyNamedProperty", - "PublicClass", - "PythonReservedWords", - "ReferenceEnumFromScopedPackage", - "ReturnsPrivateImplementationOfInterface", - "RootStruct", - "RootStructValidator", - "RuntimeTypeChecking", - "SecondLevelStruct", - "SingleInstanceTwoTypes", - "SingletonInt", - "SingletonIntEnum", - "SingletonString", - "SingletonStringEnum", - "SmellyStruct", - "SomeTypeJsii976", - "StableClass", - "StableEnum", - "StableStruct", - "StaticContext", - "Statics", - "StringEnum", - "StripInternal", - "StructA", - "StructB", - "StructParameterType", - "StructPassing", - "StructUnionConsumer", - "StructWithJavaReservedWords", - "Sum", - "SupportsNiceJavaBuilder", - "SupportsNiceJavaBuilderProps", - "SupportsNiceJavaBuilderWithRequiredProps", - "SyncVirtualMethods", - "Thrower", - "TopLevelStruct", - "UmaskCheck", - "UnaryOperation", - "UnionProperties", - "UpcasingReflectable", - "UseBundledDependency", - "UseCalcBase", - "UsesInterfaceWithProperties", - "VariadicInvoker", - "VariadicMethod", - "VirtualMethodPlayground", - "VoidCallback", - "WithPrivatePropertyInConstructor", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/_jsii/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/_jsii/__init__.py deleted file mode 100644 index 5a3c3bd284..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/_jsii/__init__.py +++ /dev/null @@ -1,23 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -import scope.jsii_calc_base._jsii -import scope.jsii_calc_base_of_base._jsii -import scope.jsii_calc_lib._jsii - -__jsii_assembly__ = jsii.JSIIAssembly.load( - "jsii-calc", "0.0.0", __name__[0:-6], "jsii-calc@0.0.0.jsii.tgz" -) - -__all__ = [ - "__jsii_assembly__", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/_jsii/jsii-calc@0.0.0.jsii.tgz b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/_jsii/jsii-calc@0.0.0.jsii.tgz deleted file mode 100644 index eef7587bf2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/_jsii/jsii-calc@0.0.0.jsii.tgz +++ /dev/null @@ -1,2 +0,0 @@ -Placeholder for the expected module tarball -The diff-test.sh harness will replace it with the real expected tarball diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/composition/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/composition/__init__.py deleted file mode 100644 index 17356f0f91..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/composition/__init__.py +++ /dev/null @@ -1,152 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from .._jsii import * - -import scope.jsii_calc_lib - - -class CompositeOperation( - scope.jsii_calc_lib.Operation, - metaclass=jsii.JSIIAbstractClass, - jsii_type="jsii-calc.composition.CompositeOperation", -): - """Abstract operation composed from an expression of other operations. - - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _CompositeOperationProxy - - def __init__(self) -> None: - jsii.create(CompositeOperation, self, []) - - @jsii.member(jsii_name="toString") - def to_string(self) -> str: - """String representation of the value. - - stability - :stability: experimental - """ - return jsii.invoke(self, "toString", []) - - @builtins.property - @jsii.member(jsii_name="expression") - @abc.abstractmethod - def expression(self) -> scope.jsii_calc_lib.Value: - """The expression that this operation consists of. - - Must be implemented by derived classes. - - stability - :stability: experimental - """ - ... - - @builtins.property - @jsii.member(jsii_name="value") - def value(self) -> jsii.Number: - """The value. - - stability - :stability: experimental - """ - return jsii.get(self, "value") - - @builtins.property - @jsii.member(jsii_name="decorationPostfixes") - def decoration_postfixes(self) -> typing.List[str]: - """A set of postfixes to include in a decorated .toString(). - - stability - :stability: experimental - """ - return jsii.get(self, "decorationPostfixes") - - @decoration_postfixes.setter - def decoration_postfixes(self, value: typing.List[str]) -> None: - jsii.set(self, "decorationPostfixes", value) - - @builtins.property - @jsii.member(jsii_name="decorationPrefixes") - def decoration_prefixes(self) -> typing.List[str]: - """A set of prefixes to include in a decorated .toString(). - - stability - :stability: experimental - """ - return jsii.get(self, "decorationPrefixes") - - @decoration_prefixes.setter - def decoration_prefixes(self, value: typing.List[str]) -> None: - jsii.set(self, "decorationPrefixes", value) - - @builtins.property - @jsii.member(jsii_name="stringStyle") - def string_style(self) -> "CompositionStringStyle": - """The .toString() style. - - stability - :stability: experimental - """ - return jsii.get(self, "stringStyle") - - @string_style.setter - def string_style(self, value: "CompositionStringStyle") -> None: - jsii.set(self, "stringStyle", value) - - @jsii.enum( - jsii_type="jsii-calc.composition.CompositeOperation.CompositionStringStyle" - ) - class CompositionStringStyle(enum.Enum): - """Style of .toString() output for CompositeOperation. - - stability - :stability: experimental - """ - - NORMAL = "NORMAL" - """Normal string expression. - - stability - :stability: experimental - """ - DECORATED = "DECORATED" - """Decorated string expression. - - stability - :stability: experimental - """ - - -class _CompositeOperationProxy( - CompositeOperation, jsii.proxy_for(scope.jsii_calc_lib.Operation) -): - @builtins.property - @jsii.member(jsii_name="expression") - def expression(self) -> scope.jsii_calc_lib.Value: - """The expression that this operation consists of. - - Must be implemented by derived classes. - - stability - :stability: experimental - """ - return jsii.get(self, "expression") - - -__all__ = [ - "CompositeOperation", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/derived_class_has_no_properties/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/derived_class_has_no_properties/__init__.py deleted file mode 100644 index e381c602d6..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/derived_class_has_no_properties/__init__.py +++ /dev/null @@ -1,66 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from .._jsii import * - - -class Base( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.DerivedClassHasNoProperties.Base" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(Base, self, []) - - @builtins.property - @jsii.member(jsii_name="prop") - def prop(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "prop") - - @prop.setter - def prop(self, value: str) -> None: - jsii.set(self, "prop", value) - - -class Derived( - Base, - metaclass=jsii.JSIIMeta, - jsii_type="jsii-calc.DerivedClassHasNoProperties.Derived", -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(Derived, self, []) - - -__all__ = [ - "Base", - "Derived", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/interface_in_namespace_includes_classes/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/interface_in_namespace_includes_classes/__init__.py deleted file mode 100644 index 5ffe5884aa..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/interface_in_namespace_includes_classes/__init__.py +++ /dev/null @@ -1,86 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from .._jsii import * - - -class Foo( - metaclass=jsii.JSIIMeta, - jsii_type="jsii-calc.InterfaceInNamespaceIncludesClasses.Foo", -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(Foo, self, []) - - @builtins.property - @jsii.member(jsii_name="bar") - def bar(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "bar") - - @bar.setter - def bar(self, value: typing.Optional[str]) -> None: - jsii.set(self, "bar", value) - - -@jsii.data_type( - jsii_type="jsii-calc.InterfaceInNamespaceIncludesClasses.Hello", - jsii_struct_bases=[], - name_mapping={"foo": "foo"}, -) -class Hello: - def __init__(self, *, foo: jsii.Number) -> None: - """ - :param foo: - - stability - :stability: experimental - """ - self._values = { - "foo": foo, - } - - @builtins.property - def foo(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return self._values.get("foo") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "Hello(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -__all__ = [ - "Foo", - "Hello", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/interface_in_namespace_only_interface/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/interface_in_namespace_only_interface/__init__.py deleted file mode 100644 index cda30a2163..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/interface_in_namespace_only_interface/__init__.py +++ /dev/null @@ -1,55 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from .._jsii import * - - -@jsii.data_type( - jsii_type="jsii-calc.InterfaceInNamespaceOnlyInterface.Hello", - jsii_struct_bases=[], - name_mapping={"foo": "foo"}, -) -class Hello: - def __init__(self, *, foo: jsii.Number) -> None: - """ - :param foo: - - stability - :stability: experimental - """ - self._values = { - "foo": foo, - } - - @builtins.property - def foo(self) -> jsii.Number: - """ - stability - :stability: experimental - """ - return self._values.get("foo") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "Hello(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -__all__ = [ - "Hello", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/py.typed b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/py.typed deleted file mode 100644 index 8b13789179..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/py.typed +++ /dev/null @@ -1 +0,0 @@ - diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/python_self/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/python_self/__init__.py deleted file mode 100644 index 5d63911e34..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/python_self/__init__.py +++ /dev/null @@ -1,165 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from .._jsii import * - - -class ClassWithSelf( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.PythonSelf.ClassWithSelf" -): - """ - stability - :stability: experimental - """ - - def __init__(self_, self: str) -> None: - """ - :param self: - - - stability - :stability: experimental - """ - jsii.create(ClassWithSelf, self_, [self]) - - @jsii.member(jsii_name="method") - def method(self_, self: jsii.Number) -> str: - """ - :param self: - - - stability - :stability: experimental - """ - return jsii.invoke(self_, "method", [self]) - - @builtins.property - @jsii.member(jsii_name="self") - def self(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "self") - - -class ClassWithSelfKwarg( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.PythonSelf.ClassWithSelfKwarg" -): - """ - stability - :stability: experimental - """ - - def __init__(self_, *, self: str) -> None: - """ - :param self: - - stability - :stability: experimental - """ - props = StructWithSelf(self=self) - - jsii.create(ClassWithSelfKwarg, self_, [props]) - - @builtins.property - @jsii.member(jsii_name="props") - def props(self) -> "StructWithSelf": - """ - stability - :stability: experimental - """ - return jsii.get(self, "props") - - -@jsii.interface(jsii_type="jsii-calc.PythonSelf.IInterfaceWithSelf") -class IInterfaceWithSelf(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _IInterfaceWithSelfProxy - - @jsii.member(jsii_name="method") - def method(self_, self: jsii.Number) -> str: - """ - :param self: - - - stability - :stability: experimental - """ - ... - - -class _IInterfaceWithSelfProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.PythonSelf.IInterfaceWithSelf" - - @jsii.member(jsii_name="method") - def method(self_, self: jsii.Number) -> str: - """ - :param self: - - - stability - :stability: experimental - """ - return jsii.invoke(self_, "method", [self]) - - -@jsii.data_type( - jsii_type="jsii-calc.PythonSelf.StructWithSelf", - jsii_struct_bases=[], - name_mapping={"self": "self"}, -) -class StructWithSelf: - def __init__(self_, *, self: str) -> None: - """ - :param self: - - stability - :stability: experimental - """ - self_._values = { - "self": self, - } - - @builtins.property - def self(self) -> str: - """ - stability - :stability: experimental - """ - return self._values.get("self") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "StructWithSelf(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -__all__ = [ - "ClassWithSelf", - "ClassWithSelfKwarg", - "IInterfaceWithSelf", - "StructWithSelf", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/__init__.py deleted file mode 100644 index dbfd234f69..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/__init__.py +++ /dev/null @@ -1,95 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from .._jsii import * - -from .. import AllTypes as _AllTypes_b08307c5 -from .child import ( - SomeStruct as _SomeStruct_91627123, - SomeEnum as _SomeEnum_b2e41d92, - Awesomeness as _Awesomeness_d37a24df, - Goodness as _Goodness_2df26737, -) -from .nested_submodule.deeply_nested import INamespaced as _INamespaced_e2f386ad - - -@jsii.implements(_INamespaced_e2f386ad) -class MyClass(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.submodule.MyClass"): - """ - stability - :stability: experimental - """ - - def __init__(self, *, prop: _SomeEnum_b2e41d92) -> None: - """ - :param prop: - - stability - :stability: experimental - """ - props = _SomeStruct_91627123(prop=prop) - - jsii.create(MyClass, self, [props]) - - @builtins.property - @jsii.member(jsii_name="awesomeness") - def awesomeness(self) -> _Awesomeness_d37a24df: - """ - stability - :stability: experimental - """ - return jsii.get(self, "awesomeness") - - @builtins.property - @jsii.member(jsii_name="definedAt") - def defined_at(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "definedAt") - - @builtins.property - @jsii.member(jsii_name="goodness") - def goodness(self) -> _Goodness_2df26737: - """ - stability - :stability: experimental - """ - return jsii.get(self, "goodness") - - @builtins.property - @jsii.member(jsii_name="props") - def props(self) -> _SomeStruct_91627123: - """ - stability - :stability: experimental - """ - return jsii.get(self, "props") - - @builtins.property - @jsii.member(jsii_name="allTypes") - def all_types(self) -> typing.Optional[_AllTypes_b08307c5]: - """ - stability - :stability: experimental - """ - return jsii.get(self, "allTypes") - - @all_types.setter - def all_types(self, value: typing.Optional[_AllTypes_b08307c5]) -> None: - jsii.set(self, "allTypes", value) - - -__all__ = [ - "MyClass", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/back_references/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/back_references/__init__.py deleted file mode 100644 index 4e441e3685..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/back_references/__init__.py +++ /dev/null @@ -1,57 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from ..._jsii import * - -from .. import MyClass as _MyClass_a2fdc0b6 - - -@jsii.data_type( - jsii_type="jsii-calc.submodule.back_references.MyClassReference", - jsii_struct_bases=[], - name_mapping={"reference": "reference"}, -) -class MyClassReference: - def __init__(self, *, reference: _MyClass_a2fdc0b6) -> None: - """ - :param reference: - - stability - :stability: experimental - """ - self._values = { - "reference": reference, - } - - @builtins.property - def reference(self) -> _MyClass_a2fdc0b6: - """ - stability - :stability: experimental - """ - return self._values.get("reference") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "MyClassReference(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -__all__ = [ - "MyClassReference", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/child/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/child/__init__.py deleted file mode 100644 index b602f3e215..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/child/__init__.py +++ /dev/null @@ -1,256 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from ..._jsii import * - - -@jsii.enum(jsii_type="jsii-calc.submodule.child.Awesomeness") -class Awesomeness(enum.Enum): - """ - stability - :stability: experimental - """ - - AWESOME = "AWESOME" - """It was awesome! - - stability - :stability: experimental - """ - - -@jsii.enum(jsii_type="jsii-calc.submodule.child.Goodness") -class Goodness(enum.Enum): - """ - stability - :stability: experimental - """ - - PRETTY_GOOD = "PRETTY_GOOD" - """It's pretty good. - - stability - :stability: experimental - """ - REALLY_GOOD = "REALLY_GOOD" - """It's really good. - - stability - :stability: experimental - """ - AMAZINGLY_GOOD = "AMAZINGLY_GOOD" - """It's amazingly good. - - stability - :stability: experimental - """ - - -class InnerClass( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.submodule.child.InnerClass" -): - """ - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(InnerClass, self, []) - - @jsii.python.classproperty - @jsii.member(jsii_name="staticProp") - def STATIC_PROP(cls) -> "SomeStruct": - """ - stability - :stability: experimental - """ - return jsii.sget(cls, "staticProp") - - -class OuterClass( - metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.submodule.child.OuterClass" -): - """Checks that classes can self-reference during initialization. - - see - :see: : https://github.com/aws/jsii/pull/1706 - stability - :stability: experimental - """ - - def __init__(self) -> None: - """ - stability - :stability: experimental - """ - jsii.create(OuterClass, self, []) - - @builtins.property - @jsii.member(jsii_name="innerClass") - def inner_class(self) -> "InnerClass": - """ - stability - :stability: experimental - """ - return jsii.get(self, "innerClass") - - -@jsii.enum(jsii_type="jsii-calc.submodule.child.SomeEnum") -class SomeEnum(enum.Enum): - """ - stability - :stability: experimental - """ - - SOME = "SOME" - """ - stability - :stability: experimental - """ - - -@jsii.data_type( - jsii_type="jsii-calc.submodule.child.SomeStruct", - jsii_struct_bases=[], - name_mapping={"prop": "prop"}, -) -class SomeStruct: - def __init__(self, *, prop: "SomeEnum") -> None: - """ - :param prop: - - stability - :stability: experimental - """ - self._values = { - "prop": prop, - } - - @builtins.property - def prop(self) -> "SomeEnum": - """ - stability - :stability: experimental - """ - return self._values.get("prop") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "SomeStruct(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -@jsii.data_type( - jsii_type="jsii-calc.submodule.child.Structure", - jsii_struct_bases=[], - name_mapping={"bool": "bool"}, -) -class Structure: - def __init__(self, *, bool: bool) -> None: - """ - :param bool: - - stability - :stability: experimental - """ - self._values = { - "bool": bool, - } - - @builtins.property - def bool(self) -> bool: - """ - stability - :stability: experimental - """ - return self._values.get("bool") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "Structure(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -@jsii.data_type( - jsii_type="jsii-calc.submodule.child.KwargsProps", - jsii_struct_bases=[SomeStruct], - name_mapping={"prop": "prop", "extra": "extra"}, -) -class KwargsProps(SomeStruct): - def __init__(self, *, prop: "SomeEnum", extra: typing.Optional[str] = None) -> None: - """ - :param prop: - :param extra: - - stability - :stability: experimental - """ - self._values = { - "prop": prop, - } - if extra is not None: - self._values["extra"] = extra - - @builtins.property - def prop(self) -> "SomeEnum": - """ - stability - :stability: experimental - """ - return self._values.get("prop") - - @builtins.property - def extra(self) -> typing.Optional[str]: - """ - stability - :stability: experimental - """ - return self._values.get("extra") - - def __eq__(self, rhs) -> bool: - return isinstance(rhs, self.__class__) and rhs._values == self._values - - def __ne__(self, rhs) -> bool: - return not (rhs == self) - - def __repr__(self) -> str: - return "KwargsProps(%s)" % ", ".join( - k + "=" + repr(v) for k, v in self._values.items() - ) - - -__all__ = [ - "Awesomeness", - "Goodness", - "InnerClass", - "KwargsProps", - "OuterClass", - "SomeEnum", - "SomeStruct", - "Structure", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/isolated/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/isolated/__init__.py deleted file mode 100644 index d579d8233d..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/isolated/__init__.py +++ /dev/null @@ -1,44 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from ..._jsii import * - -from ..child import KwargsProps as _KwargsProps_c7855dcf, SomeEnum as _SomeEnum_b2e41d92 - - -class Kwargs(metaclass=jsii.JSIIMeta, jsii_type="jsii-calc.submodule.isolated.Kwargs"): - """Ensures imports are correctly registered for kwargs lifted properties from super-structs. - - stability - :stability: experimental - """ - - @jsii.member(jsii_name="method") - @builtins.classmethod - def method( - cls, *, extra: typing.Optional[str] = None, prop: _SomeEnum_b2e41d92 - ) -> bool: - """ - :param extra: - :param prop: - - stability - :stability: experimental - """ - props = _KwargsProps_c7855dcf(extra=extra, prop=prop) - - return jsii.sinvoke(cls, "method", [props]) - - -__all__ = [ - "Kwargs", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/nested_submodule/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/nested_submodule/__init__.py deleted file mode 100644 index efd2ae9d4a..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/nested_submodule/__init__.py +++ /dev/null @@ -1,66 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from ..._jsii import * - -from ..child import Goodness as _Goodness_2df26737 -from .deeply_nested import INamespaced as _INamespaced_e2f386ad - - -@jsii.implements(_INamespaced_e2f386ad) -class Namespaced( - metaclass=jsii.JSIIAbstractClass, - jsii_type="jsii-calc.submodule.nested_submodule.Namespaced", -): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _NamespacedProxy - - @builtins.property - @jsii.member(jsii_name="definedAt") - def defined_at(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "definedAt") - - @builtins.property - @jsii.member(jsii_name="goodness") - @abc.abstractmethod - def goodness(self) -> _Goodness_2df26737: - """ - stability - :stability: experimental - """ - ... - - -class _NamespacedProxy(Namespaced): - @builtins.property - @jsii.member(jsii_name="goodness") - def goodness(self) -> _Goodness_2df26737: - """ - stability - :stability: experimental - """ - return jsii.get(self, "goodness") - - -__all__ = [ - "Namespaced", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/nested_submodule/deeply_nested/__init__.py b/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/nested_submodule/deeply_nested/__init__.py deleted file mode 100644 index ee0b9ce2f2..0000000000 --- a/packages/jsii-pacmak/test/expected.jsii-calc/python/src/jsii_calc/submodule/nested_submodule/deeply_nested/__init__.py +++ /dev/null @@ -1,59 +0,0 @@ -import abc -import builtins -import datetime -import enum -import typing - -import jsii -import jsii.compat -import publication - -from ...._jsii import * - - -@jsii.interface( - jsii_type="jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced" -) -class INamespaced(jsii.compat.Protocol): - """ - stability - :stability: experimental - """ - - @builtins.staticmethod - def __jsii_proxy_class__(): - return _INamespacedProxy - - @builtins.property - @jsii.member(jsii_name="definedAt") - def defined_at(self) -> str: - """ - stability - :stability: experimental - """ - ... - - -class _INamespacedProxy: - """ - stability - :stability: experimental - """ - - __jsii_type__ = "jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced" - - @builtins.property - @jsii.member(jsii_name="definedAt") - def defined_at(self) -> str: - """ - stability - :stability: experimental - """ - return jsii.get(self, "definedAt") - - -__all__ = [ - "INamespaced", -] - -publication.publish() diff --git a/packages/jsii-pacmak/test/jsii-pacmak.test.ts b/packages/jsii-pacmak/test/jsii-pacmak.test.ts new file mode 100644 index 0000000000..97ebd521cd --- /dev/null +++ b/packages/jsii-pacmak/test/jsii-pacmak.test.ts @@ -0,0 +1,169 @@ +#!/usr/bin/env node + +import { spawnSync } from 'child_process'; +import * as fs from 'fs-extra'; +import * as os from 'os'; +import * as path from 'path'; +import * as process from 'process'; + +const PACMAK_CLI = path.resolve(__dirname, '..', 'bin', 'jsii-pacmak'); + +const FILE = Symbol('file'); +const MISSING = Symbol('missing'); +const TARBALL = Symbol('tarball'); +const TREE = Symbol('tree'); + +// Custom serializers so we can see the source without escape sequences +expect.addSnapshotSerializer({ + test: (val) => val?.[TARBALL] != null, + serialize: (val) => `${val[TARBALL]} is a tarball`, +}); +expect.addSnapshotSerializer({ + test: (val) => val?.[TREE] != null, + serialize: (val) => { + return `\n${formatTree(val[TREE])}`; + }, +}); +expect.addSnapshotSerializer({ + test: (val) => val?.[MISSING] != null, + serialize: (val) => `${val[MISSING]} does not exist`, +}); +expect.addSnapshotSerializer({ + test: (val) => val?.[TARBALL] != null, + serialize: (val) => `${val[TARBALL]} is a tarball`, +}); + +let outDir: string; +beforeEach((done) => { + outDir = fs.mkdtempSync(path.join(os.tmpdir(), path.basename(__filename))); + + done(); +}); +afterEach((done) => { + fs.removeSync(outDir); + outDir = undefined as any; + + done(); +}); + +for (const pkg of [ + '@scope/jsii-calc-base-of-base', + '@scope/jsii-calc-base', + '@scope/jsii-calc-lib', + 'jsii-calc', +]) { + // Extend timeout, because this could be slow... + jest.setTimeout(60_000); + + test(`Generated code for ${JSON.stringify(pkg)}`, () => { + const pkgRoot = path.resolve(__dirname, '..', '..', pkg); + runPacmak(pkgRoot, outDir); + + expect({ [TREE]: checkTree(outDir) }).toMatchSnapshot('/'); + }); +} + +function checkTree( + file: string, + root: string = file, +): TreeStructure | undefined { + const stat = tryStat(file); + + // Normalizing paths so snapshots are identical in Windows, too... + const relativeFile = path.relative(root, file).replace(/\\/g, '/'); + const snapshotName = `/${relativeFile}`; + + if (stat == null) { + expect({ [MISSING]: relativeFile }).toMatchSnapshot(snapshotName); + return undefined; + } + + if (stat.isFile()) { + if (file.endsWith('.tgz')) { + // Special-cased to avoid binary differences being annoying + expect({ [TARBALL]: relativeFile }).toMatchSnapshot(snapshotName); + } else { + expect({ + [FILE]: fs.readFileSync(file, { encoding: 'utf-8' }), + }).toMatchSnapshot(snapshotName); + } + return path.basename(file); + } + + return fs + .readdirSync(file) + .map((entry) => ({ + entry, + subtree: checkTree(path.join(file, entry), root), + })) + .reduce((tree, { entry, subtree }) => { + tree[entry] = subtree!; + return tree; + }, {} as { [name: string]: TreeStructure }); + + function tryStat(at: string) { + try { + return fs.statSync(at); + } catch (e) { + if (e.code !== os.constants.errno.ENOENT) { + throw e; + } + return undefined; + } + } +} + +function runPacmak(root: string, outdir: string): void { + const result = spawnSync( + process.execPath, + [ + ...process.execArgv, + PACMAK_CLI, + `--code-only`, + `--no-fingerprint`, + `--outdir=${outdir}`, + root, + ], + { + cwd: root, + stdio: ['inherit', 'pipe', 'pipe'], + }, + ); + + expect(result.error).toBeUndefined(); + + if (result.status !== 0) { + console.error(`#### PACMAK STDOUT:\n${result.stdout.toString('utf-8')}`); + console.error(`#### PACMAK STDERR:\n${result.stdout.toString('utf-8')}`); + } + + expect(result.signal).toBeNull(); + expect(result.status).toBe(0); +} + +type TreeStructure = string | { [name: string]: TreeStructure }; + +function formatTree(tree: TreeStructure): string { + if (typeof tree === 'string') { + return `┗━ 📄 ${tree}`; + } + + // Sort the entries by name to minimize differences. + const entries = Object.entries(tree).sort(([l], [r]) => l.localeCompare(r)); + + const lastIndex = entries.length - 1; + return entries + .map(([name, children], index) => { + const box = index < lastIndex ? ' ┣' : ' ┗'; + if (typeof children === 'string') { + return `${box}━ 📄 ${name}`; + } + + const subtree = formatTree(children) + .split('\n') + .map((line) => ` ${index < lastIndex ? '┃' : ' '} ${line}`) + .join('\n'); + return `${box}━ 📁 ${name}\n${subtree}`; + }) + .join('\n'); +} diff --git a/packages/jsii-pacmak/test/npm-modules.test.ts b/packages/jsii-pacmak/test/npm-modules.test.ts index 807e096ce9..e7bf234cce 100644 --- a/packages/jsii-pacmak/test/npm-modules.test.ts +++ b/packages/jsii-pacmak/test/npm-modules.test.ts @@ -1,65 +1,67 @@ import * as mockfs from 'mock-fs'; import { findJsiiModules } from '../lib/npm-modules'; -test('findJsiiModules is sorted topologically', async () => { - mockfs({ - '/packageA/package.json': JSON.stringify({ - name: 'packageA', - jsii: { - outdir: 'dist', - targets: { - python: {}, +describe(findJsiiModules, () => { + afterEach((done) => { + mockfs.restore(); + done(); + }); + + // Increase the timeout - those are crazy slow on CI/CI for some reason. + jest.setTimeout(30_000); + + test('is sorted topologically', async () => { + mockfs({ + '/packageA/package.json': JSON.stringify({ + name: 'packageA', + jsii: { + outdir: 'dist', + targets: { + python: {}, + }, }, - }, - dependencies: { - packageB: '*', - }, - }), - '/packageB/package.json': JSON.stringify({ - name: 'packageB', - jsii: { - outdir: 'dist', - targets: { - python: {}, + dependencies: { + packageB: '*', }, - }, - }), - }); + }), + '/packageB/package.json': JSON.stringify({ + name: 'packageB', + jsii: { + outdir: 'dist', + targets: { + python: {}, + }, + }, + }), + }); - try { const mods = await findJsiiModules(['/packageA', '/packageB'], false); expect(mods.map((m) => m.name)).toEqual(['packageB', 'packageA']); - } finally { - mockfs.restore(); - } -}); + }); -test('findJsiiModules without deps loads packages in given order', async () => { - mockfs({ - '/packageA/package.json': JSON.stringify({ - name: 'packageA', - jsii: { - outdir: 'dist', - targets: { - python: {}, + test('without deps loads packages in given order', async () => { + mockfs({ + '/packageA/package.json': JSON.stringify({ + name: 'packageA', + jsii: { + outdir: 'dist', + targets: { + python: {}, + }, }, - }, - }), - '/packageB/package.json': JSON.stringify({ - name: 'packageB', - jsii: { - outdir: 'dist', - targets: { - python: {}, + }), + '/packageB/package.json': JSON.stringify({ + name: 'packageB', + jsii: { + outdir: 'dist', + targets: { + python: {}, + }, }, - }, - }), - }); + }), + }); - try { const mods = await findJsiiModules(['/packageA', '/packageB'], false); expect(mods.map((m) => m.name)).toEqual(['packageA', 'packageB']); - } finally { - mockfs.restore(); - } + }); }); diff --git a/packages/jsii-pacmak/test/targets/python.test.ts b/packages/jsii-pacmak/test/targets/python.test.ts index c7316b9714..2009f4195f 100644 --- a/packages/jsii-pacmak/test/targets/python.test.ts +++ b/packages/jsii-pacmak/test/targets/python.test.ts @@ -13,12 +13,12 @@ describe('python', () => { let homedir: string; let python: Python; - beforeEach(async () => { + beforeEach((done) => { // eslint-disable-next-line no-import-assign Object.defineProperty(util, 'shell', { value: shellMock }); // eslint-disable-next-line no-import-assign Object.defineProperty(os, 'homedir', { value: homedirMock }); - homedir = await fs.mkdtemp(path.join(os.tmpdir(), 'jsii-pacmak-black-')); + homedir = fs.mkdtempSync(path.join(os.tmpdir(), 'jsii-pacmak-black-')); homedirMock.mockImplementation(() => homedir); python = new Python({ targetName: 'python', @@ -27,12 +27,16 @@ describe('python', () => { rosetta: new Rosetta(), arguments: {}, }); + + done(); }); - afterEach(async () => { + afterEach((done) => { shellMock.mockClear(); homedirMock.mockClear(); - await fs.remove(homedir); + fs.removeSync(homedir); + + done(); }); test('black is installed globally', async () => { @@ -45,7 +49,7 @@ describe('python', () => { badShellCommand = `Unexpected call to shell [${cmd} ${args.join( ' ', )}]`; - ko(badShellCommand); + ko(new Error(badShellCommand)); } }); }); @@ -59,21 +63,47 @@ describe('python', () => { shellMock.mockImplementation((cmd: string, args: string[], _) => { return new Promise((ok, ko) => { if (cmd === 'which' && args[0] === 'black') { - ko('black not found'); + ko(new Error('black not found')); } else if ( /pip.?$/.test(cmd) && args[0] === 'show' && args[1] === 'black' ) { - ko(); + ko(new Error()); + } else if ( + /pip.?$/.test(cmd) && + args[0] === 'install' && + args[1] === '--no-input' && + args[2] === 'black' + ) { + fs.mkdirpSync( + path.join( + homedir, + '.jsii-cache', + 'python-black', + 'venv', + process.platform === 'win32' ? 'Scripts' : 'bin', + `black${process.platform === 'win32' ? '.exe' : ''}`, + ), + ); + ok(); } else { ok(); } }); }); - const path = await (python as any).blackPath(); // call private method blackPath() - expect(path).toBe(`${homedir}/.jsii-cache/python-black/.env/bin/black`); + const blackPath = await (python as any).blackPath(); // call private method blackPath() + expect(blackPath).toBe( + path.join( + homedir, + '.jsii-cache', + 'python-black', + 'venv', + process.platform === 'win32' ? 'Scripts' : 'bin', + `black${process.platform === 'win32' ? '.exe' : ''}`, + ), + ); }); test('local cache is reused', async () => { @@ -81,19 +111,30 @@ describe('python', () => { shellMock.mockImplementation((cmd: string, args: string[], _) => { return new Promise((ok, ko) => { if (cmd === 'which' && args[0] === 'black') { - ko('black not found'); + ko(new Error('black not found')); } else if ( /pip.?$/.test(cmd) && args[0] === 'show' && args[1] === 'black' ) { - ko(); + ko(new Error()); } else if ( /pip.?$/.test(cmd) && args[0] === 'install' && - args[1] === 'black' + args[1] === '--no-input' && + args[2] === 'black' ) { installCount++; + fs.mkdirpSync( + path.join( + homedir, + '.jsii-cache', + 'python-black', + 'venv', + process.platform === 'win32' ? 'Scripts' : 'bin', + `black${process.platform === 'win32' ? '.bat' : ''}`, + ), + ); ok(); } else { ok(); diff --git a/packages/jsii-reflect/bin/jsii-tree b/packages/jsii-reflect/bin/jsii-tree index 2eebca3506..971e297137 100755 --- a/packages/jsii-reflect/bin/jsii-tree +++ b/packages/jsii-reflect/bin/jsii-tree @@ -1,2 +1,2 @@ #!/usr/bin/env node -require('./jsii-tree.js'); \ No newline at end of file +require('./jsii-tree.js'); diff --git a/packages/jsii-reflect/package.json b/packages/jsii-reflect/package.json index 3ccd8916b5..892b8f591a 100644 --- a/packages/jsii-reflect/package.json +++ b/packages/jsii-reflect/package.json @@ -54,7 +54,7 @@ "jsii-build-tools": "^0.0.0", "jsii-calc": "^0.0.0", "prettier": "^2.0.5", - "typescript": "~3.9.6" + "typescript": "~3.9.7" }, "jest": { "collectCoverage": true, diff --git a/packages/jsii-reflect/test/jsii-tree.test.ts b/packages/jsii-reflect/test/jsii-tree.test.ts index 83af061c6e..5e2112a0a3 100644 --- a/packages/jsii-reflect/test/jsii-tree.test.ts +++ b/packages/jsii-reflect/test/jsii-tree.test.ts @@ -23,6 +23,8 @@ test('jsii-tree --signatures', () => async function jsiiTree(...args: string[]) { const command = [ + process.execPath, + ...process.execArgv, path.join(__dirname, '..', 'bin', 'jsii-tree'), args.join(' '), '--no-colors', diff --git a/packages/jsii-rosetta/package.json b/packages/jsii-rosetta/package.json index 65087f525a..925c6a2573 100644 --- a/packages/jsii-rosetta/package.json +++ b/packages/jsii-rosetta/package.json @@ -30,16 +30,15 @@ "jsii-build-tools": "^0.0.0", "memory-streams": "^0.1.3", "mock-fs": "^4.12.0", - "prettier": "^2.0.5", - "typescript": "~3.9.6" + "prettier": "^2.0.5" }, "dependencies": { "@jsii/spec": "^0.0.0", "commonmark": "^0.29.1", "fs-extra": "^9.0.1", - "typescript": "~3.9.6", + "typescript": "~3.9.7", "xmldom": "^0.3.0", - "yargs": "^15.4.0" + "yargs": "^15.4.1" }, "jest": { "moduleFileExtensions": [ diff --git a/packages/jsii/package.json b/packages/jsii/package.json index ad529e6b66..f1e6f03047 100644 --- a/packages/jsii/package.json +++ b/packages/jsii/package.json @@ -44,8 +44,8 @@ "semver-intersect": "^1.4.0", "sort-json": "^2.0.0", "spdx-license-list": "^6.2.0", - "typescript": "~3.9.6", - "yargs": "^15.4.0" + "typescript": "~3.9.7", + "yargs": "^15.4.1" }, "devDependencies": { "@types/clone": "^0.1.30", diff --git a/packages/oo-ascii-tree/package.json b/packages/oo-ascii-tree/package.json index 63333f6a7d..786c9affce 100644 --- a/packages/oo-ascii-tree/package.json +++ b/packages/oo-ascii-tree/package.json @@ -39,7 +39,7 @@ "jest": "^26.2.2", "jsii-build-tools": "^0.0.0", "prettier": "^2.0.5", - "typescript": "~3.9.6" + "typescript": "~3.9.7" }, "jest": { "collectCoverage": true, diff --git a/tools/jsii-build-tools/bin/diff-test b/tools/jsii-build-tools/bin/diff-test index ca2c62d0f2..645a49871c 100755 --- a/tools/jsii-build-tools/bin/diff-test +++ b/tools/jsii-build-tools/bin/diff-test @@ -1,31 +1,72 @@ -#!/bin/bash -# Compares two jsii assemblies and fails if they are different -# Versions in the expected assembly are updated to match this repo -# Usage: diff-test -set -euo pipefail - -resolve-path() { - echo "$(cd $(dirname $1) && pwd)/$(basename $1)" -} +#!/usr/bin/env node + +// Compares two jsii assemblies and fails if they are different +// Versions in the expected assembly are updated to match this repo +// Usage: diff-test + +const chalk = require('chalk'); +const { structuredPatch } = require('diff'); +const { readFile, writeFile } = require('fs').promises; +const { resolve } = require('path'); +const process = require('process'); + +async function main() { + const [, script, expectedPath, actualPath, ...rest] = process.argv; + + if (rest.length > 0 || actualPath == null || expectedPath == null) { + console.error(`Error: Illegal arguments.`); + console.error(`Received: ${script} ${expectedPath} ${actualPath} ${rest.join(' ')}`) + console.error(`Correct usage: ${script} `); + return 3; + } -expected="$(resolve-path $1)" -actual="$(resolve-path $2)" - -diff ${actual} ${expected} || { - echo - echo "=========================================================================" - - if [ -n "${UPDATE_DIFF:-}" ]; then - echo "⚡️ UPDATE_DIFF is set, overwriting ${expected}" - cp ${actual} ${expected} - exit 0 - else - echo "test failed. to update:" - echo " cp ${actual} ${expected}" - echo - echo "or, execute again with:" - echo " UPDATE_DIFF=1" - echo - exit 1 - fi + const expected = readFile(resolve(expectedPath), { encoding: 'utf-8' }); + const actual = readFile(resolve(actualPath), { encoding: 'utf-8' }); + + const patch = structuredPatch(actualPath, expectedPath, await actual, await expected); + if (patch.hunks.length === 0) { + // All good, no difference! + return 0; + } + + console.log(chalk.grey(`--- ${patch.oldFileName}`)); + console.log(chalk.grey(`+++ ${patch.newFileName}`)); + for (const hunk of patch.hunks) { + console.log(chalk.grey(`@@ -${hunk.oldStart},${hunk.oldLines} +${hunk.newStart},${hunk.newLines} @@`)); + for (const line of hunk.lines) { + let color; + switch (line[0]) { + case '-': + color = chalk.redBright; + break; + case '+': + color = chalk.greenBright; + break; + default: + color = chalk.grey; + } + console.log(color(line)); + } + } + + console.error("========================================================================="); + if (process.env.UPDATE_DIFF) { + console.error(chalk.yellowBright(`UPDATE_DIFF is set, overwriting ${expectedPath}`)); + await writeFile(expectedPath, await actual, { encoding: 'utf-8' }); + return 0; + } + console.error('test failed. to update:'); + console.error(chalk.blueBright(` cp ${actualPath} ${expectedPath}`)); + console.error(); + console.error('or, execute again with:'); + console.error(chalk.blueBright(' UPDATE_DIFF=1')); + return 1; } + +main().then( + (code) => process.exit(code), + (err) => { + console.error('Unexpected error:', err); + process.exit(-1); + } +) diff --git a/tools/jsii-build-tools/package.json b/tools/jsii-build-tools/package.json index 95efb25f83..b822287acf 100644 --- a/tools/jsii-build-tools/package.json +++ b/tools/jsii-build-tools/package.json @@ -31,5 +31,9 @@ }, "scripts": { "build": "chmod +x bin/*" + }, + "dependencies": { + "chalk": "^4.1.0", + "diff": "^4.0.2" } } diff --git a/yarn.lock b/yarn.lock index b9a350dfcd..e42f7b5e2f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -144,9 +144,9 @@ js-tokens "^4.0.0" "@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.11.0", "@babel/parser@^7.11.1": - version "7.11.1" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.1.tgz#d91a387990b21e5d20047b336bb19b0553f02ff5" - integrity sha512-u9QMIRdKVF7hfEkb3nu2LgZDIzCQPv+yHD9Eg6ruoJLjkrQ9fFz4IBSlF/9XwoNri9+2F1IY+dYuOfZrXq8t3w== + version "7.11.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.11.2.tgz#0882ab8a455df3065ea2dcb4c753b2460a24bead" + integrity sha512-Vuj/+7vLo6l1Vi7uuO+1ngCDNeVmNbTngcJFKCR/oEtz8tKz0CJxZEGmPt9KcIloZhOZ3Zit6xbpXT2MDlS9Vw== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -1552,6 +1552,11 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= +"@types/lockfile@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/lockfile/-/lockfile-1.0.1.tgz#434a3455e89843312f01976e010c60f1bcbd56f7" + integrity sha512-65WZedEm4AnOsBDdsapJJG42MhROu3n4aSSiu87JXF/pSdlubxZxp3S1yz3kTfkJ2KBPud4CpjoHVAptOm9Zmw== + "@types/minimatch@*": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" @@ -2057,6 +2062,11 @@ are-we-there-yet@~1.1.2: delegates "^1.0.0" readable-stream "^2.0.6" +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -3541,6 +3551,11 @@ diff-sequences@^26.0.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.0.0.tgz#0760059a5c287637b842bd7085311db7060e88a6" integrity sha512-JC/eHYEC3aSS0vZGjuoc4vHA0yAQTzhQQldXMeMF+JlxLGJlCO38Gma82NV9gk1jGFz8mDzUMeaKXvjRRdJ2dg== +diff@^4.0.1, diff@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -3973,9 +3988,9 @@ estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" - integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== esutils@^2.0.2: version "2.0.3" @@ -6118,6 +6133,13 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +lockfile@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz#07f819d25ae48f87e538e6578b6964a4981a5609" + integrity sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA== + dependencies: + signal-exit "^3.0.2" + lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -6231,6 +6253,11 @@ make-dir@^3.0.0: dependencies: semver "^6.0.0" +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + make-fetch-happen@^5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz#aa8387104f2687edca01c8687ee45013d02d19bd" @@ -8300,7 +8327,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.6, source-map-support@~0.5.12: +source-map-support@^0.5.17, source-map-support@^0.5.6, source-map-support@~0.5.12: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== @@ -8959,6 +8986,17 @@ trim-off-newlines@^1.0.0: resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= +ts-node@^8.10.2: + version "8.10.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d" + integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA== + dependencies: + arg "^4.1.0" + diff "^4.0.1" + make-error "^1.1.1" + source-map-support "^0.5.17" + yn "3.1.1" + tsconfig-paths@^3.9.0: version "3.9.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" @@ -9065,7 +9103,7 @@ typescript-json-schema@^0.42.0: typescript "^3.5.3" yargs "^14.0.0" -typescript@^3.5.3, typescript@~3.9.6: +typescript@^3.5.3, typescript@~3.9.7: version "3.9.7" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== @@ -9692,7 +9730,7 @@ yargs@^14.0.0, yargs@^14.2.2: y18n "^4.0.0" yargs-parser "^15.0.1" -yargs@^15.3.1, yargs@^15.4.0: +yargs@^15.3.1, yargs@^15.4.0, yargs@^15.4.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== @@ -9708,3 +9746,8 @@ yargs@^15.3.1, yargs@^15.4.0: which-module "^2.0.0" y18n "^4.0.0" yargs-parser "^18.1.2" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==