// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`integration test: @scope/jsii-calc-base 1`] = `
{
  "author": {
    "name": "Amazon Web Services",
    "organization": true,
    "roles": [
      "author",
    ],
    "url": "https://aws.amazon.com",
  },
  "dependencies": {
    "@scope/jsii-calc-base-of-base": "^2.1.1",
  },
  "dependencyClosure": {
    "@scope/jsii-calc-base-of-base": {
      "targets": {
        "dotnet": {
          "namespace": "Amazon.JSII.Tests.CalculatorNamespace.BaseOfBaseNamespace",
          "packageId": "Amazon.JSII.Tests.CalculatorPackageId.BaseOfBasePackageId",
        },
        "go": {
          "moduleName": "github.com/aws/jsii/jsii-calc/go",
        },
        "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.",
  "fingerprint": Any<String>,
  "homepage": "https://github.com/aws/jsii",
  "jsiiVersion": Any<String>,
  "license": "Apache-2.0",
  "metadata": {
    "jsii": {
      "compiledWithDeprecationWarnings": true,
      "pacmak": {
        "hasDefaultInterfaces": false,
      },
      "rosetta": {
        "strict": true,
      },
    },
  },
  "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",
  "submodules": {
    "@scope/jsii-calc-base.deep": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 39,
      },
      "symbolId": "lib/deep/index:",
    },
  },
  "targets": {
    "dotnet": {
      "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png",
      "namespace": "Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace",
      "packageId": "Amazon.JSII.Tests.CalculatorPackageId.BasePackageId",
    },
    "go": {
      "moduleName": "github.com/aws/jsii/jsii-calc/go",
      "packageName": "jcb",
    },
    "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": 13,
      },
      "methods": [
        {
          "docs": {
            "returns": "the name of the class (to verify native type names are created for derived classes).",
          },
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 17,
          },
          "name": "typeName",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
        },
      ],
      "name": "Base",
      "symbolId": "lib/index: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": 22,
      },
      "name": "BaseProps",
      "properties": [
        {
          "abstract": true,
          "immutable": true,
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 23,
          },
          "name": "bar",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/index:BaseProps",
    },
    "@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": 26,
      },
      "methods": [
        {
          "abstract": true,
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 27,
          },
          "name": "bar",
        },
      ],
      "name": "IBaseInterface",
      "symbolId": "lib/index:IBaseInterface",
    },
    "@scope/jsii-calc-base.StaticConsumer": {
      "assembly": "@scope/jsii-calc-base",
      "docs": {
        "summary": "Hides the transitive dependency of base-of-base.",
      },
      "fqn": "@scope/jsii-calc-base.StaticConsumer",
      "initializer": {},
      "kind": "class",
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 33,
      },
      "methods": [
        {
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 34,
          },
          "name": "consume",
          "parameters": [
            {
              "name": "args",
              "type": {
                "primitive": "any",
              },
              "variadic": true,
            },
          ],
          "static": true,
          "variadic": true,
        },
      ],
      "name": "StaticConsumer",
      "symbolId": "lib/index:StaticConsumer",
    },
    "@scope/jsii-calc-base.deep.BarrelImportClass": {
      "assembly": "@scope/jsii-calc-base",
      "fqn": "@scope/jsii-calc-base.deep.BarrelImportClass",
      "initializer": {},
      "kind": "class",
      "locationInModule": {
        "filename": "lib/deep/index.ts",
        "line": 1,
      },
      "name": "BarrelImportClass",
      "namespace": "deep",
      "symbolId": "lib/deep/index:BarrelImportClass",
    },
  },
  "version": "0.0.0",
}
`;

exports[`integration test: @scope/jsii-calc-base-of-base 1`] = `
{
  "author": {
    "name": "Amazon Web Services",
    "organization": true,
    "roles": [
      "author",
    ],
    "url": "https://aws.amazon.com",
  },
  "description": "An example transitive dependency for jsii-calc.",
  "fingerprint": Any<String>,
  "homepage": "https://github.com/aws/jsii",
  "jsiiVersion": Any<String>,
  "license": "Apache-2.0",
  "metadata": {
    "jsii": {
      "pacmak": {
        "hasDefaultInterfaces": true,
      },
      "rosetta": {
        "strict": true,
      },
    },
    "tscRootDir": ".",
  },
  "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",
    },
    "go": {
      "moduleName": "github.com/aws/jsii/jsii-calc/go",
    },
    "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",
      "symbolId": "lib/index:IVeryBaseInterface",
    },
    "@scope/jsii-calc-base-of-base.StaticConsumer": {
      "assembly": "@scope/jsii-calc-base-of-base",
      "fqn": "@scope/jsii-calc-base-of-base.StaticConsumer",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 19,
      },
      "methods": [
        {
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 22,
          },
          "name": "consume",
          "parameters": [
            {
              "name": "_args",
              "type": {
                "primitive": "any",
              },
              "variadic": true,
            },
          ],
          "static": true,
          "variadic": true,
        },
      ],
      "name": "StaticConsumer",
      "symbolId": "lib/index:StaticConsumer",
    },
    "@scope/jsii-calc-base-of-base.Very": {
      "assembly": "@scope/jsii-calc-base-of-base",
      "docs": {
        "stability": "experimental",
        "summary": "Something here.",
      },
      "fqn": "@scope/jsii-calc-base-of-base.Very",
      "initializer": {},
      "kind": "class",
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 13,
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
          },
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 14,
          },
          "name": "hey",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
      ],
      "name": "Very",
      "symbolId": "lib/index: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",
          },
        },
      ],
      "symbolId": "lib/index:VeryBaseProps",
    },
  },
  "version": "2.1.1",
}
`;

exports[`integration test: @scope/jsii-calc-lib 1`] = `
{
  "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": "^2.1.1",
  },
  "dependencyClosure": {
    "@scope/jsii-calc-base": {
      "submodules": {
        "@scope/jsii-calc-base.deep": {},
      },
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png",
          "namespace": "Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace",
          "packageId": "Amazon.JSII.Tests.CalculatorPackageId.BasePackageId",
        },
        "go": {
          "moduleName": "github.com/aws/jsii/jsii-calc/go",
          "packageName": "jcb",
        },
        "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",
        },
        "go": {
          "moduleName": "github.com/aws/jsii/jsii-calc/go",
        },
        "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",
  },
  "fingerprint": Any<String>,
  "homepage": "https://github.com/aws/jsii",
  "jsiiVersion": Any<String>,
  "license": "Apache-2.0",
  "metadata": {
    "jsii": {
      "compiledWithDeprecationWarnings": true,
      "pacmak": {
        "hasDefaultInterfaces": true,
      },
      "rosetta": {
        "strict": true,
      },
    },
    "tscRootDir": "lib",
  },
  "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.deprecationRemoval": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 136,
      },
      "symbolId": "lib/deprecation-removal:",
    },
    "@scope/jsii-calc-lib.submodule": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 134,
      },
      "readme": {
        "markdown": "# Submodule Readme

This is a submodule readme.
",
      },
      "symbolId": "lib/submodule/index:",
      "targets": {
        "dotnet": {
          "namespace": "Amazon.JSII.Tests.CustomSubmoduleName",
        },
        "go": {
          "packageName": "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",
    },
    "go": {
      "moduleName": "github.com/aws/jsii/jsii-calc/go",
      "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.BaseFor2647": {
      "assembly": "@scope/jsii-calc-lib",
      "docs": {
        "remarks": "The method \`foo\` has a parameter that uses a type
from a dependent module. Since Go "reimplments" this method, it will also need
to include an "import" statement for the calc-base module.",
        "see": "https://github.com/aws/jsii/issues/2647",
        "stability": "deprecated",
        "summary": "A base class for testing #2647.",
      },
      "fqn": "@scope/jsii-calc-lib.BaseFor2647",
      "initializer": {
        "docs": {
          "stability": "deprecated",
        },
        "locationInModule": {
          "filename": "lib/index.ts",
          "line": 122,
        },
        "parameters": [
          {
            "name": "very",
            "type": {
              "fqn": "@scope/jsii-calc-base-of-base.Very",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 121,
      },
      "methods": [
        {
          "docs": {
            "stability": "deprecated",
          },
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 126,
          },
          "name": "foo",
          "parameters": [
            {
              "name": "obj",
              "type": {
                "fqn": "@scope/jsii-calc-base.IBaseInterface",
              },
            },
          ],
        },
      ],
      "name": "BaseFor2647",
      "symbolId": "lib/index:BaseFor2647",
    },
    "@scope/jsii-calc-lib.DiamondLeft": {
      "assembly": "@scope/jsii-calc-lib",
      "datatype": true,
      "docs": {
        "stability": "deprecated",
      },
      "fqn": "@scope/jsii-calc-lib.DiamondLeft",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/duplicate-inherited-prop.ts",
        "line": 13,
      },
      "name": "DiamondLeft",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/duplicate-inherited-prop.ts",
            "line": 10,
          },
          "name": "hoistedTop",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/duplicate-inherited-prop.ts",
            "line": 14,
          },
          "name": "left",
          "optional": true,
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/duplicate-inherited-prop:DiamondLeft",
    },
    "@scope/jsii-calc-lib.DiamondRight": {
      "assembly": "@scope/jsii-calc-lib",
      "datatype": true,
      "docs": {
        "stability": "deprecated",
      },
      "fqn": "@scope/jsii-calc-lib.DiamondRight",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/duplicate-inherited-prop.ts",
        "line": 17,
      },
      "name": "DiamondRight",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/duplicate-inherited-prop.ts",
            "line": 10,
          },
          "name": "hoistedTop",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/duplicate-inherited-prop.ts",
            "line": 18,
          },
          "name": "right",
          "optional": true,
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/duplicate-inherited-prop:DiamondRight",
    },
    "@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": 99,
      },
      "members": [
        {
          "docs": {
            "stability": "deprecated",
          },
          "name": "VALUE1",
        },
        {
          "docs": {
            "stability": "deprecated",
          },
          "name": "VALUE2",
        },
      ],
      "name": "EnumFromScopedModule",
      "symbolId": "lib/index: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": 25,
      },
      "name": "IDoublable",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 26,
          },
          "name": "doubleValue",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/index:IDoublable",
    },
    "@scope/jsii-calc-lib.IFriendly": {
      "assembly": "@scope/jsii-calc-lib",
      "docs": {
        "remarks": "These classes can be greeted with
a "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": 60,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
            "summary": "Say hello!",
          },
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 64,
          },
          "name": "hello",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "IFriendly",
      "symbolId": "lib/index: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
far 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": 110,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
          },
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 111,
          },
          "name": "baz",
        },
      ],
      "name": "IThreeLevelsInterface",
      "symbolId": "lib/index: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": 70,
      },
      "name": "MyFirstStruct",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
            "summary": "An awesome number value.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 79,
          },
          "name": "anumber",
          "type": {
            "primitive": "number",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
            "summary": "A string value.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 74,
          },
          "name": "astring",
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 80,
          },
          "name": "firstOptional",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string",
              },
              "kind": "array",
            },
          },
        },
      ],
      "symbolId": "lib/index:MyFirstStruct",
    },
    "@scope/jsii-calc-lib.Number": {
      "assembly": "@scope/jsii-calc-lib",
      "base": "@scope/jsii-calc-lib.NumericValue",
      "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": 37,
        },
        "parameters": [
          {
            "docs": {
              "summary": "The number.",
            },
            "name": "value",
            "type": {
              "primitive": "number",
            },
          },
        ],
      },
      "interfaces": [
        "@scope/jsii-calc-lib.IDoublable",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 32,
      },
      "name": "Number",
      "properties": [
        {
          "docs": {
            "stability": "deprecated",
            "summary": "The number multiplied by 2.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 44,
          },
          "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": 37,
          },
          "name": "value",
          "overrides": "@scope/jsii-calc-lib.NumericValue",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/index:Number",
    },
    "@scope/jsii-calc-lib.NumericValue": {
      "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.NumericValue",
      "initializer": {},
      "kind": "class",
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 8,
      },
      "methods": [
        {
          "docs": {
            "stability": "deprecated",
            "summary": "String representation of the value.",
          },
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 17,
          },
          "name": "toString",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "NumericValue",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
            "summary": "The value.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 12,
          },
          "name": "value",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/index:NumericValue",
    },
    "@scope/jsii-calc-lib.Operation": {
      "abstract": true,
      "assembly": "@scope/jsii-calc-lib",
      "base": "@scope/jsii-calc-lib.NumericValue",
      "docs": {
        "stability": "deprecated",
        "summary": "Represents an operation on values.",
      },
      "fqn": "@scope/jsii-calc-lib.Operation",
      "initializer": {},
      "kind": "class",
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 52,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
            "summary": "String representation of the value.",
          },
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 53,
          },
          "name": "toString",
          "overrides": "@scope/jsii-calc-lib.NumericValue",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "Operation",
      "symbolId": "lib/index: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": 86,
      },
      "name": "StructWithOnlyOptionals",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
            "summary": "The first optional!",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 90,
          },
          "name": "optional1",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 91,
          },
          "name": "optional2",
          "optional": true,
          "type": {
            "primitive": "number",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/index.ts",
            "line": 92,
          },
          "name": "optional3",
          "optional": true,
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/index:StructWithOnlyOptionals",
    },
    "@scope/jsii-calc-lib.deprecationRemoval.IInterface": {
      "assembly": "@scope/jsii-calc-lib",
      "docs": {
        "stability": "deprecated",
      },
      "fqn": "@scope/jsii-calc-lib.deprecationRemoval.IInterface",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/deprecation-removal.ts",
        "line": 1,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
          },
          "locationInModule": {
            "filename": "lib/deprecation-removal.ts",
            "line": 2,
          },
          "name": "method",
        },
      ],
      "name": "IInterface",
      "namespace": "deprecationRemoval",
      "symbolId": "lib/deprecation-removal:IInterface",
    },
    "@scope/jsii-calc-lib.deprecationRemoval.InterfaceFactory": {
      "assembly": "@scope/jsii-calc-lib",
      "docs": {
        "stability": "deprecated",
      },
      "fqn": "@scope/jsii-calc-lib.deprecationRemoval.InterfaceFactory",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/deprecation-removal.ts",
        "line": 10,
      },
      "methods": [
        {
          "docs": {
            "stability": "deprecated",
          },
          "locationInModule": {
            "filename": "lib/deprecation-removal.ts",
            "line": 11,
          },
          "name": "create",
          "returns": {
            "type": {
              "fqn": "@scope/jsii-calc-lib.deprecationRemoval.IInterface",
            },
          },
          "static": true,
        },
      ],
      "name": "InterfaceFactory",
      "namespace": "deprecationRemoval",
      "symbolId": "lib/deprecation-removal:InterfaceFactory",
    },
    "@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",
            },
          },
        },
      ],
      "symbolId": "lib/submodule/index:IReflectable",
    },
    "@scope/jsii-calc-lib.submodule.NestingClass": {
      "assembly": "@scope/jsii-calc-lib",
      "docs": {
        "stability": "deprecated",
        "summary": "This class is here to show we can use nested classes across module boundaries.",
      },
      "fqn": "@scope/jsii-calc-lib.submodule.NestingClass",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/submodule/index.ts",
        "line": 22,
      },
      "name": "NestingClass",
      "namespace": "submodule",
      "symbolId": "lib/submodule/index:NestingClass",
    },
    "@scope/jsii-calc-lib.submodule.NestingClass.NestedClass": {
      "assembly": "@scope/jsii-calc-lib",
      "docs": {
        "stability": "deprecated",
        "summary": "This class is here to show we can use nested classes across module boundaries.",
      },
      "fqn": "@scope/jsii-calc-lib.submodule.NestingClass.NestedClass",
      "initializer": {
        "docs": {
          "stability": "deprecated",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/submodule/index.ts",
        "line": 30,
      },
      "name": "NestedClass",
      "namespace": "submodule.NestingClass",
      "properties": [
        {
          "docs": {
            "stability": "deprecated",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/index.ts",
            "line": 31,
          },
          "name": "property",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/submodule/index:NestingClass.NestedClass",
    },
    "@scope/jsii-calc-lib.submodule.NestingClass.NestedStruct": {
      "assembly": "@scope/jsii-calc-lib",
      "datatype": true,
      "docs": {
        "remarks": "Normal.",
        "stability": "deprecated",
        "summary": "This is a struct, nested within a class.",
      },
      "fqn": "@scope/jsii-calc-lib.submodule.NestingClass.NestedStruct",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/submodule/index.ts",
        "line": 37,
      },
      "name": "NestedStruct",
      "namespace": "submodule.NestingClass",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "deprecated",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/index.ts",
            "line": 38,
          },
          "name": "name",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/submodule/index:NestingClass.NestedStruct",
    },
    "@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",
          },
        },
      ],
      "symbolId": "lib/submodule/index:ReflectableEntry",
    },
    "@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",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/submodule/index.ts",
        "line": 10,
      },
      "methods": [
        {
          "docs": {
            "stability": "deprecated",
          },
          "locationInModule": {
            "filename": "lib/submodule/index.ts",
            "line": 11,
          },
          "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",
      "symbolId": "lib/submodule/index:Reflector",
    },
  },
  "version": "0.0.0",
}
`;

exports[`integration test: jsii-calc 1`] = `
{
  "author": {
    "name": "Amazon Web Services",
    "organization": true,
    "roles": [
      "author",
    ],
    "url": "https://aws.amazon.com",
  },
  "bin": {
    "calc": "bin/run",
  },
  "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-lib": "^0.0.0",
  },
  "dependencyClosure": {
    "@scope/jsii-calc-base": {
      "submodules": {
        "@scope/jsii-calc-base.deep": {},
      },
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png",
          "namespace": "Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace",
          "packageId": "Amazon.JSII.Tests.CalculatorPackageId.BasePackageId",
        },
        "go": {
          "moduleName": "github.com/aws/jsii/jsii-calc/go",
          "packageName": "jcb",
        },
        "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",
        },
        "go": {
          "moduleName": "github.com/aws/jsii/jsii-calc/go",
        },
        "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.deprecationRemoval": {},
        "@scope/jsii-calc-lib.submodule": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.JSII.Tests.CustomSubmoduleName",
            },
            "go": {
              "packageName": "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",
        },
        "go": {
          "moduleName": "github.com/aws/jsii/jsii-calc/go",
          "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": "stable",
  },
  "fingerprint": Any<String>,
  "homepage": "https://github.com/aws/jsii",
  "jsiiVersion": Any<String>,
  "keywords": [
    "aws",
    "jsii",
    "test",
  ],
  "license": "Apache-2.0",
  "metadata": {
    "jsii": {
      "compiledWithDeprecationWarnings": true,
      "pacmak": {
        "hasDefaultInterfaces": true,
      },
      "rosetta": {
        "strict": true,
      },
    },
    "jsii:boolean": true,
    "jsii:number": 1337,
    "jsii:object": {
      "string": "yes!",
    },
  },
  "name": "jsii-calc",
  "readme": {
    "markdown": "# jsii Calculator

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

## How to use running sum API:

First, create a calculator:

\`\`\`ts
const calculator = new calc.Calculator();
\`\`\`

Then call some operations:


\`\`\`ts fixture=with-calculator
calculator.add(10);
\`\`\`

## Code Samples

\`\`\`ts
/* This is totes a magic comment in here, just you wait! */
const foo = 'bar';
\`\`\`
",
  },
  "repository": {
    "directory": "packages/jsii-calc",
    "type": "git",
    "url": "https://github.com/aws/jsii.git",
  },
  "schema": "jsii/0.10.0",
  "submodules": {
    "jsii-calc.DerivedClassHasNoProperties": {
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 325,
      },
      "symbolId": "lib/compliance:DerivedClassHasNoProperties",
    },
    "jsii-calc.InterfaceInNamespaceIncludesClasses": {
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1262,
      },
      "symbolId": "lib/compliance:InterfaceInNamespaceIncludesClasses",
    },
    "jsii-calc.InterfaceInNamespaceOnlyInterface": {
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1255,
      },
      "symbolId": "lib/compliance:InterfaceInNamespaceOnlyInterface",
    },
    "jsii-calc.PythonSelf": {
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1146,
      },
      "symbolId": "lib/compliance:PythonSelf",
    },
    "jsii-calc.anonymous": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 28,
      },
      "symbolId": "lib/anonymous/index:",
    },
    "jsii-calc.cdk16625": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 24,
      },
      "symbolId": "lib/cdk16625/index:",
    },
    "jsii-calc.cdk16625.donotimport": {
      "locationInModule": {
        "filename": "lib/cdk16625/index.ts",
        "line": 6,
      },
      "symbolId": "lib/cdk16625/donotimport/index:",
    },
    "jsii-calc.cdk22369": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 25,
      },
      "symbolId": "lib/cdk22369/index:",
    },
    "jsii-calc.composition": {
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 143,
      },
      "symbolId": "lib/calculator:composition",
    },
    "jsii-calc.homonymousForwardReferences": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 30,
      },
      "readme": {
        "markdown": "Verifies homonymous forward references don't trip the Python type checker

This has been an issue when stub functions were introduced to create a reliable source for type checking
information, which was reported in https://github.com/aws/jsii/issues/3818.
",
      },
      "symbolId": "lib/homonymous/index:",
    },
    "jsii-calc.homonymousForwardReferences.bar": {
      "locationInModule": {
        "filename": "lib/homonymous/index.ts",
        "line": 1,
      },
      "symbolId": "lib/homonymous/bar:",
    },
    "jsii-calc.homonymousForwardReferences.foo": {
      "locationInModule": {
        "filename": "lib/homonymous/index.ts",
        "line": 2,
      },
      "symbolId": "lib/homonymous/foo:",
    },
    "jsii-calc.jsii3656": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 26,
      },
      "symbolId": "lib/jsii3656/index:",
    },
    "jsii-calc.module2530": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 21,
      },
      "symbolId": "lib/module2530/index:",
    },
    "jsii-calc.module2617": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 17,
      },
      "symbolId": "lib/module2617/index:",
    },
    "jsii-calc.module2647": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 16,
      },
      "symbolId": "lib/module2647/index:",
    },
    "jsii-calc.module2689": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 18,
      },
      "symbolId": "lib/module2689/index:",
    },
    "jsii-calc.module2689.methods": {
      "locationInModule": {
        "filename": "lib/module2689/index.ts",
        "line": 8,
      },
      "symbolId": "lib/module2689/methods/index:",
    },
    "jsii-calc.module2689.props": {
      "locationInModule": {
        "filename": "lib/module2689/index.ts",
        "line": 9,
      },
      "symbolId": "lib/module2689/props/index:",
    },
    "jsii-calc.module2689.retval": {
      "locationInModule": {
        "filename": "lib/module2689/index.ts",
        "line": 10,
      },
      "symbolId": "lib/module2689/retval/index:",
    },
    "jsii-calc.module2689.structs": {
      "locationInModule": {
        "filename": "lib/module2689/index.ts",
        "line": 7,
      },
      "symbolId": "lib/module2689/structs/index:",
    },
    "jsii-calc.module2692": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 20,
      },
      "symbolId": "lib/module2692/index:",
    },
    "jsii-calc.module2692.submodule1": {
      "locationInModule": {
        "filename": "lib/module2692/index.ts",
        "line": 1,
      },
      "symbolId": "lib/module2692/submodule1/index:",
    },
    "jsii-calc.module2692.submodule2": {
      "locationInModule": {
        "filename": "lib/module2692/index.ts",
        "line": 2,
      },
      "symbolId": "lib/module2692/submodule2/index:",
    },
    "jsii-calc.module2700": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 22,
      },
      "symbolId": "lib/module2700/index:",
    },
    "jsii-calc.module2702": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 19,
      },
      "symbolId": "lib/module2702/index:",
    },
    "jsii-calc.nodirect": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 15,
      },
      "symbolId": "lib/no-direct-types/index:",
    },
    "jsii-calc.nodirect.sub1": {
      "locationInModule": {
        "filename": "lib/no-direct-types/index.ts",
        "line": 3,
      },
      "symbolId": "lib/no-direct-types/sub1/index:",
    },
    "jsii-calc.nodirect.sub2": {
      "locationInModule": {
        "filename": "lib/no-direct-types/index.ts",
        "line": 4,
      },
      "symbolId": "lib/no-direct-types/sub2/index:",
    },
    "jsii-calc.onlystatic": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 14,
      },
      "symbolId": "lib/only-static/index:",
    },
    "jsii-calc.submodule": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 13,
      },
      "readme": {
        "markdown": "Read you, read me
=================

This is the readme of the \`jsii-calc.submodule\` module.
",
      },
      "symbolId": "lib/submodule/index:",
    },
    "jsii-calc.submodule.back_references": {
      "locationInModule": {
        "filename": "lib/submodule/index.ts",
        "line": 7,
      },
      "symbolId": "lib/submodule/refers-to-parent/index:",
    },
    "jsii-calc.submodule.child": {
      "locationInModule": {
        "filename": "lib/submodule/index.ts",
        "line": 1,
      },
      "symbolId": "lib/submodule/child/index:",
    },
    "jsii-calc.submodule.isolated": {
      "locationInModule": {
        "filename": "lib/submodule/index.ts",
        "line": 2,
      },
      "readme": {
        "markdown": "Read you, read me
=================

This is the readme of the \`jsii-calc.submodule.isolated\` module.
",
      },
      "symbolId": "lib/submodule/isolated:",
    },
    "jsii-calc.submodule.nested_submodule": {
      "locationInModule": {
        "filename": "lib/submodule/nested_submodule.ts",
        "line": 4,
      },
      "symbolId": "lib/submodule/nested_submodule:nested_submodule",
    },
    "jsii-calc.submodule.nested_submodule.deeplyNested": {
      "locationInModule": {
        "filename": "lib/submodule/nested_submodule.ts",
        "line": 6,
      },
      "symbolId": "lib/submodule/nested_submodule:nested_submodule.deeplyNested",
    },
    "jsii-calc.submodule.param": {
      "locationInModule": {
        "filename": "lib/submodule/index.ts",
        "line": 3,
      },
      "symbolId": "lib/submodule/param/index:",
    },
    "jsii-calc.submodule.returnsparam": {
      "locationInModule": {
        "filename": "lib/submodule/index.ts",
        "line": 4,
      },
      "symbolId": "lib/submodule/returns-param/index:",
    },
    "jsii-calc.union": {
      "locationInModule": {
        "filename": "lib/index.ts",
        "line": 29,
      },
      "symbolId": "lib/union:",
    },
  },
  "targets": {
    "dotnet": {
      "iconUrl": "https://sdk-for-net.amazonwebservices.com/images/AWSLogo128x128.png",
      "namespace": "Amazon.JSII.Tests.CalculatorNamespace",
      "packageId": "Amazon.JSII.Tests.CalculatorPackageId",
    },
    "go": {
      "moduleName": "github.com/aws/jsii/jsii-calc/go",
    },
    "java": {
      "maven": {
        "artifactId": "calculator",
        "groupId": "software.amazon.jsii.tests",
      },
      "package": "software.amazon.jsii.tests.calculator",
    },
    "js": {
      "npm": "jsii-calc",
    },
    "python": {
      "classifiers": [
        "Test :: Classifier :: Is Dummy",
      ],
      "distName": "jsii-calc",
      "module": "jsii_calc",
    },
  },
  "types": {
    "jsii-calc.AbstractClass": {
      "abstract": true,
      "assembly": "jsii-calc",
      "base": "jsii-calc.AbstractClassBase",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.AbstractClass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.IInterfaceImplementedByAbstractClass",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1306,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1314,
          },
          "name": "abstractMethod",
          "parameters": [
            {
              "name": "name",
              "type": {
                "primitive": "string",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1310,
          },
          "name": "nonAbstractMethod",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
      ],
      "name": "AbstractClass",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1316,
          },
          "name": "propFromInterface",
          "overrides": "jsii-calc.IInterfaceImplementedByAbstractClass",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:AbstractClass",
    },
    "jsii-calc.AbstractClassBase": {
      "abstract": true,
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.AbstractClassBase",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1302,
      },
      "name": "AbstractClassBase",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1303,
          },
          "name": "abstractProperty",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:AbstractClassBase",
    },
    "jsii-calc.AbstractClassReturner": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.AbstractClassReturner",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1331,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1332,
          },
          "name": "giveMeAbstract",
          "returns": {
            "type": {
              "fqn": "jsii-calc.AbstractClass",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1336,
          },
          "name": "giveMeInterface",
          "returns": {
            "type": {
              "fqn": "jsii-calc.IInterfaceImplementedByAbstractClass",
            },
          },
        },
      ],
      "name": "AbstractClassReturner",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1340,
          },
          "name": "returnAbstractFromProperty",
          "type": {
            "fqn": "jsii-calc.AbstractClassBase",
          },
        },
      ],
      "symbolId": "lib/compliance:AbstractClassReturner",
    },
    "jsii-calc.AbstractSuite": {
      "abstract": true,
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Ensures abstract members implementations correctly register overrides in various languages.",
      },
      "fqn": "jsii-calc.AbstractSuite",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 423,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 425,
          },
          "name": "someMethod",
          "parameters": [
            {
              "name": "str",
              "type": {
                "primitive": "string",
              },
            },
          ],
          "protected": true,
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Sets \`seed\` to \`this.property\`, then calls \`someMethod\` with \`this.property\` and returns the result.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 431,
          },
          "name": "workItAll",
          "parameters": [
            {
              "docs": {
                "summary": "a \`string\`.",
              },
              "name": "seed",
              "type": {
                "primitive": "string",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "AbstractSuite",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 424,
          },
          "name": "property",
          "protected": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/calculator:AbstractSuite",
    },
    "jsii-calc.Add": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.BinaryOperation",
      "docs": {
        "stability": "stable",
        "summary": "The "+" binary operation.",
      },
      "fqn": "jsii-calc.Add",
      "initializer": {
        "docs": {
          "stability": "stable",
          "summary": "Creates a BinaryOperation.",
        },
        "locationInModule": {
          "filename": "lib/calculator.ts",
          "line": 53,
        },
        "parameters": [
          {
            "docs": {
              "summary": "Left-hand side operand.",
            },
            "name": "lhs",
            "type": {
              "fqn": "@scope/jsii-calc-lib.NumericValue",
            },
          },
          {
            "docs": {
              "summary": "Right-hand side operand.",
            },
            "name": "rhs",
            "type": {
              "fqn": "@scope/jsii-calc-lib.NumericValue",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 68,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "summary": "String representation of the value.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 73,
          },
          "name": "toString",
          "overrides": "@scope/jsii-calc-lib.Operation",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "Add",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "The value.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 69,
          },
          "name": "value",
          "overrides": "@scope/jsii-calc-lib.NumericValue",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/calculator:Add",
    },
    "jsii-calc.AllTypes": {
      "assembly": "jsii-calc",
      "docs": {
        "remarks": "The setters will validate
that the value set is of the expected type and throw otherwise.",
        "stability": "stable",
        "summary": "This class includes property for all types supported by jsii.",
      },
      "fqn": "jsii-calc.AllTypes",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 63,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 232,
          },
          "name": "anyIn",
          "parameters": [
            {
              "name": "inp",
              "type": {
                "primitive": "any",
              },
            },
          ],
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 224,
          },
          "name": "anyOut",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 216,
          },
          "name": "enumPropertyValue",
          "type": {
            "primitive": "number",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 180,
          },
          "name": "anyArrayProperty",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any",
              },
              "kind": "array",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 181,
          },
          "name": "anyMapProperty",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any",
              },
              "kind": "map",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 179,
          },
          "name": "anyProperty",
          "type": {
            "primitive": "any",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 165,
          },
          "name": "arrayProperty",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string",
              },
              "kind": "array",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 68,
          },
          "name": "booleanProperty",
          "type": {
            "primitive": "boolean",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 114,
          },
          "name": "dateProperty",
          "type": {
            "primitive": "date",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 200,
          },
          "name": "enumProperty",
          "type": {
            "fqn": "jsii-calc.AllTypesEnum",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 133,
          },
          "name": "jsonProperty",
          "type": {
            "primitive": "json",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 150,
          },
          "name": "mapProperty",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "@scope/jsii-calc-lib.Number",
              },
              "kind": "map",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 99,
          },
          "name": "numberProperty",
          "type": {
            "primitive": "number",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 83,
          },
          "name": "stringProperty",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 192,
          },
          "name": "unionArrayProperty",
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "primitive": "number",
                    },
                    {
                      "fqn": "@scope/jsii-calc-lib.NumericValue",
                    },
                  ],
                },
              },
              "kind": "array",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "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": "stable",
          },
          "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": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 186,
          },
          "name": "unknownArrayProperty",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any",
              },
              "kind": "array",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 187,
          },
          "name": "unknownMapProperty",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any",
              },
              "kind": "map",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 185,
          },
          "name": "unknownProperty",
          "type": {
            "primitive": "any",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 197,
          },
          "name": "optionalEnumValue",
          "optional": true,
          "type": {
            "fqn": "jsii-calc.StringEnum",
          },
        },
      ],
      "symbolId": "lib/compliance:AllTypes",
    },
    "jsii-calc.AllTypesEnum": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.AllTypesEnum",
      "kind": "enum",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 33,
      },
      "members": [
        {
          "docs": {
            "stability": "stable",
          },
          "name": "MY_ENUM_VALUE",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "name": "YOUR_ENUM_VALUE",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "name": "THIS_IS_GREAT",
        },
      ],
      "name": "AllTypesEnum",
      "symbolId": "lib/compliance:AllTypesEnum",
    },
    "jsii-calc.AllowedMethodNames": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.AllowedMethodNames",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 615,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 623,
          },
          "name": "getBar",
          "parameters": [
            {
              "name": "_p1",
              "type": {
                "primitive": "string",
              },
            },
            {
              "name": "_p2",
              "type": {
                "primitive": "number",
              },
            },
          ],
        },
        {
          "docs": {
            "stability": "stable",
            "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": "stable",
          },
          "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": "stable",
            "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",
      "symbolId": "lib/compliance:AllowedMethodNames",
    },
    "jsii-calc.AmbiguousParameters": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.AmbiguousParameters",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 2761,
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "jsii-calc.Bell",
            },
          },
          {
            "name": "props",
            "type": {
              "fqn": "jsii-calc.StructParameterType",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2760,
      },
      "name": "AmbiguousParameters",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2763,
          },
          "name": "props",
          "type": {
            "fqn": "jsii-calc.StructParameterType",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2762,
          },
          "name": "scope",
          "type": {
            "fqn": "jsii-calc.Bell",
          },
        },
      ],
      "symbolId": "lib/compliance:AmbiguousParameters",
    },
    "jsii-calc.AnonymousImplementationProvider": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.AnonymousImplementationProvider",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.IAnonymousImplementationProvider",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2275,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2280,
          },
          "name": "provideAsClass",
          "overrides": "jsii-calc.IAnonymousImplementationProvider",
          "returns": {
            "type": {
              "fqn": "jsii-calc.Implementation",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2284,
          },
          "name": "provideAsInterface",
          "overrides": "jsii-calc.IAnonymousImplementationProvider",
          "returns": {
            "type": {
              "fqn": "jsii-calc.IAnonymouslyImplementMe",
            },
          },
        },
      ],
      "name": "AnonymousImplementationProvider",
      "symbolId": "lib/compliance:AnonymousImplementationProvider",
    },
    "jsii-calc.AsyncVirtualMethods": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.AsyncVirtualMethods",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 333,
      },
      "methods": [
        {
          "async": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 334,
          },
          "name": "callMe",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
        {
          "async": true,
          "docs": {
            "stability": "stable",
            "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
means that callbacks are not going to be available immediate, but only
after an "immediates" cycle.",
            "stability": "stable",
            "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": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 371,
          },
          "name": "dontOverrideMe",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
        {
          "async": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 342,
          },
          "name": "overrideMe",
          "parameters": [
            {
              "name": "mult",
              "type": {
                "primitive": "number",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
        {
          "async": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 346,
          },
          "name": "overrideMeToo",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
      ],
      "name": "AsyncVirtualMethods",
      "symbolId": "lib/compliance:AsyncVirtualMethods",
    },
    "jsii-calc.AugmentableClass": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.AugmentableClass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1600,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1601,
          },
          "name": "methodOne",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1607,
          },
          "name": "methodTwo",
        },
      ],
      "name": "AugmentableClass",
      "symbolId": "lib/compliance:AugmentableClass",
    },
    "jsii-calc.BaseClass": {
      "abstract": true,
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.BaseClass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/indirect-implementation.ts",
          "line": 9,
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/indirect-implementation.ts",
        "line": 6,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/indirect-implementation.ts",
            "line": 11,
          },
          "name": "method",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
      ],
      "name": "BaseClass",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/indirect-implementation.ts",
            "line": 7,
          },
          "name": "property",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/indirect-implementation:BaseClass",
    },
    "jsii-calc.BaseJsii976": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.BaseJsii976",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2555,
      },
      "name": "BaseJsii976",
      "symbolId": "lib/compliance:BaseJsii976",
    },
    "jsii-calc.Bell": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.Bell",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.IBell",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2499,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2502,
          },
          "name": "ring",
          "overrides": "jsii-calc.IBell",
        },
      ],
      "name": "Bell",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2500,
          },
          "name": "rung",
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/compliance:Bell",
    },
    "jsii-calc.BinaryOperation": {
      "abstract": true,
      "assembly": "jsii-calc",
      "base": "@scope/jsii-calc-lib.Operation",
      "docs": {
        "stability": "stable",
        "summary": "Represents an operation with two operands.",
      },
      "fqn": "jsii-calc.BinaryOperation",
      "initializer": {
        "docs": {
          "stability": "stable",
          "summary": "Creates a BinaryOperation.",
        },
        "locationInModule": {
          "filename": "lib/calculator.ts",
          "line": 53,
        },
        "parameters": [
          {
            "docs": {
              "summary": "Left-hand side operand.",
            },
            "name": "lhs",
            "type": {
              "fqn": "@scope/jsii-calc-lib.NumericValue",
            },
          },
          {
            "docs": {
              "summary": "Right-hand side operand.",
            },
            "name": "rhs",
            "type": {
              "fqn": "@scope/jsii-calc-lib.NumericValue",
            },
          },
        ],
      },
      "interfaces": [
        "@scope/jsii-calc-lib.IFriendly",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 47,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Say hello!",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 60,
          },
          "name": "hello",
          "overrides": "@scope/jsii-calc-lib.IFriendly",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "BinaryOperation",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Left-hand side operand.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 54,
          },
          "name": "lhs",
          "type": {
            "fqn": "@scope/jsii-calc-lib.NumericValue",
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Right-hand side operand.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 55,
          },
          "name": "rhs",
          "type": {
            "fqn": "@scope/jsii-calc-lib.NumericValue",
          },
        },
      ],
      "symbolId": "lib/calculator:BinaryOperation",
    },
    "jsii-calc.BurriedAnonymousObject": {
      "abstract": true,
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "See https://github.com/aws/aws-cdk/issues/7977.",
      },
      "fqn": "jsii-calc.BurriedAnonymousObject",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2845,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2846,
          },
          "name": "check",
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
        },
        {
          "abstract": true,
          "docs": {
            "returns": "\`value\`",
            "stability": "stable",
            "summary": "Implement this method and have it return it's parameter.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2863,
          },
          "name": "giveItBack",
          "parameters": [
            {
              "docs": {
                "summary": "the value that should be returned.",
              },
              "name": "value",
              "type": {
                "primitive": "any",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
        },
      ],
      "name": "BurriedAnonymousObject",
      "symbolId": "lib/compliance:BurriedAnonymousObject",
    },
    "jsii-calc.Calculator": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.composition.CompositeOperation",
      "docs": {
        "example": "const calculator = new calc.Calculator();
calculator.add(5);
calculator.mul(3);
console.log(calculator.expression.value);",
        "remarks": "Here's how you use it:

\`\`\`ts
const calculator = new calc.Calculator();
calculator.add(5);
calculator.mul(3);
console.log(calculator.expression.value);
\`\`\`

I will repeat this example again, but in an",
        "stability": "stable",
        "summary": "A calculator which maintains a current value and allows adding operations.",
      },
      "fqn": "jsii-calc.Calculator",
      "initializer": {
        "docs": {
          "stability": "stable",
          "summary": "Creates a Calculator object.",
        },
        "locationInModule": {
          "filename": "lib/calculator.ts",
          "line": 299,
        },
        "parameters": [
          {
            "docs": {
              "summary": "Initialization properties.",
            },
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "jsii-calc.CalculatorProps",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 294,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Adds a number to the current value.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 332,
          },
          "name": "add",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "number",
              },
            },
          ],
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Multiplies the current value by a number.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 339,
          },
          "name": "mul",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "number",
              },
            },
          ],
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Negates the current value.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 353,
          },
          "name": "neg",
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Raises the current value by a power.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 346,
          },
          "name": "pow",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "number",
              },
            },
          ],
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Returns teh value of the union property (if defined).",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 372,
          },
          "name": "readUnionValue",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
      ],
      "name": "Calculator",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Returns the expression.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 360,
          },
          "name": "expression",
          "overrides": "jsii-calc.composition.CompositeOperation",
          "type": {
            "fqn": "@scope/jsii-calc-lib.NumericValue",
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "A log of all operations.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 322,
          },
          "name": "operationsLog",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "@scope/jsii-calc-lib.NumericValue",
              },
              "kind": "array",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "A map of per operation name of all operations performed.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 317,
          },
          "name": "operationsMap",
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "fqn": "@scope/jsii-calc-lib.NumericValue",
                  },
                  "kind": "array",
                },
              },
              "kind": "map",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "The current value.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 312,
          },
          "name": "curr",
          "type": {
            "fqn": "@scope/jsii-calc-lib.NumericValue",
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "The maximum value allows in this calculator.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 327,
          },
          "name": "maxValue",
          "optional": true,
          "type": {
            "primitive": "number",
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Example of a property that accepts a union of types.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 367,
          },
          "name": "unionProperty",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "fqn": "jsii-calc.Add",
                },
                {
                  "fqn": "jsii-calc.Multiply",
                },
                {
                  "fqn": "jsii-calc.Power",
                },
              ],
            },
          },
        },
      ],
      "symbolId": "lib/calculator:Calculator",
    },
    "jsii-calc.CalculatorProps": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
        "summary": "Properties for Calculator.",
      },
      "fqn": "jsii-calc.CalculatorProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 255,
      },
      "name": "CalculatorProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "0",
            "remarks": "NOTE: Any number works here, it's fine.",
            "stability": "stable",
            "summary": "The initial value of the calculator.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 263,
          },
          "name": "initialValue",
          "optional": true,
          "type": {
            "primitive": "number",
          },
        },
        {
          "abstract": true,
          "docs": {
            "default": "none",
            "stability": "stable",
            "summary": "The maximum value the calculator can store.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 270,
          },
          "name": "maximumValue",
          "optional": true,
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/calculator:CalculatorProps",
    },
    "jsii-calc.ChildStruct982": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ChildStruct982",
      "interfaces": [
        "jsii-calc.ParentStruct982",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2579,
      },
      "name": "ChildStruct982",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2580,
          },
          "name": "bar",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/compliance:ChildStruct982",
    },
    "jsii-calc.ClassThatImplementsTheInternalInterface": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ClassThatImplementsTheInternalInterface",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.INonInternalInterface",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1863,
      },
      "name": "ClassThatImplementsTheInternalInterface",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1868,
          },
          "name": "a",
          "overrides": "jsii-calc.IAnotherPublicInterface",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1869,
          },
          "name": "b",
          "overrides": "jsii-calc.INonInternalInterface",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1870,
          },
          "name": "c",
          "overrides": "jsii-calc.INonInternalInterface",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1871,
          },
          "name": "d",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:ClassThatImplementsTheInternalInterface",
    },
    "jsii-calc.ClassThatImplementsThePrivateInterface": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ClassThatImplementsThePrivateInterface",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.INonInternalInterface",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1874,
      },
      "name": "ClassThatImplementsThePrivateInterface",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1877,
          },
          "name": "a",
          "overrides": "jsii-calc.IAnotherPublicInterface",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1878,
          },
          "name": "b",
          "overrides": "jsii-calc.INonInternalInterface",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1879,
          },
          "name": "c",
          "overrides": "jsii-calc.INonInternalInterface",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1880,
          },
          "name": "e",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:ClassThatImplementsThePrivateInterface",
    },
    "jsii-calc.ClassWithCollectionOfUnions": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ClassWithCollectionOfUnions",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 3069,
        },
        "parameters": [
          {
            "name": "unionProperty",
            "type": {
              "collection": {
                "elementtype": {
                  "collection": {
                    "elementtype": {
                      "union": {
                        "types": [
                          {
                            "fqn": "jsii-calc.StructA",
                          },
                          {
                            "fqn": "jsii-calc.StructB",
                          },
                        ],
                      },
                    },
                    "kind": "map",
                  },
                },
                "kind": "array",
              },
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 3068,
      },
      "name": "ClassWithCollectionOfUnions",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3070,
          },
          "name": "unionProperty",
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "union": {
                      "types": [
                        {
                          "fqn": "jsii-calc.StructA",
                        },
                        {
                          "fqn": "jsii-calc.StructB",
                        },
                      ],
                    },
                  },
                  "kind": "map",
                },
              },
              "kind": "array",
            },
          },
        },
      ],
      "symbolId": "lib/compliance:ClassWithCollectionOfUnions",
    },
    "jsii-calc.ClassWithCollections": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ClassWithCollections",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 2181,
        },
        "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": 2171,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2186,
          },
          "name": "createAList",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string",
                },
                "kind": "array",
              },
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2190,
          },
          "name": "createAMap",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string",
                },
                "kind": "map",
              },
            },
          },
          "static": true,
        },
      ],
      "name": "ClassWithCollections",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2179,
          },
          "name": "staticArray",
          "static": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string",
              },
              "kind": "array",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2175,
          },
          "name": "staticMap",
          "static": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string",
              },
              "kind": "map",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2173,
          },
          "name": "array",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string",
              },
              "kind": "array",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2172,
          },
          "name": "map",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string",
              },
              "kind": "map",
            },
          },
        },
      ],
      "symbolId": "lib/compliance:ClassWithCollections",
    },
    "jsii-calc.ClassWithContainerTypes": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ClassWithContainerTypes",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/container-types.ts",
          "line": 2,
        },
        "parameters": [
          {
            "name": "array",
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "jsii-calc.DummyObj",
                },
                "kind": "array",
              },
            },
          },
          {
            "name": "record",
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "jsii-calc.DummyObj",
                },
                "kind": "map",
              },
            },
          },
          {
            "name": "obj",
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "jsii-calc.DummyObj",
                },
                "kind": "map",
              },
            },
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "jsii-calc.ContainerProps",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/container-types.ts",
        "line": 1,
      },
      "name": "ClassWithContainerTypes",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/container-types.ts",
            "line": 3,
          },
          "name": "array",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "jsii-calc.DummyObj",
              },
              "kind": "array",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/container-types.ts",
            "line": 5,
          },
          "name": "obj",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "jsii-calc.DummyObj",
              },
              "kind": "map",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/container-types.ts",
            "line": 4,
          },
          "name": "record",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "jsii-calc.DummyObj",
              },
              "kind": "map",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/container-types.ts",
            "line": 6,
          },
          "name": "props",
          "optional": true,
          "type": {
            "fqn": "jsii-calc.ContainerProps",
          },
        },
      ],
      "symbolId": "lib/container-types:ClassWithContainerTypes",
    },
    "jsii-calc.ClassWithDocs": {
      "assembly": "jsii-calc",
      "docs": {
        "custom": {
          "customAttribute": "hasAValue",
        },
        "example": "function anExample() {
}",
        "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": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1948,
      },
      "name": "ClassWithDocs",
      "symbolId": "lib/compliance:ClassWithDocs",
    },
    "jsii-calc.ClassWithJavaReservedWords": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ClassWithJavaReservedWords",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 2121,
        },
        "parameters": [
          {
            "name": "int",
            "type": {
              "primitive": "string",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2118,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2125,
          },
          "name": "import",
          "parameters": [
            {
              "name": "assert",
              "type": {
                "primitive": "string",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "ClassWithJavaReservedWords",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2119,
          },
          "name": "int",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:ClassWithJavaReservedWords",
    },
    "jsii-calc.ClassWithMutableObjectLiteralProperty": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ClassWithMutableObjectLiteralProperty",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1351,
      },
      "name": "ClassWithMutableObjectLiteralProperty",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1352,
          },
          "name": "mutableObject",
          "type": {
            "fqn": "jsii-calc.IMutableObjectLiteral",
          },
        },
      ],
      "symbolId": "lib/compliance:ClassWithMutableObjectLiteralProperty",
    },
    "jsii-calc.ClassWithNestedUnion": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ClassWithNestedUnion",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 3079,
        },
        "parameters": [
          {
            "name": "unionProperty",
            "type": {
              "collection": {
                "elementtype": {
                  "union": {
                    "types": [
                      {
                        "collection": {
                          "elementtype": {
                            "union": {
                              "types": [
                                {
                                  "fqn": "jsii-calc.StructA",
                                },
                                {
                                  "fqn": "jsii-calc.StructB",
                                },
                              ],
                            },
                          },
                          "kind": "map",
                        },
                      },
                      {
                        "collection": {
                          "elementtype": {
                            "union": {
                              "types": [
                                {
                                  "fqn": "jsii-calc.StructA",
                                },
                                {
                                  "fqn": "jsii-calc.StructB",
                                },
                              ],
                            },
                          },
                          "kind": "array",
                        },
                      },
                    ],
                  },
                },
                "kind": "array",
              },
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 3078,
      },
      "name": "ClassWithNestedUnion",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3080,
          },
          "name": "unionProperty",
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "collection": {
                        "elementtype": {
                          "union": {
                            "types": [
                              {
                                "fqn": "jsii-calc.StructA",
                              },
                              {
                                "fqn": "jsii-calc.StructB",
                              },
                            ],
                          },
                        },
                        "kind": "map",
                      },
                    },
                    {
                      "collection": {
                        "elementtype": {
                          "union": {
                            "types": [
                              {
                                "fqn": "jsii-calc.StructA",
                              },
                              {
                                "fqn": "jsii-calc.StructB",
                              },
                            ],
                          },
                        },
                        "kind": "array",
                      },
                    },
                  ],
                },
              },
              "kind": "array",
            },
          },
        },
      ],
      "symbolId": "lib/compliance:ClassWithNestedUnion",
    },
    "jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "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": 1378,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1381,
          },
          "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1389,
          },
          "name": "readOnlyString",
          "overrides": "jsii-calc.IInterfaceWithProperties",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1390,
          },
          "name": "readWriteString",
          "overrides": "jsii-calc.IInterfaceWithProperties",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:ClassWithPrivateConstructorAndAutomaticProperties",
    },
    "jsii-calc.ConfusingToJackson": {
      "assembly": "jsii-calc",
      "docs": {
        "see": "https://github.com/aws/aws-cdk/issues/4080",
        "stability": "stable",
        "summary": "This tries to confuse Jackson by having overloaded property setters.",
      },
      "fqn": "jsii-calc.ConfusingToJackson",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2718,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2719,
          },
          "name": "makeInstance",
          "returns": {
            "type": {
              "fqn": "jsii-calc.ConfusingToJackson",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2723,
          },
          "name": "makeStructInstance",
          "returns": {
            "type": {
              "fqn": "jsii-calc.ConfusingToJacksonStruct",
            },
          },
          "static": true,
        },
      ],
      "name": "ConfusingToJackson",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2727,
          },
          "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",
                  },
                },
              ],
            },
          },
        },
      ],
      "symbolId": "lib/compliance:ConfusingToJackson",
    },
    "jsii-calc.ConfusingToJacksonStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ConfusingToJacksonStruct",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2731,
      },
      "name": "ConfusingToJacksonStruct",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2732,
          },
          "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",
                  },
                },
              ],
            },
          },
        },
      ],
      "symbolId": "lib/compliance:ConfusingToJacksonStruct",
    },
    "jsii-calc.ConstructorPassesThisOut": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ConstructorPassesThisOut",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 1905,
        },
        "parameters": [
          {
            "name": "consumer",
            "type": {
              "fqn": "jsii-calc.PartiallyInitializedThisConsumer",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1904,
      },
      "name": "ConstructorPassesThisOut",
      "symbolId": "lib/compliance:ConstructorPassesThisOut",
    },
    "jsii-calc.Constructors": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.Constructors",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1648,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1665,
          },
          "name": "hiddenInterface",
          "returns": {
            "type": {
              "fqn": "jsii-calc.IPublicInterface",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1669,
          },
          "name": "hiddenInterfaces",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "jsii-calc.IPublicInterface",
                },
                "kind": "array",
              },
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1673,
          },
          "name": "hiddenSubInterfaces",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "jsii-calc.IPublicInterface",
                },
                "kind": "array",
              },
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1649,
          },
          "name": "makeClass",
          "returns": {
            "type": {
              "fqn": "jsii-calc.PublicClass",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1653,
          },
          "name": "makeInterface",
          "returns": {
            "type": {
              "fqn": "jsii-calc.IPublicInterface",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1657,
          },
          "name": "makeInterface2",
          "returns": {
            "type": {
              "fqn": "jsii-calc.IPublicInterface2",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1661,
          },
          "name": "makeInterfaces",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "jsii-calc.IPublicInterface",
                },
                "kind": "array",
              },
            },
          },
          "static": true,
        },
      ],
      "name": "Constructors",
      "symbolId": "lib/compliance:Constructors",
    },
    "jsii-calc.ConsumePureInterface": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ConsumePureInterface",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 2742,
        },
        "parameters": [
          {
            "name": "delegate",
            "type": {
              "fqn": "jsii-calc.IStructReturningDelegate",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2741,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2744,
          },
          "name": "workItBaby",
          "returns": {
            "type": {
              "fqn": "jsii-calc.StructB",
            },
          },
        },
      ],
      "name": "ConsumePureInterface",
      "symbolId": "lib/compliance:ConsumePureInterface",
    },
    "jsii-calc.ConsumerCanRingBell": {
      "assembly": "jsii-calc",
      "docs": {
        "remarks": "Check that if a JSII consumer implements IConsumerWithInterfaceParam, they can call
the method on the argument that they're passed...",
        "stability": "stable",
        "summary": "Test calling back to consumers that implement interfaces.",
      },
      "fqn": "jsii-calc.ConsumerCanRingBell",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2384,
      },
      "methods": [
        {
          "docs": {
            "remarks": "Returns whether the bell was rung.",
            "stability": "stable",
            "summary": "...if the interface is implemented using an object literal.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2390,
          },
          "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": "stable",
            "summary": "...if the interface is implemented using a private class.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2416,
          },
          "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": "stable",
            "summary": "...if the interface is implemented using a public class.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2405,
          },
          "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": "stable",
            "summary": "If the parameter is a concrete class instead of an interface.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2427,
          },
          "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": "stable",
            "summary": "...if the interface is implemented using an object literal.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2437,
          },
          "name": "implementedByObjectLiteral",
          "parameters": [
            {
              "name": "ringer",
              "type": {
                "fqn": "jsii-calc.IBellRinger",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
        },
        {
          "docs": {
            "remarks": "Return whether the bell was rung.",
            "stability": "stable",
            "summary": "...if the interface is implemented using a private class.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2463,
          },
          "name": "implementedByPrivateClass",
          "parameters": [
            {
              "name": "ringer",
              "type": {
                "fqn": "jsii-calc.IBellRinger",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
        },
        {
          "docs": {
            "remarks": "Return whether the bell was rung.",
            "stability": "stable",
            "summary": "...if the interface is implemented using a public class.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2452,
          },
          "name": "implementedByPublicClass",
          "parameters": [
            {
              "name": "ringer",
              "type": {
                "fqn": "jsii-calc.IBellRinger",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
        },
        {
          "docs": {
            "remarks": "Return whether the bell was rung.",
            "stability": "stable",
            "summary": "If the parameter is a concrete class instead of an interface.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2474,
          },
          "name": "whenTypedAsClass",
          "parameters": [
            {
              "name": "ringer",
              "type": {
                "fqn": "jsii-calc.IConcreteBellRinger",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
        },
      ],
      "name": "ConsumerCanRingBell",
      "symbolId": "lib/compliance:ConsumerCanRingBell",
    },
    "jsii-calc.ConsumersOfThisCrazyTypeSystem": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ConsumersOfThisCrazyTypeSystem",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1883,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1884,
          },
          "name": "consumeAnotherPublicInterface",
          "parameters": [
            {
              "name": "obj",
              "type": {
                "fqn": "jsii-calc.IAnotherPublicInterface",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1888,
          },
          "name": "consumeNonInternalInterface",
          "parameters": [
            {
              "name": "obj",
              "type": {
                "fqn": "jsii-calc.INonInternalInterface",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
        },
      ],
      "name": "ConsumersOfThisCrazyTypeSystem",
      "symbolId": "lib/compliance:ConsumersOfThisCrazyTypeSystem",
    },
    "jsii-calc.ContainerProps": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ContainerProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/container-types.ts",
        "line": 10,
      },
      "name": "ContainerProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/container-types.ts",
            "line": 11,
          },
          "name": "arrayProp",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "jsii-calc.DummyObj",
              },
              "kind": "array",
            },
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/container-types.ts",
            "line": 13,
          },
          "name": "objProp",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "jsii-calc.DummyObj",
              },
              "kind": "map",
            },
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/container-types.ts",
            "line": 12,
          },
          "name": "recordProp",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "jsii-calc.DummyObj",
              },
              "kind": "map",
            },
          },
        },
      ],
      "symbolId": "lib/container-types:ContainerProps",
    },
    "jsii-calc.DataRenderer": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Verifies proper type handling through dynamic overrides.",
      },
      "fqn": "jsii-calc.DataRenderer",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2044,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2045,
          },
          "name": "render",
          "parameters": [
            {
              "name": "data",
              "optional": true,
              "type": {
                "fqn": "@scope/jsii-calc-lib.MyFirstStruct",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2051,
          },
          "name": "renderArbitrary",
          "parameters": [
            {
              "name": "data",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "any",
                  },
                  "kind": "map",
                },
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2055,
          },
          "name": "renderMap",
          "parameters": [
            {
              "name": "map",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "any",
                  },
                  "kind": "map",
                },
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "DataRenderer",
      "symbolId": "lib/compliance:DataRenderer",
    },
    "jsii-calc.Default": {
      "assembly": "jsii-calc",
      "docs": {
        "see": "https://github.com/aws/jsii/issues/2637",
        "stability": "stable",
        "summary": "A class named "Default".",
      },
      "fqn": "jsii-calc.Default",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 3029,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3030,
          },
          "name": "pleaseCompile",
        },
      ],
      "name": "Default",
      "symbolId": "lib/compliance:Default",
    },
    "jsii-calc.DefaultedConstructorArgument": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.DefaultedConstructorArgument",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 319,
          },
          "name": "arg1",
          "type": {
            "primitive": "number",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 321,
          },
          "name": "arg3",
          "type": {
            "primitive": "date",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 320,
          },
          "name": "arg2",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:DefaultedConstructorArgument",
    },
    "jsii-calc.Demonstrate982": {
      "assembly": "jsii-calc",
      "docs": {
        "remarks": "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": "stable",
        "summary": "1.",
      },
      "fqn": "jsii-calc.Demonstrate982",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2586,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "summary": "It's dangerous to go alone!",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2593,
          },
          "name": "takeThis",
          "returns": {
            "type": {
              "fqn": "jsii-calc.ChildStruct982",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "It's dangerous to go alone!",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2598,
          },
          "name": "takeThisToo",
          "returns": {
            "type": {
              "fqn": "jsii-calc.ParentStruct982",
            },
          },
          "static": true,
        },
      ],
      "name": "Demonstrate982",
      "symbolId": "lib/compliance: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",
          },
        },
      ],
      "symbolId": "lib/stability:DeprecatedClass",
    },
    "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",
      "symbolId": "lib/stability: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",
          },
        },
      ],
      "symbolId": "lib/stability:DeprecatedStruct",
    },
    "jsii-calc.DerivedClassHasNoProperties.Base": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.DerivedClassHasNoProperties.Base",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 326,
      },
      "name": "Base",
      "namespace": "DerivedClassHasNoProperties",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 327,
          },
          "name": "prop",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:DerivedClassHasNoProperties.Base",
    },
    "jsii-calc.DerivedClassHasNoProperties.Derived": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.DerivedClassHasNoProperties.Base",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.DerivedClassHasNoProperties.Derived",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 330,
      },
      "name": "Derived",
      "namespace": "DerivedClassHasNoProperties",
      "symbolId": "lib/compliance:DerivedClassHasNoProperties.Derived",
    },
    "jsii-calc.DerivedStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
        "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 547,
          },
          "name": "anotherRequired",
          "type": {
            "primitive": "date",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 546,
          },
          "name": "bool",
          "type": {
            "primitive": "boolean",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "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": "stable",
            "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.NumericValue",
              },
              "kind": "map",
            },
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 549,
          },
          "name": "optionalAny",
          "optional": true,
          "type": {
            "primitive": "any",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 548,
          },
          "name": "optionalArray",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string",
              },
              "kind": "array",
            },
          },
        },
      ],
      "symbolId": "lib/compliance:DerivedStruct",
    },
    "jsii-calc.DiamondBottom": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.DiamondBottom",
      "interfaces": [
        "@scope/jsii-calc-lib.DiamondLeft",
        "@scope/jsii-calc-lib.DiamondRight",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/duplicate-inherited-prop.ts",
        "line": 7,
      },
      "name": "DiamondBottom",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/duplicate-inherited-prop.ts",
            "line": 8,
          },
          "name": "bottom",
          "optional": true,
          "type": {
            "primitive": "date",
          },
        },
      ],
      "symbolId": "lib/duplicate-inherited-prop:DiamondBottom",
    },
    "jsii-calc.DiamondInheritanceBaseLevelStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.DiamondInheritanceBaseLevelStruct",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2089,
      },
      "name": "DiamondInheritanceBaseLevelStruct",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2090,
          },
          "name": "baseLevelProperty",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:DiamondInheritanceBaseLevelStruct",
    },
    "jsii-calc.DiamondInheritanceFirstMidLevelStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.DiamondInheritanceFirstMidLevelStruct",
      "interfaces": [
        "jsii-calc.DiamondInheritanceBaseLevelStruct",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2093,
      },
      "name": "DiamondInheritanceFirstMidLevelStruct",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2095,
          },
          "name": "firstMidLevelProperty",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:DiamondInheritanceFirstMidLevelStruct",
    },
    "jsii-calc.DiamondInheritanceSecondMidLevelStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.DiamondInheritanceSecondMidLevelStruct",
      "interfaces": [
        "jsii-calc.DiamondInheritanceBaseLevelStruct",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2098,
      },
      "name": "DiamondInheritanceSecondMidLevelStruct",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2100,
          },
          "name": "secondMidLevelProperty",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:DiamondInheritanceSecondMidLevelStruct",
    },
    "jsii-calc.DiamondInheritanceTopLevelStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.DiamondInheritanceTopLevelStruct",
      "interfaces": [
        "jsii-calc.DiamondInheritanceFirstMidLevelStruct",
        "jsii-calc.DiamondInheritanceSecondMidLevelStruct",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2103,
      },
      "name": "DiamondInheritanceTopLevelStruct",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2106,
          },
          "name": "topLevelProperty",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:DiamondInheritanceTopLevelStruct",
    },
    "jsii-calc.DisappointingCollectionSource": {
      "assembly": "jsii-calc",
      "docs": {
        "remarks": "This source of collections is disappointing - it'll always give you nothing :(",
        "stability": "stable",
        "summary": "Verifies that null/undefined can be returned for optional collections.",
      },
      "fqn": "jsii-calc.DisappointingCollectionSource",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2608,
      },
      "name": "DisappointingCollectionSource",
      "properties": [
        {
          "const": true,
          "docs": {
            "remarks": "(Nah, just a billion dollars mistake!)",
            "stability": "stable",
            "summary": "Some List of strings, maybe?",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2610,
          },
          "name": "maybeList",
          "optional": true,
          "static": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string",
              },
              "kind": "array",
            },
          },
        },
        {
          "const": true,
          "docs": {
            "remarks": "(Nah, just a billion dollars mistake!)",
            "stability": "stable",
            "summary": "Some Map of strings to numbers, maybe?",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2612,
          },
          "name": "maybeMap",
          "optional": true,
          "static": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "number",
              },
              "kind": "map",
            },
          },
        },
      ],
      "symbolId": "lib/compliance:DisappointingCollectionSource",
    },
    "jsii-calc.DoNotOverridePrivates": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.DoNotOverridePrivates",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1355,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1370,
          },
          "name": "changePrivatePropertyValue",
          "parameters": [
            {
              "name": "newValue",
              "type": {
                "primitive": "string",
              },
            },
          ],
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1362,
          },
          "name": "privateMethodValue",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1366,
          },
          "name": "privatePropertyValue",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "DoNotOverridePrivates",
      "symbolId": "lib/compliance:DoNotOverridePrivates",
    },
    "jsii-calc.DoNotRecognizeAnyAsOptional": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "jsii#284: do not recognize "any" as an optional argument.",
      },
      "fqn": "jsii-calc.DoNotRecognizeAnyAsOptional",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1412,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1413,
          },
          "name": "method",
          "parameters": [
            {
              "name": "_requiredAny",
              "type": {
                "primitive": "any",
              },
            },
            {
              "name": "_optionalAny",
              "optional": true,
              "type": {
                "primitive": "any",
              },
            },
            {
              "name": "_optionalString",
              "optional": true,
              "type": {
                "primitive": "string",
              },
            },
          ],
        },
      ],
      "name": "DoNotRecognizeAnyAsOptional",
      "symbolId": "lib/compliance:DoNotRecognizeAnyAsOptional",
    },
    "jsii-calc.DocumentedClass": {
      "assembly": "jsii-calc",
      "docs": {
        "example": "const x = 12 + 44;
const s1 = "string";
const s2 = "string \\nwith new newlines"; // see https://github.com/aws/jsii/issues/2569
const s3 = \`string
            with
            new lines\`;",
        "remarks": "This is the meat of the TSDoc comment. It may contain
multiple lines and multiple paragraphs.

Multiple 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": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/documented.ts",
        "line": 18,
      },
      "methods": [
        {
          "docs": {
            "remarks": "This will print out a friendly greeting intended for the indicated person.",
            "returns": "A number that everyone knows very well and represents the answer
to the ultimate question",
            "stability": "stable",
            "summary": "Greet the indicated person.",
          },
          "locationInModule": {
            "filename": "lib/documented.ts",
            "line": 28,
          },
          "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": 38,
          },
          "name": "hola",
        },
      ],
      "name": "DocumentedClass",
      "symbolId": "lib/documented:DocumentedClass",
    },
    "jsii-calc.DontComplainAboutVariadicAfterOptional": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.DontComplainAboutVariadicAfterOptional",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1489,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1490,
          },
          "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",
      "symbolId": "lib/compliance:DontComplainAboutVariadicAfterOptional",
    },
    "jsii-calc.DoubleTrouble": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.DoubleTrouble",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.IFriendlyRandomGenerator",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 485,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Say hello!",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 490,
          },
          "name": "hello",
          "overrides": "@scope/jsii-calc-lib.IFriendly",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Returns another random number.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 486,
          },
          "name": "next",
          "overrides": "jsii-calc.IRandomNumberGenerator",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
      ],
      "name": "DoubleTrouble",
      "symbolId": "lib/compliance:DoubleTrouble",
    },
    "jsii-calc.DummyObj": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.DummyObj",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/container-types.ts",
        "line": 16,
      },
      "name": "DummyObj",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/container-types.ts",
            "line": 17,
          },
          "name": "example",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/container-types:DummyObj",
    },
    "jsii-calc.DynamicPropertyBearer": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Ensures we can override a dynamic property that was inherited.",
      },
      "fqn": "jsii-calc.DynamicPropertyBearer",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 2870,
        },
        "parameters": [
          {
            "name": "valueStore",
            "type": {
              "primitive": "string",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2869,
      },
      "name": "DynamicPropertyBearer",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2872,
          },
          "name": "dynamicProperty",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2870,
          },
          "name": "valueStore",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:DynamicPropertyBearer",
    },
    "jsii-calc.DynamicPropertyBearerChild": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.DynamicPropertyBearer",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.DynamicPropertyBearerChild",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 2881,
        },
        "parameters": [
          {
            "name": "originalValue",
            "type": {
              "primitive": "string",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2880,
      },
      "methods": [
        {
          "docs": {
            "returns": "the old value that was set.",
            "stability": "stable",
            "summary": "Sets \`this.dynamicProperty\` to the new value, and returns the old value.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2892,
          },
          "name": "overrideValue",
          "parameters": [
            {
              "docs": {
                "summary": "the new value to be set.",
              },
              "name": "newValue",
              "type": {
                "primitive": "string",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "DynamicPropertyBearerChild",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2881,
          },
          "name": "originalValue",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:DynamicPropertyBearerChild",
    },
    "jsii-calc.Entropy": {
      "abstract": true,
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "This class is used to validate that serialization and deserialization does not interpret ISO-8601-formatted timestampts to the native date/time object, as the jsii protocol has a $jsii$date wrapper for this purpose (node's JSON parsing does *NOT* detect dates automatically in this way, so host libraries should not either).",
      },
      "fqn": "jsii-calc.Entropy",
      "initializer": {
        "docs": {
          "stability": "stable",
          "summary": "Creates a new instance of Entropy.",
        },
        "locationInModule": {
          "filename": "lib/date.ts",
          "line": 14,
        },
        "parameters": [
          {
            "docs": {
              "summary": "your implementation of \`WallClock\`.",
            },
            "name": "clock",
            "type": {
              "fqn": "jsii-calc.IWallClock",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/date.ts",
        "line": 8,
      },
      "methods": [
        {
          "docs": {
            "returns": "the time from the \`WallClock\`.",
            "stability": "stable",
            "summary": "Increases entropy by consuming time from the clock (yes, this is a long shot, please don't judge).",
          },
          "locationInModule": {
            "filename": "lib/date.ts",
            "line": 22,
          },
          "name": "increase",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "abstract": true,
          "docs": {
            "returns": "\`word\`.",
            "stability": "stable",
            "summary": "Implement this method such that it returns \`word\`.",
          },
          "locationInModule": {
            "filename": "lib/date.ts",
            "line": 47,
          },
          "name": "repeat",
          "parameters": [
            {
              "docs": {
                "summary": "the value to return.",
              },
              "name": "word",
              "type": {
                "primitive": "string",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "Entropy",
      "symbolId": "lib/date:Entropy",
    },
    "jsii-calc.EnumDispenser": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.EnumDispenser",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 45,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 51,
          },
          "name": "randomIntegerLikeEnum",
          "returns": {
            "type": {
              "fqn": "jsii-calc.AllTypesEnum",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 46,
          },
          "name": "randomStringLikeEnum",
          "returns": {
            "type": {
              "fqn": "jsii-calc.StringEnum",
            },
          },
          "static": true,
        },
      ],
      "name": "EnumDispenser",
      "symbolId": "lib/compliance:EnumDispenser",
    },
    "jsii-calc.EraseUndefinedHashValues": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.EraseUndefinedHashValues",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1704,
      },
      "methods": [
        {
          "docs": {
            "remarks": "Used to check that undefined/null hash values
are being erased when sending values from native code to JS.",
            "stability": "stable",
            "summary": "Returns \`true\` if \`key\` is defined in \`opts\`.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1709,
          },
          "name": "doesKeyExist",
          "parameters": [
            {
              "name": "opts",
              "type": {
                "fqn": "jsii-calc.EraseUndefinedHashValuesOptions",
              },
            },
            {
              "name": "key",
              "type": {
                "primitive": "string",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "We expect "prop1" to be erased.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1729,
          },
          "name": "prop1IsNull",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "any",
                },
                "kind": "map",
              },
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "We expect "prop2" to be erased.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1719,
          },
          "name": "prop2IsUndefined",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "any",
                },
                "kind": "map",
              },
            },
          },
          "static": true,
        },
      ],
      "name": "EraseUndefinedHashValues",
      "symbolId": "lib/compliance:EraseUndefinedHashValues",
    },
    "jsii-calc.EraseUndefinedHashValuesOptions": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.EraseUndefinedHashValuesOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1699,
      },
      "name": "EraseUndefinedHashValuesOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1700,
          },
          "name": "option1",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1701,
          },
          "name": "option2",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:EraseUndefinedHashValuesOptions",
    },
    "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",
          },
        },
      ],
      "symbolId": "lib/stability:ExperimentalClass",
    },
    "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",
      "symbolId": "lib/stability: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",
          },
        },
      ],
      "symbolId": "lib/stability:ExperimentalStruct",
    },
    "jsii-calc.ExportedBaseClass": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ExportedBaseClass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 1575,
        },
        "parameters": [
          {
            "name": "success",
            "type": {
              "primitive": "boolean",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1574,
      },
      "name": "ExportedBaseClass",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1575,
          },
          "name": "success",
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/compliance:ExportedBaseClass",
    },
    "jsii-calc.ExtendsInternalInterface": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ExtendsInternalInterface",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1818,
      },
      "name": "ExtendsInternalInterface",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1819,
          },
          "name": "boom",
          "type": {
            "primitive": "boolean",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1759,
          },
          "name": "prop",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:ExtendsInternalInterface",
    },
    "jsii-calc.ExternalClass": {
      "assembly": "jsii-calc",
      "docs": {
        "custom": {
          "external": "true",
        },
        "stability": "stable",
      },
      "fqn": "jsii-calc.ExternalClass",
      "initializer": {
        "docs": {
          "custom": {
            "external": "true",
          },
          "stability": "stable",
        },
        "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": "stable",
          },
          "locationInModule": {
            "filename": "lib/stability.ts",
            "line": 136,
          },
          "name": "method",
        },
      ],
      "name": "ExternalClass",
      "properties": [
        {
          "docs": {
            "custom": {
              "external": "true",
            },
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/stability.ts",
            "line": 127,
          },
          "name": "readonlyProperty",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "custom": {
              "external": "true",
            },
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/stability.ts",
            "line": 129,
          },
          "name": "mutableProperty",
          "optional": true,
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/stability:ExternalClass",
    },
    "jsii-calc.ExternalEnum": {
      "assembly": "jsii-calc",
      "docs": {
        "custom": {
          "external": "true",
        },
        "stability": "stable",
      },
      "fqn": "jsii-calc.ExternalEnum",
      "kind": "enum",
      "locationInModule": {
        "filename": "lib/stability.ts",
        "line": 141,
      },
      "members": [
        {
          "docs": {
            "custom": {
              "external": "true",
            },
            "stability": "stable",
          },
          "name": "OPTION_A",
        },
        {
          "docs": {
            "custom": {
              "external": "true",
            },
            "stability": "stable",
          },
          "name": "OPTION_B",
        },
      ],
      "name": "ExternalEnum",
      "symbolId": "lib/stability:ExternalEnum",
    },
    "jsii-calc.ExternalStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "custom": {
          "external": "true",
        },
        "stability": "stable",
      },
      "fqn": "jsii-calc.ExternalStruct",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/stability.ts",
        "line": 113,
      },
      "name": "ExternalStruct",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "external": "true",
            },
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/stability.ts",
            "line": 115,
          },
          "name": "readonlyProperty",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/stability:ExternalStruct",
    },
    "jsii-calc.FullCombo": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.BaseClass",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.FullCombo",
      "interfaces": [
        "jsii-calc.IIndirectlyImplemented",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/indirect-implementation.ts",
        "line": 16,
      },
      "name": "FullCombo",
      "symbolId": "lib/indirect-implementation:FullCombo",
    },
    "jsii-calc.GiveMeStructs": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.GiveMeStructs",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 556,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "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": "stable",
            "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": "stable",
            "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 578,
          },
          "name": "structLiteral",
          "type": {
            "fqn": "@scope/jsii-calc-lib.StructWithOnlyOptionals",
          },
        },
      ],
      "symbolId": "lib/compliance:GiveMeStructs",
    },
    "jsii-calc.Greetee": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
        "summary": "These are some arguments you can pass to a method.",
      },
      "fqn": "jsii-calc.Greetee",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/documented.ts",
        "line": 46,
      },
      "name": "Greetee",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "world",
            "stability": "stable",
            "summary": "The name of the greetee.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/documented.ts",
            "line": 52,
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/documented:Greetee",
    },
    "jsii-calc.GreetingAugmenter": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.GreetingAugmenter",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 532,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "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",
      "symbolId": "lib/compliance:GreetingAugmenter",
    },
    "jsii-calc.IAnonymousImplementationProvider": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "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": 2271,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2273,
          },
          "name": "provideAsClass",
          "returns": {
            "type": {
              "fqn": "jsii-calc.Implementation",
            },
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2272,
          },
          "name": "provideAsInterface",
          "returns": {
            "type": {
              "fqn": "jsii-calc.IAnonymouslyImplementMe",
            },
          },
        },
      ],
      "name": "IAnonymousImplementationProvider",
      "symbolId": "lib/compliance:IAnonymousImplementationProvider",
    },
    "jsii-calc.IAnonymouslyImplementMe": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IAnonymouslyImplementMe",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2291,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2293,
          },
          "name": "verb",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "IAnonymouslyImplementMe",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2292,
          },
          "name": "value",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/compliance:IAnonymouslyImplementMe",
    },
    "jsii-calc.IAnotherPublicInterface": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IAnotherPublicInterface",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1839,
      },
      "name": "IAnotherPublicInterface",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1840,
          },
          "name": "a",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:IAnotherPublicInterface",
    },
    "jsii-calc.IBell": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IBell",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2495,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2496,
          },
          "name": "ring",
        },
      ],
      "name": "IBell",
      "symbolId": "lib/compliance:IBell",
    },
    "jsii-calc.IBellRinger": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Takes the object parameter as an interface.",
      },
      "fqn": "jsii-calc.IBellRinger",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2484,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2485,
          },
          "name": "yourTurn",
          "parameters": [
            {
              "name": "bell",
              "type": {
                "fqn": "jsii-calc.IBell",
              },
            },
          ],
        },
      ],
      "name": "IBellRinger",
      "symbolId": "lib/compliance:IBellRinger",
    },
    "jsii-calc.IConcreteBellRinger": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Takes the object parameter as a calss.",
      },
      "fqn": "jsii-calc.IConcreteBellRinger",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2491,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2492,
          },
          "name": "yourTurn",
          "parameters": [
            {
              "name": "bell",
              "type": {
                "fqn": "jsii-calc.Bell",
              },
            },
          ],
        },
      ],
      "name": "IConcreteBellRinger",
      "symbolId": "lib/compliance: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",
          },
        },
      ],
      "symbolId": "lib/stability:IDeprecatedInterface",
    },
    "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",
          },
        },
      ],
      "symbolId": "lib/stability:IExperimentalInterface",
    },
    "jsii-calc.IExtendsPrivateInterface": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IExtendsPrivateInterface",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1830,
      },
      "name": "IExtendsPrivateInterface",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1831,
          },
          "name": "moreThings",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string",
              },
              "kind": "array",
            },
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1815,
          },
          "name": "private",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:IExtendsPrivateInterface",
    },
    "jsii-calc.IExternalInterface": {
      "assembly": "jsii-calc",
      "docs": {
        "custom": {
          "external": "true",
        },
        "stability": "stable",
      },
      "fqn": "jsii-calc.IExternalInterface",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/stability.ts",
        "line": 118,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "external": "true",
            },
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/stability.ts",
            "line": 122,
          },
          "name": "method",
        },
      ],
      "name": "IExternalInterface",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "external": "true",
            },
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/stability.ts",
            "line": 120,
          },
          "name": "mutableProperty",
          "optional": true,
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/stability:IExternalInterface",
    },
    "jsii-calc.IFriendlier": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "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": 16,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Say farewell.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 26,
          },
          "name": "farewell",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "abstract": true,
          "docs": {
            "returns": "A goodbye blessing.",
            "stability": "stable",
            "summary": "Say goodbye.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 21,
          },
          "name": "goodbye",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "IFriendlier",
      "symbolId": "lib/calculator:IFriendlier",
    },
    "jsii-calc.IFriendlyRandomGenerator": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IFriendlyRandomGenerator",
      "interfaces": [
        "jsii-calc.IRandomNumberGenerator",
        "@scope/jsii-calc-lib.IFriendly",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 40,
      },
      "name": "IFriendlyRandomGenerator",
      "symbolId": "lib/calculator:IFriendlyRandomGenerator",
    },
    "jsii-calc.IIndirectlyImplemented": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IIndirectlyImplemented",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/indirect-implementation.ts",
        "line": 1,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/indirect-implementation.ts",
            "line": 3,
          },
          "name": "method",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
      ],
      "name": "IIndirectlyImplemented",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/indirect-implementation.ts",
            "line": 2,
          },
          "name": "property",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/indirect-implementation:IIndirectlyImplemented",
    },
    "jsii-calc.IInterfaceImplementedByAbstractClass": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "awslabs/jsii#220 Abstract return type.",
      },
      "fqn": "jsii-calc.IInterfaceImplementedByAbstractClass",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1298,
      },
      "name": "IInterfaceImplementedByAbstractClass",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1299,
          },
          "name": "propFromInterface",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:IInterfaceImplementedByAbstractClass",
    },
    "jsii-calc.IInterfaceThatShouldNotBeADataType": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "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": 1404,
      },
      "name": "IInterfaceThatShouldNotBeADataType",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1406,
          },
          "name": "otherValue",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:IInterfaceThatShouldNotBeADataType",
    },
    "jsii-calc.IInterfaceWithInternal": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IInterfaceWithInternal",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1770,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1771,
          },
          "name": "visible",
        },
      ],
      "name": "IInterfaceWithInternal",
      "symbolId": "lib/compliance:IInterfaceWithInternal",
    },
    "jsii-calc.IInterfaceWithMethods": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IInterfaceWithMethods",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1394,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1397,
          },
          "name": "doThings",
        },
      ],
      "name": "IInterfaceWithMethods",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1395,
          },
          "name": "value",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:IInterfaceWithMethods",
    },
    "jsii-calc.IInterfaceWithOptionalMethodArguments": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "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": 1276,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1277,
          },
          "name": "hello",
          "parameters": [
            {
              "name": "arg1",
              "type": {
                "primitive": "string",
              },
            },
            {
              "name": "arg2",
              "optional": true,
              "type": {
                "primitive": "number",
              },
            },
          ],
        },
      ],
      "name": "IInterfaceWithOptionalMethodArguments",
      "symbolId": "lib/compliance:IInterfaceWithOptionalMethodArguments",
    },
    "jsii-calc.IInterfaceWithProperties": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IInterfaceWithProperties",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 586,
      },
      "name": "IInterfaceWithProperties",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 587,
          },
          "name": "readOnlyString",
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 588,
          },
          "name": "readWriteString",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:IInterfaceWithProperties",
    },
    "jsii-calc.IInterfaceWithPropertiesExtension": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IInterfaceWithPropertiesExtension",
      "interfaces": [
        "jsii-calc.IInterfaceWithProperties",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 591,
      },
      "name": "IInterfaceWithPropertiesExtension",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 593,
          },
          "name": "foo",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/compliance:IInterfaceWithPropertiesExtension",
    },
    "jsii-calc.IJSII417Derived": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IJSII417Derived",
      "interfaces": [
        "jsii-calc.IJSII417PublicBaseOfBase",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/erasures.ts",
        "line": 43,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/erasures.ts",
            "line": 41,
          },
          "name": "bar",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/erasures.ts",
            "line": 44,
          },
          "name": "baz",
        },
      ],
      "name": "IJSII417Derived",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/erasures.ts",
            "line": 40,
          },
          "name": "property",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/erasures:IJSII417Derived",
    },
    "jsii-calc.IJSII417PublicBaseOfBase": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IJSII417PublicBaseOfBase",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/erasures.ts",
        "line": 36,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/erasures.ts",
            "line": 37,
          },
          "name": "foo",
        },
      ],
      "name": "IJSII417PublicBaseOfBase",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/erasures.ts",
            "line": 34,
          },
          "name": "hasRoot",
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/erasures:IJSII417PublicBaseOfBase",
    },
    "jsii-calc.IJavaReservedWordsInAnInterface": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IJavaReservedWordsInAnInterface",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 958,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 959,
          },
          "name": "abstract",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 960,
          },
          "name": "assert",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 961,
          },
          "name": "boolean",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 962,
          },
          "name": "break",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 963,
          },
          "name": "byte",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 964,
          },
          "name": "case",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 965,
          },
          "name": "catch",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 966,
          },
          "name": "char",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 967,
          },
          "name": "class",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 968,
          },
          "name": "const",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 969,
          },
          "name": "continue",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 970,
          },
          "name": "default",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 972,
          },
          "name": "do",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 971,
          },
          "name": "double",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 973,
          },
          "name": "else",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 974,
          },
          "name": "enum",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 975,
          },
          "name": "extends",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 976,
          },
          "name": "false",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 977,
          },
          "name": "final",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 978,
          },
          "name": "finally",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 979,
          },
          "name": "float",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 980,
          },
          "name": "for",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 981,
          },
          "name": "goto",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 982,
          },
          "name": "if",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 983,
          },
          "name": "implements",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 984,
          },
          "name": "import",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 985,
          },
          "name": "instanceof",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 986,
          },
          "name": "int",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 987,
          },
          "name": "interface",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 988,
          },
          "name": "long",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 989,
          },
          "name": "native",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 990,
          },
          "name": "null",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 991,
          },
          "name": "package",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 992,
          },
          "name": "private",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 993,
          },
          "name": "protected",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 994,
          },
          "name": "public",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 995,
          },
          "name": "return",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 996,
          },
          "name": "short",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 997,
          },
          "name": "static",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 998,
          },
          "name": "strictfp",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 999,
          },
          "name": "super",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1000,
          },
          "name": "switch",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1001,
          },
          "name": "synchronized",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1002,
          },
          "name": "this",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1003,
          },
          "name": "throw",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1004,
          },
          "name": "throws",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1005,
          },
          "name": "transient",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1006,
          },
          "name": "true",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1007,
          },
          "name": "try",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1008,
          },
          "name": "void",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1009,
          },
          "name": "volatile",
        },
      ],
      "name": "IJavaReservedWordsInAnInterface",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1010,
          },
          "name": "while",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:IJavaReservedWordsInAnInterface",
    },
    "jsii-calc.IJsii487External": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IJsii487External",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/erasures.ts",
        "line": 52,
      },
      "name": "IJsii487External",
      "symbolId": "lib/erasures:IJsii487External",
    },
    "jsii-calc.IJsii487External2": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IJsii487External2",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/erasures.ts",
        "line": 54,
      },
      "name": "IJsii487External2",
      "symbolId": "lib/erasures:IJsii487External2",
    },
    "jsii-calc.IJsii496": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IJsii496",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/erasures.ts",
        "line": 65,
      },
      "name": "IJsii496",
      "symbolId": "lib/erasures:IJsii496",
    },
    "jsii-calc.IMutableObjectLiteral": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IMutableObjectLiteral",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1347,
      },
      "name": "IMutableObjectLiteral",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1348,
          },
          "name": "value",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:IMutableObjectLiteral",
    },
    "jsii-calc.INonInternalInterface": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.INonInternalInterface",
      "interfaces": [
        "jsii-calc.IAnotherPublicInterface",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1848,
      },
      "name": "INonInternalInterface",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1845,
          },
          "name": "b",
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1849,
          },
          "name": "c",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:INonInternalInterface",
    },
    "jsii-calc.IObjectWithProperty": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Make sure that setters are properly called on objects with interfaces.",
      },
      "fqn": "jsii-calc.IObjectWithProperty",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2620,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2622,
          },
          "name": "wasSet",
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
        },
      ],
      "name": "IObjectWithProperty",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2621,
          },
          "name": "property",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:IObjectWithProperty",
    },
    "jsii-calc.IOptionalMethod": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Checks that optional result from interface method code generates correctly.",
      },
      "fqn": "jsii-calc.IOptionalMethod",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2809,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2810,
          },
          "name": "optional",
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "IOptionalMethod",
      "symbolId": "lib/compliance:IOptionalMethod",
    },
    "jsii-calc.IPrivatelyImplemented": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IPrivatelyImplemented",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1571,
      },
      "name": "IPrivatelyImplemented",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1572,
          },
          "name": "success",
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/compliance:IPrivatelyImplemented",
    },
    "jsii-calc.IPublicInterface": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IPublicInterface",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1619,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1620,
          },
          "name": "bye",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "IPublicInterface",
      "symbolId": "lib/compliance:IPublicInterface",
    },
    "jsii-calc.IPublicInterface2": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IPublicInterface2",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1623,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1624,
          },
          "name": "ciao",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "IPublicInterface2",
      "symbolId": "lib/compliance:IPublicInterface2",
    },
    "jsii-calc.IRandomNumberGenerator": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Generates random numbers.",
      },
      "fqn": "jsii-calc.IRandomNumberGenerator",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 32,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "returns": "A random number.",
            "stability": "stable",
            "summary": "Returns another random number.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 37,
          },
          "name": "next",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
      ],
      "name": "IRandomNumberGenerator",
      "symbolId": "lib/calculator:IRandomNumberGenerator",
    },
    "jsii-calc.IReturnJsii976": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Returns a subclass of a known class which implements an interface.",
      },
      "fqn": "jsii-calc.IReturnJsii976",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2551,
      },
      "name": "IReturnJsii976",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2552,
          },
          "name": "foo",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/compliance:IReturnJsii976",
    },
    "jsii-calc.IReturnsNumber": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.IReturnsNumber",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 639,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 640,
          },
          "name": "obtainNumber",
          "returns": {
            "type": {
              "fqn": "@scope/jsii-calc-lib.IDoublable",
            },
          },
        },
      ],
      "name": "IReturnsNumber",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 642,
          },
          "name": "numberProp",
          "type": {
            "fqn": "@scope/jsii-calc-lib.Number",
          },
        },
      ],
      "symbolId": "lib/compliance:IReturnsNumber",
    },
    "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",
          },
        },
      ],
      "symbolId": "lib/stability:IStableInterface",
    },
    "jsii-calc.IStructReturningDelegate": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Verifies that a "pure" implementation of an interface works correctly.",
      },
      "fqn": "jsii-calc.IStructReturningDelegate",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2738,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2739,
          },
          "name": "returnStruct",
          "returns": {
            "type": {
              "fqn": "jsii-calc.StructB",
            },
          },
        },
      ],
      "name": "IStructReturningDelegate",
      "symbolId": "lib/compliance:IStructReturningDelegate",
    },
    "jsii-calc.IWallClock": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Implement this interface.",
      },
      "fqn": "jsii-calc.IWallClock",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/date.ts",
        "line": 53,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Returns the current time, formatted as an ISO-8601 string.",
          },
          "locationInModule": {
            "filename": "lib/date.ts",
            "line": 57,
          },
          "name": "iso8601Now",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "IWallClock",
      "symbolId": "lib/date:IWallClock",
    },
    "jsii-calc.ImplementInternalInterface": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ImplementInternalInterface",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1822,
      },
      "name": "ImplementInternalInterface",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1823,
          },
          "name": "prop",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:ImplementInternalInterface",
    },
    "jsii-calc.Implementation": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.Implementation",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2288,
      },
      "name": "Implementation",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2289,
          },
          "name": "value",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/compliance:Implementation",
    },
    "jsii-calc.ImplementsInterfaceWithInternal": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ImplementsInterfaceWithInternal",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.IInterfaceWithInternal",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1777,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1778,
          },
          "name": "visible",
          "overrides": "jsii-calc.IInterfaceWithInternal",
        },
      ],
      "name": "ImplementsInterfaceWithInternal",
      "symbolId": "lib/compliance:ImplementsInterfaceWithInternal",
    },
    "jsii-calc.ImplementsInterfaceWithInternalSubclass": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.ImplementsInterfaceWithInternal",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ImplementsInterfaceWithInternalSubclass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1796,
      },
      "name": "ImplementsInterfaceWithInternalSubclass",
      "symbolId": "lib/compliance:ImplementsInterfaceWithInternalSubclass",
    },
    "jsii-calc.ImplementsPrivateInterface": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ImplementsPrivateInterface",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1826,
      },
      "name": "ImplementsPrivateInterface",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1827,
          },
          "name": "private",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:ImplementsPrivateInterface",
    },
    "jsii-calc.ImplictBaseOfBase": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ImplictBaseOfBase",
      "interfaces": [
        "@scope/jsii-calc-base.BaseProps",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1232,
      },
      "name": "ImplictBaseOfBase",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1233,
          },
          "name": "goo",
          "type": {
            "primitive": "date",
          },
        },
      ],
      "symbolId": "lib/compliance:ImplictBaseOfBase",
    },
    "jsii-calc.InbetweenClass": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.PublicClass",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.InbetweenClass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.IPublicInterface2",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1626,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1627,
          },
          "name": "ciao",
          "overrides": "jsii-calc.IPublicInterface2",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "InbetweenClass",
      "symbolId": "lib/compliance:InbetweenClass",
    },
    "jsii-calc.InterfaceCollections": {
      "assembly": "jsii-calc",
      "docs": {
        "remarks": "See: https://github.com/aws/jsii/issues/1196",
        "stability": "stable",
        "summary": "Verifies that collections of interfaces or structs are correctly handled.",
      },
      "fqn": "jsii-calc.InterfaceCollections",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2772,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2783,
          },
          "name": "listOfInterfaces",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "jsii-calc.IBell",
                },
                "kind": "array",
              },
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2773,
          },
          "name": "listOfStructs",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "jsii-calc.StructA",
                },
                "kind": "array",
              },
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2793,
          },
          "name": "mapOfInterfaces",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "jsii-calc.IBell",
                },
                "kind": "map",
              },
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2777,
          },
          "name": "mapOfStructs",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "jsii-calc.StructA",
                },
                "kind": "map",
              },
            },
          },
          "static": true,
        },
      ],
      "name": "InterfaceCollections",
      "symbolId": "lib/compliance:InterfaceCollections",
    },
    "jsii-calc.InterfaceInNamespaceIncludesClasses.Foo": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.InterfaceInNamespaceIncludesClasses.Foo",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1263,
      },
      "name": "Foo",
      "namespace": "InterfaceInNamespaceIncludesClasses",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1264,
          },
          "name": "bar",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:InterfaceInNamespaceIncludesClasses.Foo",
    },
    "jsii-calc.InterfaceInNamespaceIncludesClasses.Hello": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.InterfaceInNamespaceIncludesClasses.Hello",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1267,
      },
      "name": "Hello",
      "namespace": "InterfaceInNamespaceIncludesClasses",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1268,
          },
          "name": "foo",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/compliance:InterfaceInNamespaceIncludesClasses.Hello",
    },
    "jsii-calc.InterfaceInNamespaceOnlyInterface.Hello": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.InterfaceInNamespaceOnlyInterface.Hello",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1257,
      },
      "name": "Hello",
      "namespace": "InterfaceInNamespaceOnlyInterface",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1258,
          },
          "name": "foo",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/compliance:InterfaceInNamespaceOnlyInterface.Hello",
    },
    "jsii-calc.InterfacesMaker": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "We can return arrays of interfaces See aws/aws-cdk#2362.",
      },
      "fqn": "jsii-calc.InterfacesMaker",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2159,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2160,
          },
          "name": "makeInterfaces",
          "parameters": [
            {
              "name": "count",
              "type": {
                "primitive": "number",
              },
            },
          ],
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "@scope/jsii-calc-lib.IDoublable",
                },
                "kind": "array",
              },
            },
          },
          "static": true,
        },
      ],
      "name": "InterfacesMaker",
      "symbolId": "lib/compliance:InterfacesMaker",
    },
    "jsii-calc.Isomorphism": {
      "abstract": true,
      "assembly": "jsii-calc",
      "docs": {
        "remarks": "Create a subclass of this, and assert that \`this.myself()\` actually returns
\`this\` from within the constructor.",
        "stability": "stable",
        "summary": "Checks the "same instance" isomorphism is preserved within the constructor.",
      },
      "fqn": "jsii-calc.Isomorphism",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2819,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2820,
          },
          "name": "myself",
          "returns": {
            "type": {
              "fqn": "jsii-calc.Isomorphism",
            },
          },
        },
      ],
      "name": "Isomorphism",
      "symbolId": "lib/compliance:Isomorphism",
    },
    "jsii-calc.Issue2638": {
      "assembly": "jsii-calc",
      "docs": {
        "see": "https://github.com/aws/jsii/issues/2638",
        "stability": "stable",
        "summary": "Docstrings with period.",
      },
      "fqn": "jsii-calc.Issue2638",
      "initializer": {
        "docs": {
          "remarks": "Second sentence. Third sentence.",
          "stability": "stable",
          "summary": "First sentence.",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 3013,
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 3009,
      },
      "name": "Issue2638",
      "symbolId": "lib/compliance:Issue2638",
    },
    "jsii-calc.Issue2638B": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.Issue2638B",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 3019,
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 3018,
      },
      "name": "Issue2638B",
      "symbolId": "lib/compliance:Issue2638B",
    },
    "jsii-calc.JSII417Derived": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.JSII417PublicBaseOfBase",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.JSII417Derived",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "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": "stable",
          },
          "locationInModule": {
            "filename": "lib/erasures.ts",
            "line": 25,
          },
          "name": "bar",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/erasures.ts",
            "line": 28,
          },
          "name": "baz",
        },
      ],
      "name": "JSII417Derived",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/erasures.ts",
            "line": 17,
          },
          "name": "property",
          "protected": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/erasures:JSII417Derived",
    },
    "jsii-calc.JSII417PublicBaseOfBase": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.JSII417PublicBaseOfBase",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/erasures.ts",
        "line": 8,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/erasures.ts",
            "line": 9,
          },
          "name": "makeInstance",
          "returns": {
            "type": {
              "fqn": "jsii-calc.JSII417PublicBaseOfBase",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/erasures.ts",
            "line": 12,
          },
          "name": "foo",
        },
      ],
      "name": "JSII417PublicBaseOfBase",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/erasures.ts",
            "line": 6,
          },
          "name": "hasRoot",
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/erasures:JSII417PublicBaseOfBase",
    },
    "jsii-calc.JSObjectLiteralForInterface": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.JSObjectLiteralForInterface",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 517,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 518,
          },
          "name": "giveMeFriendly",
          "returns": {
            "type": {
              "fqn": "@scope/jsii-calc-lib.IFriendly",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 524,
          },
          "name": "giveMeFriendlyGenerator",
          "returns": {
            "type": {
              "fqn": "jsii-calc.IFriendlyRandomGenerator",
            },
          },
        },
      ],
      "name": "JSObjectLiteralForInterface",
      "symbolId": "lib/compliance:JSObjectLiteralForInterface",
    },
    "jsii-calc.JSObjectLiteralToNative": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.JSObjectLiteralToNative",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 247,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 248,
          },
          "name": "returnLiteral",
          "returns": {
            "type": {
              "fqn": "jsii-calc.JSObjectLiteralToNativeClass",
            },
          },
        },
      ],
      "name": "JSObjectLiteralToNative",
      "symbolId": "lib/compliance:JSObjectLiteralToNative",
    },
    "jsii-calc.JSObjectLiteralToNativeClass": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.JSObjectLiteralToNativeClass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 256,
      },
      "name": "JSObjectLiteralToNativeClass",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 257,
          },
          "name": "propA",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 258,
          },
          "name": "propB",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/compliance:JSObjectLiteralToNativeClass",
    },
    "jsii-calc.JavaReservedWords": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.JavaReservedWords",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 745,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 746,
          },
          "name": "abstract",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 750,
          },
          "name": "assert",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 754,
          },
          "name": "boolean",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 758,
          },
          "name": "break",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 762,
          },
          "name": "byte",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 766,
          },
          "name": "case",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 770,
          },
          "name": "catch",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 774,
          },
          "name": "char",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 778,
          },
          "name": "class",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 782,
          },
          "name": "const",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 786,
          },
          "name": "continue",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 790,
          },
          "name": "default",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 798,
          },
          "name": "do",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 794,
          },
          "name": "double",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 802,
          },
          "name": "else",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 806,
          },
          "name": "enum",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 810,
          },
          "name": "extends",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 814,
          },
          "name": "false",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 818,
          },
          "name": "final",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 822,
          },
          "name": "finally",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 826,
          },
          "name": "float",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 830,
          },
          "name": "for",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 834,
          },
          "name": "goto",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 838,
          },
          "name": "if",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 842,
          },
          "name": "implements",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 846,
          },
          "name": "import",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 850,
          },
          "name": "instanceof",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 854,
          },
          "name": "int",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 858,
          },
          "name": "interface",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 862,
          },
          "name": "long",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 866,
          },
          "name": "native",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 870,
          },
          "name": "new",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 874,
          },
          "name": "null",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 878,
          },
          "name": "package",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 882,
          },
          "name": "private",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 886,
          },
          "name": "protected",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 890,
          },
          "name": "public",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 894,
          },
          "name": "return",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 898,
          },
          "name": "short",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 902,
          },
          "name": "static",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 906,
          },
          "name": "strictfp",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 910,
          },
          "name": "super",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 914,
          },
          "name": "switch",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 918,
          },
          "name": "synchronized",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 922,
          },
          "name": "this",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 926,
          },
          "name": "throw",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 930,
          },
          "name": "throws",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 934,
          },
          "name": "transient",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 938,
          },
          "name": "true",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 942,
          },
          "name": "try",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 946,
          },
          "name": "void",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 950,
          },
          "name": "volatile",
        },
      ],
      "name": "JavaReservedWords",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 954,
          },
          "name": "while",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:JavaReservedWords",
    },
    "jsii-calc.Jsii487Derived": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.Jsii487Derived",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.IJsii487External2",
        "jsii-calc.IJsii487External",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/erasures.ts",
        "line": 56,
      },
      "name": "Jsii487Derived",
      "symbolId": "lib/erasures:Jsii487Derived",
    },
    "jsii-calc.Jsii496Derived": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.Jsii496Derived",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.IJsii496",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/erasures.ts",
        "line": 67,
      },
      "name": "Jsii496Derived",
      "symbolId": "lib/erasures:Jsii496Derived",
    },
    "jsii-calc.JsiiAgent": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Host runtime version should be set via JSII_AGENT.",
      },
      "fqn": "jsii-calc.JsiiAgent",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1589,
      },
      "name": "JsiiAgent",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Returns the value of the JSII_AGENT environment variable.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1593,
          },
          "name": "value",
          "optional": true,
          "static": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:JsiiAgent",
    },
    "jsii-calc.JsonFormatter": {
      "assembly": "jsii-calc",
      "docs": {
        "see": "https://github.com/aws/aws-cdk/issues/5066",
        "stability": "stable",
        "summary": "Make sure structs are un-decorated on the way in.",
      },
      "fqn": "jsii-calc.JsonFormatter",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2653,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2698,
          },
          "name": "anyArray",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2694,
          },
          "name": "anyBooleanFalse",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2690,
          },
          "name": "anyBooleanTrue",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2670,
          },
          "name": "anyDate",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2686,
          },
          "name": "anyEmptyString",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2666,
          },
          "name": "anyFunction",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2702,
          },
          "name": "anyHash",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2658,
          },
          "name": "anyNull",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2674,
          },
          "name": "anyNumber",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2706,
          },
          "name": "anyRef",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2682,
          },
          "name": "anyString",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2662,
          },
          "name": "anyUndefined",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2678,
          },
          "name": "anyZero",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2654,
          },
          "name": "stringify",
          "parameters": [
            {
              "name": "value",
              "optional": true,
              "type": {
                "primitive": "any",
              },
            },
          ],
          "returns": {
            "optional": true,
            "type": {
              "primitive": "string",
            },
          },
          "static": true,
        },
      ],
      "name": "JsonFormatter",
      "symbolId": "lib/compliance:JsonFormatter",
    },
    "jsii-calc.LevelOne": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Validates that nested classes get correct code generation for the occasional forward reference.",
      },
      "fqn": "jsii-calc.LevelOne",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 2904,
        },
        "parameters": [
          {
            "name": "props",
            "type": {
              "fqn": "jsii-calc.LevelOneProps",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2903,
      },
      "name": "LevelOne",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2904,
          },
          "name": "props",
          "type": {
            "fqn": "jsii-calc.LevelOneProps",
          },
        },
      ],
      "symbolId": "lib/compliance:LevelOne",
    },
    "jsii-calc.LevelOne.PropBooleanValue": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.LevelOne.PropBooleanValue",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2914,
      },
      "name": "PropBooleanValue",
      "namespace": "LevelOne",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2915,
          },
          "name": "value",
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/compliance:LevelOne.PropBooleanValue",
    },
    "jsii-calc.LevelOne.PropProperty": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.LevelOne.PropProperty",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2910,
      },
      "name": "PropProperty",
      "namespace": "LevelOne",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2911,
          },
          "name": "prop",
          "type": {
            "fqn": "jsii-calc.LevelOne.PropBooleanValue",
          },
        },
      ],
      "symbolId": "lib/compliance:LevelOne.PropProperty",
    },
    "jsii-calc.LevelOneProps": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.LevelOneProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2906,
      },
      "name": "LevelOneProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2907,
          },
          "name": "prop",
          "type": {
            "fqn": "jsii-calc.LevelOne.PropProperty",
          },
        },
      ],
      "symbolId": "lib/compliance:LevelOneProps",
    },
    "jsii-calc.LoadBalancedFargateServiceProps": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
        "summary": "jsii#298: show default values in sphinx documentation, and respect newlines.",
      },
      "fqn": "jsii-calc.LoadBalancedFargateServiceProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1498,
      },
      "name": "LoadBalancedFargateServiceProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "80",
            "remarks": "Corresponds to container port mapping.",
            "stability": "stable",
            "summary": "The container port of the application load balancer attached to your Fargate service.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1541,
          },
          "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:
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.",
            "stability": "stable",
            "summary": "The number of cpu units used by the task.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1512,
          },
          "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
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.",
            "stability": "stable",
            "summary": "The amount (in MiB) of memory used by the task.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1534,
          },
          "name": "memoryMiB",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "stable",
            "summary": "Determines whether the Application Load Balancer will be internet-facing.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1548,
          },
          "name": "publicLoadBalancer",
          "optional": true,
          "type": {
            "primitive": "boolean",
          },
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "stable",
            "summary": "Determines whether your Fargate Service will be assigned a public IP address.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1555,
          },
          "name": "publicTasks",
          "optional": true,
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/compliance:LoadBalancedFargateServiceProps",
    },
    "jsii-calc.MethodNamedProperty": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.MethodNamedProperty",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 408,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 409,
          },
          "name": "property",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "MethodNamedProperty",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 413,
          },
          "name": "elite",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/calculator:MethodNamedProperty",
    },
    "jsii-calc.Multiply": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.BinaryOperation",
      "docs": {
        "stability": "stable",
        "summary": "The "*" binary operation.",
      },
      "fqn": "jsii-calc.Multiply",
      "initializer": {
        "docs": {
          "stability": "stable",
          "summary": "Creates a BinaryOperation.",
        },
        "locationInModule": {
          "filename": "lib/calculator.ts",
          "line": 53,
        },
        "parameters": [
          {
            "docs": {
              "summary": "Left-hand side operand.",
            },
            "name": "lhs",
            "type": {
              "fqn": "@scope/jsii-calc-lib.NumericValue",
            },
          },
          {
            "docs": {
              "summary": "Right-hand side operand.",
            },
            "name": "rhs",
            "type": {
              "fqn": "@scope/jsii-calc-lib.NumericValue",
            },
          },
        ],
      },
      "interfaces": [
        "jsii-calc.IFriendlier",
        "jsii-calc.IRandomNumberGenerator",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 81,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Say farewell.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 97,
          },
          "name": "farewell",
          "overrides": "jsii-calc.IFriendlier",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Say goodbye.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 93,
          },
          "name": "goodbye",
          "overrides": "jsii-calc.IFriendlier",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Returns another random number.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 101,
          },
          "name": "next",
          "overrides": "jsii-calc.IRandomNumberGenerator",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "String representation of the value.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 89,
          },
          "name": "toString",
          "overrides": "@scope/jsii-calc-lib.Operation",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "Multiply",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "The value.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 85,
          },
          "name": "value",
          "overrides": "@scope/jsii-calc-lib.NumericValue",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/calculator:Multiply",
    },
    "jsii-calc.Negate": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.UnaryOperation",
      "docs": {
        "stability": "stable",
        "summary": "The negation operation ("-value").",
      },
      "fqn": "jsii-calc.Negate",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/calculator.ts",
          "line": 110,
        },
        "parameters": [
          {
            "name": "operand",
            "type": {
              "fqn": "@scope/jsii-calc-lib.NumericValue",
            },
          },
        ],
      },
      "interfaces": [
        "jsii-calc.IFriendlier",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 118,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Say farewell.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 135,
          },
          "name": "farewell",
          "overrides": "jsii-calc.IFriendlier",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Say goodbye.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 131,
          },
          "name": "goodbye",
          "overrides": "jsii-calc.IFriendlier",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Say hello!",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 127,
          },
          "name": "hello",
          "overrides": "@scope/jsii-calc-lib.IFriendly",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "String representation of the value.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 123,
          },
          "name": "toString",
          "overrides": "@scope/jsii-calc-lib.Operation",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "Negate",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "The value.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 119,
          },
          "name": "value",
          "overrides": "@scope/jsii-calc-lib.NumericValue",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/calculator:Negate",
    },
    "jsii-calc.NestedClassInstance": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.NestedClassInstance",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/nested-class.ts",
        "line": 3,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/nested-class.ts",
            "line": 4,
          },
          "name": "makeInstance",
          "returns": {
            "type": {
              "fqn": "@scope/jsii-calc-lib.submodule.NestingClass.NestedClass",
            },
          },
          "static": true,
        },
      ],
      "name": "NestedClassInstance",
      "symbolId": "lib/nested-class:NestedClassInstance",
    },
    "jsii-calc.NestedStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.NestedStruct",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2527,
      },
      "name": "NestedStruct",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "When provided, must be > 0.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2531,
          },
          "name": "numberProp",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/compliance:NestedStruct",
    },
    "jsii-calc.NodeStandardLibrary": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Test fixture to verify that jsii modules can use the node standard library.",
      },
      "fqn": "jsii-calc.NodeStandardLibrary",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1182,
      },
      "methods": [
        {
          "docs": {
            "returns": ""6a2da20943931e9834fc12cfe5bb47bbd9ae43489a30726962b576f4e3993e50"",
            "stability": "stable",
            "summary": "Uses node.js "crypto" module to calculate sha256 of a string.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1213,
          },
          "name": "cryptoSha256",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "async": true,
          "docs": {
            "returns": ""Hello, resource!"",
            "stability": "stable",
            "summary": "Reads a local resource file (resource.txt) asynchronously.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1187,
          },
          "name": "fsReadFile",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "returns": ""Hello, resource! SYNC!"",
            "stability": "stable",
            "summary": "Sync version of fsReadFile.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1196,
          },
          "name": "fsReadFileSync",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "NodeStandardLibrary",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Returns the current os.platform() from the "os" node module.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1205,
          },
          "name": "osPlatform",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:NodeStandardLibrary",
    },
    "jsii-calc.NullShouldBeTreatedAsUndefined": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "jsii#282, aws-cdk#157: null should be treated as "undefined".",
      },
      "fqn": "jsii-calc.NullShouldBeTreatedAsUndefined",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 1428,
        },
        "parameters": [
          {
            "name": "_param1",
            "type": {
              "primitive": "string",
            },
          },
          {
            "name": "optional",
            "optional": true,
            "type": {
              "primitive": "any",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1425,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1436,
          },
          "name": "giveMeUndefined",
          "parameters": [
            {
              "name": "value",
              "optional": true,
              "type": {
                "primitive": "any",
              },
            },
          ],
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1446,
          },
          "name": "giveMeUndefinedInsideAnObject",
          "parameters": [
            {
              "name": "input",
              "type": {
                "fqn": "jsii-calc.NullShouldBeTreatedAsUndefinedData",
              },
            },
          ],
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1475,
          },
          "name": "verifyPropertyIsUndefined",
        },
      ],
      "name": "NullShouldBeTreatedAsUndefined",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1426,
          },
          "name": "changeMeToUndefined",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:NullShouldBeTreatedAsUndefined",
    },
    "jsii-calc.NullShouldBeTreatedAsUndefinedData": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.NullShouldBeTreatedAsUndefinedData",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1484,
      },
      "name": "NullShouldBeTreatedAsUndefinedData",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1486,
          },
          "name": "arrayWithThreeElementsAndUndefinedAsSecondArgument",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "any",
              },
              "kind": "array",
            },
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1485,
          },
          "name": "thisShouldBeUndefined",
          "optional": true,
          "type": {
            "primitive": "any",
          },
        },
      ],
      "symbolId": "lib/compliance:NullShouldBeTreatedAsUndefinedData",
    },
    "jsii-calc.NumberGenerator": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "This allows us to test that a reference can be stored for objects that implement interfaces.",
      },
      "fqn": "jsii-calc.NumberGenerator",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "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": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 512,
          },
          "name": "isSameGenerator",
          "parameters": [
            {
              "name": "gen",
              "type": {
                "fqn": "jsii-calc.IRandomNumberGenerator",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 508,
          },
          "name": "nextTimes100",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
      ],
      "name": "NumberGenerator",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 506,
          },
          "name": "generator",
          "type": {
            "fqn": "jsii-calc.IRandomNumberGenerator",
          },
        },
      ],
      "symbolId": "lib/compliance:NumberGenerator",
    },
    "jsii-calc.ObjectRefsInCollections": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Verify that object references can be passed inside collections.",
      },
      "fqn": "jsii-calc.ObjectRefsInCollections",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 264,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "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.NumericValue",
                  },
                  "kind": "array",
                },
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
            "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.NumericValue",
                  },
                  "kind": "map",
                },
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
      ],
      "name": "ObjectRefsInCollections",
      "symbolId": "lib/compliance:ObjectRefsInCollections",
    },
    "jsii-calc.ObjectWithPropertyProvider": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ObjectWithPropertyProvider",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2624,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2625,
          },
          "name": "provide",
          "returns": {
            "type": {
              "fqn": "jsii-calc.IObjectWithProperty",
            },
          },
          "static": true,
        },
      ],
      "name": "ObjectWithPropertyProvider",
      "symbolId": "lib/compliance:ObjectWithPropertyProvider",
    },
    "jsii-calc.Old": {
      "assembly": "jsii-calc",
      "docs": {
        "deprecated": "Use the new class or the old class whatever you want because
whatever you like is always the best",
        "stability": "deprecated",
        "summary": "Old class.",
      },
      "fqn": "jsii-calc.Old",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/documented.ts",
        "line": 61,
      },
      "methods": [
        {
          "docs": {
            "stability": "deprecated",
            "summary": "Doo wop that thing.",
          },
          "locationInModule": {
            "filename": "lib/documented.ts",
            "line": 65,
          },
          "name": "doAThing",
        },
      ],
      "name": "Old",
      "symbolId": "lib/documented:Old",
    },
    "jsii-calc.OptionalArgumentInvoker": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.OptionalArgumentInvoker",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 1280,
        },
        "parameters": [
          {
            "name": "delegate",
            "type": {
              "fqn": "jsii-calc.IInterfaceWithOptionalMethodArguments",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1279,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1288,
          },
          "name": "invokeWithOptional",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1284,
          },
          "name": "invokeWithoutOptional",
        },
      ],
      "name": "OptionalArgumentInvoker",
      "symbolId": "lib/compliance:OptionalArgumentInvoker",
    },
    "jsii-calc.OptionalConstructorArgument": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.OptionalConstructorArgument",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 311,
          },
          "name": "arg1",
          "type": {
            "primitive": "number",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 312,
          },
          "name": "arg2",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 313,
          },
          "name": "arg3",
          "optional": true,
          "type": {
            "primitive": "date",
          },
        },
      ],
      "symbolId": "lib/compliance:OptionalConstructorArgument",
    },
    "jsii-calc.OptionalStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.OptionalStruct",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1930,
      },
      "name": "OptionalStruct",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1931,
          },
          "name": "field",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:OptionalStruct",
    },
    "jsii-calc.OptionalStructConsumer": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.OptionalStructConsumer",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 1925,
        },
        "parameters": [
          {
            "name": "optionalStruct",
            "optional": true,
            "type": {
              "fqn": "jsii-calc.OptionalStruct",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1921,
      },
      "name": "OptionalStructConsumer",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1922,
          },
          "name": "parameterWasUndefined",
          "type": {
            "primitive": "boolean",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1923,
          },
          "name": "fieldValue",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:OptionalStructConsumer",
    },
    "jsii-calc.OverridableProtectedMember": {
      "assembly": "jsii-calc",
      "docs": {
        "see": "https://github.com/aws/jsii/issues/903",
        "stability": "stable",
      },
      "fqn": "jsii-calc.OverridableProtectedMember",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2198,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2210,
          },
          "name": "overrideMe",
          "protected": true,
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2206,
          },
          "name": "switchModes",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2202,
          },
          "name": "valueFromProtected",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "OverridableProtectedMember",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2199,
          },
          "name": "overrideReadOnly",
          "protected": true,
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2200,
          },
          "name": "overrideReadWrite",
          "protected": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:OverridableProtectedMember",
    },
    "jsii-calc.OverrideReturnsObject": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.OverrideReturnsObject",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 645,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 646,
          },
          "name": "test",
          "parameters": [
            {
              "name": "obj",
              "type": {
                "fqn": "jsii-calc.IReturnsNumber",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
      ],
      "name": "OverrideReturnsObject",
      "symbolId": "lib/compliance:OverrideReturnsObject",
    },
    "jsii-calc.ParamShadowsBuiltins": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Validate that parameters named "str" or "builtins" do not shadow the actual type names in Python.",
      },
      "fqn": "jsii-calc.ParamShadowsBuiltins",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 3117,
        },
        "parameters": [
          {
            "docs": {
              "summary": "should be set to something that is NOT a valid expression in Python (e.g: "\${NOPE}"").",
            },
            "name": "builtins",
            "type": {
              "primitive": "string",
            },
          },
          {
            "docs": {
              "summary": "should be set to something that is NOT a valid expression in Python (e.g: "\${NOPE}"").",
            },
            "name": "str",
            "type": {
              "primitive": "string",
            },
          },
          {
            "docs": {
              "summary": "should be set to valid values.",
            },
            "name": "props",
            "type": {
              "fqn": "jsii-calc.ParamShadowsBuiltinsProps",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 3111,
      },
      "name": "ParamShadowsBuiltins",
      "symbolId": "lib/compliance:ParamShadowsBuiltins",
    },
    "jsii-calc.ParamShadowsBuiltinsProps": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.ParamShadowsBuiltinsProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 3129,
      },
      "name": "ParamShadowsBuiltinsProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3131,
          },
          "name": "booleanProperty",
          "type": {
            "primitive": "boolean",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3130,
          },
          "name": "stringProperty",
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3132,
          },
          "name": "structProperty",
          "type": {
            "fqn": "jsii-calc.StructA",
          },
        },
      ],
      "symbolId": "lib/compliance:ParamShadowsBuiltinsProps",
    },
    "jsii-calc.ParamShadowsScope": {
      "assembly": "jsii-calc",
      "docs": {
        "see": "https://github.com/aws/aws-cdk/issues/22975",
        "stability": "stable",
        "summary": "Validate that namespaces being shadowed by local variables does not cause type checking issues.",
      },
      "fqn": "jsii-calc.ParamShadowsScope",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 3100,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3102,
          },
          "name": "useScope",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "@scope/jsii-calc-lib.Number",
              },
            },
          ],
          "returns": {
            "type": {
              "fqn": "@scope/jsii-calc-lib.Number",
            },
          },
        },
      ],
      "name": "ParamShadowsScope",
      "symbolId": "lib/compliance:ParamShadowsScope",
    },
    "jsii-calc.ParentStruct982": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
        "summary": "https://github.com/aws/jsii/issues/982.",
      },
      "fqn": "jsii-calc.ParentStruct982",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2576,
      },
      "name": "ParentStruct982",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2577,
          },
          "name": "foo",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:ParentStruct982",
    },
    "jsii-calc.PartiallyInitializedThisConsumer": {
      "abstract": true,
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.PartiallyInitializedThisConsumer",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1896,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1897,
          },
          "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",
      "symbolId": "lib/compliance:PartiallyInitializedThisConsumer",
    },
    "jsii-calc.Polymorphism": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.Polymorphism",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 495,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "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",
      "symbolId": "lib/compliance:Polymorphism",
    },
    "jsii-calc.Power": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.composition.CompositeOperation",
      "docs": {
        "stability": "stable",
        "summary": "The power operation.",
      },
      "fqn": "jsii-calc.Power",
      "initializer": {
        "docs": {
          "stability": "stable",
          "summary": "Creates a Power operation.",
        },
        "locationInModule": {
          "filename": "lib/calculator.ts",
          "line": 236,
        },
        "parameters": [
          {
            "docs": {
              "summary": "The base of the power.",
            },
            "name": "base",
            "type": {
              "fqn": "@scope/jsii-calc-lib.NumericValue",
            },
          },
          {
            "docs": {
              "summary": "The number of times to multiply.",
            },
            "name": "pow",
            "type": {
              "fqn": "@scope/jsii-calc-lib.NumericValue",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 230,
      },
      "name": "Power",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "The base of the power.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 237,
          },
          "name": "base",
          "type": {
            "fqn": "@scope/jsii-calc-lib.NumericValue",
          },
        },
        {
          "docs": {
            "remarks": "Must be implemented by derived classes.",
            "stability": "stable",
            "summary": "The expression that this operation consists of.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 243,
          },
          "name": "expression",
          "overrides": "jsii-calc.composition.CompositeOperation",
          "type": {
            "fqn": "@scope/jsii-calc-lib.NumericValue",
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "The number of times to multiply.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 238,
          },
          "name": "pow",
          "type": {
            "fqn": "@scope/jsii-calc-lib.NumericValue",
          },
        },
      ],
      "symbolId": "lib/calculator:Power",
    },
    "jsii-calc.PromiseNothing": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.PromiseNothing",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 3135,
      },
      "methods": [
        {
          "async": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3136,
          },
          "name": "promiseIt",
          "static": true,
        },
        {
          "async": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3140,
          },
          "name": "instancePromiseIt",
        },
      ],
      "name": "PromiseNothing",
      "symbolId": "lib/compliance:PromiseNothing",
    },
    "jsii-calc.PropertyNamedProperty": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "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": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 404,
      },
      "name": "PropertyNamedProperty",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 405,
          },
          "name": "property",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 406,
          },
          "name": "yetAnoterOne",
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/calculator:PropertyNamedProperty",
    },
    "jsii-calc.PublicClass": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.PublicClass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1614,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1615,
          },
          "name": "hello",
        },
      ],
      "name": "PublicClass",
      "symbolId": "lib/compliance:PublicClass",
    },
    "jsii-calc.PythonReservedWords": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.PythonReservedWords",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1013,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1014,
          },
          "name": "and",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1018,
          },
          "name": "as",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1022,
          },
          "name": "assert",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1026,
          },
          "name": "async",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1030,
          },
          "name": "await",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1034,
          },
          "name": "break",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1038,
          },
          "name": "class",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1042,
          },
          "name": "continue",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1046,
          },
          "name": "def",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1050,
          },
          "name": "del",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1054,
          },
          "name": "elif",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1058,
          },
          "name": "else",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1062,
          },
          "name": "except",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1066,
          },
          "name": "finally",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1070,
          },
          "name": "for",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1074,
          },
          "name": "from",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1078,
          },
          "name": "global",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1082,
          },
          "name": "if",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1086,
          },
          "name": "import",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1090,
          },
          "name": "in",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1094,
          },
          "name": "is",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1098,
          },
          "name": "lambda",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1102,
          },
          "name": "nonlocal",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1106,
          },
          "name": "not",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1110,
          },
          "name": "or",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1114,
          },
          "name": "pass",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1118,
          },
          "name": "raise",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1122,
          },
          "name": "return",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1126,
          },
          "name": "try",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1130,
          },
          "name": "while",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1134,
          },
          "name": "with",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1138,
          },
          "name": "yield",
        },
      ],
      "name": "PythonReservedWords",
      "symbolId": "lib/compliance:PythonReservedWords",
    },
    "jsii-calc.PythonSelf.ClassWithSelf": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.PythonSelf.ClassWithSelf",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 1148,
        },
        "parameters": [
          {
            "name": "self",
            "type": {
              "primitive": "string",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1147,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1150,
          },
          "name": "method",
          "parameters": [
            {
              "name": "self",
              "type": {
                "primitive": "number",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "ClassWithSelf",
      "namespace": "PythonSelf",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1148,
          },
          "name": "self",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:PythonSelf.ClassWithSelf",
    },
    "jsii-calc.PythonSelf.ClassWithSelfKwarg": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.PythonSelf.ClassWithSelfKwarg",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 1156,
        },
        "parameters": [
          {
            "name": "props",
            "type": {
              "fqn": "jsii-calc.PythonSelf.StructWithSelf",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1155,
      },
      "name": "ClassWithSelfKwarg",
      "namespace": "PythonSelf",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1156,
          },
          "name": "props",
          "type": {
            "fqn": "jsii-calc.PythonSelf.StructWithSelf",
          },
        },
      ],
      "symbolId": "lib/compliance:PythonSelf.ClassWithSelfKwarg",
    },
    "jsii-calc.PythonSelf.IInterfaceWithSelf": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.PythonSelf.IInterfaceWithSelf",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1163,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1164,
          },
          "name": "method",
          "parameters": [
            {
              "name": "self",
              "type": {
                "primitive": "number",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "IInterfaceWithSelf",
      "namespace": "PythonSelf",
      "symbolId": "lib/compliance:PythonSelf.IInterfaceWithSelf",
    },
    "jsii-calc.PythonSelf.StructWithSelf": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.PythonSelf.StructWithSelf",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1159,
      },
      "name": "StructWithSelf",
      "namespace": "PythonSelf",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1160,
          },
          "name": "self",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:PythonSelf.StructWithSelf",
    },
    "jsii-calc.ReferenceEnumFromScopedPackage": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "See awslabs/jsii#138.",
      },
      "fqn": "jsii-calc.ReferenceEnumFromScopedPackage",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1239,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1242,
          },
          "name": "loadFoo",
          "returns": {
            "optional": true,
            "type": {
              "fqn": "@scope/jsii-calc-lib.EnumFromScopedModule",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1246,
          },
          "name": "saveFoo",
          "parameters": [
            {
              "name": "value",
              "type": {
                "fqn": "@scope/jsii-calc-lib.EnumFromScopedModule",
              },
            },
          ],
        },
      ],
      "name": "ReferenceEnumFromScopedPackage",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1240,
          },
          "name": "foo",
          "optional": true,
          "type": {
            "fqn": "@scope/jsii-calc-lib.EnumFromScopedModule",
          },
        },
      ],
      "symbolId": "lib/compliance:ReferenceEnumFromScopedPackage",
    },
    "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": "stable",
        "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": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1566,
      },
      "name": "ReturnsPrivateImplementationOfInterface",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1567,
          },
          "name": "privateImplementation",
          "type": {
            "fqn": "jsii-calc.IPrivatelyImplemented",
          },
        },
      ],
      "symbolId": "lib/compliance:ReturnsPrivateImplementationOfInterface",
    },
    "jsii-calc.RootStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "remarks": "This is cheating with the (current) declared types, but this is the "more
idiomatic" way for Pythonists.",
        "stability": "stable",
        "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": 2520,
      },
      "name": "RootStruct",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "May not be empty.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2524,
          },
          "name": "stringProp",
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2525,
          },
          "name": "nestedStruct",
          "optional": true,
          "type": {
            "fqn": "jsii-calc.NestedStruct",
          },
        },
      ],
      "symbolId": "lib/compliance:RootStruct",
    },
    "jsii-calc.RootStructValidator": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.RootStructValidator",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2533,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2534,
          },
          "name": "validate",
          "parameters": [
            {
              "name": "struct",
              "type": {
                "fqn": "jsii-calc.RootStruct",
              },
            },
          ],
          "static": true,
        },
      ],
      "name": "RootStructValidator",
      "symbolId": "lib/compliance:RootStructValidator",
    },
    "jsii-calc.RuntimeTypeChecking": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.RuntimeTypeChecking",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 288,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "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": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 304,
          },
          "name": "methodWithOptionalAnyArgument",
          "parameters": [
            {
              "name": "arg",
              "optional": true,
              "type": {
                "primitive": "any",
              },
            },
          ],
        },
        {
          "docs": {
            "stability": "stable",
            "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",
      "symbolId": "lib/compliance:RuntimeTypeChecking",
    },
    "jsii-calc.SecondLevelStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.SecondLevelStruct",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2077,
      },
      "name": "SecondLevelStruct",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "It's long and required.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2081,
          },
          "name": "deeperRequiredProp",
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "It's long, but you'll almost never pass it.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2086,
          },
          "name": "deeperOptionalProp",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:SecondLevelStruct",
    },
    "jsii-calc.SingleInstanceTwoTypes": {
      "assembly": "jsii-calc",
      "docs": {
        "remarks": "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": "stable",
        "summary": "Test that a single instance can be returned under two different FQNs.",
      },
      "fqn": "jsii-calc.SingleInstanceTwoTypes",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1685,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1688,
          },
          "name": "interface1",
          "returns": {
            "type": {
              "fqn": "jsii-calc.InbetweenClass",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1692,
          },
          "name": "interface2",
          "returns": {
            "type": {
              "fqn": "jsii-calc.IPublicInterface",
            },
          },
        },
      ],
      "name": "SingleInstanceTwoTypes",
      "symbolId": "lib/compliance:SingleInstanceTwoTypes",
    },
    "jsii-calc.SingletonInt": {
      "assembly": "jsii-calc",
      "docs": {
        "remarks": "https://github.com/aws/jsii/issues/231",
        "stability": "stable",
        "summary": "Verifies that singleton enums are handled correctly.",
      },
      "fqn": "jsii-calc.SingletonInt",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2029,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2031,
          },
          "name": "isSingletonInt",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "number",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
        },
      ],
      "name": "SingletonInt",
      "symbolId": "lib/compliance:SingletonInt",
    },
    "jsii-calc.SingletonIntEnum": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "A singleton integer.",
      },
      "fqn": "jsii-calc.SingletonIntEnum",
      "kind": "enum",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2036,
      },
      "members": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Elite!",
          },
          "name": "SINGLETON_INT",
        },
      ],
      "name": "SingletonIntEnum",
      "symbolId": "lib/compliance:SingletonIntEnum",
    },
    "jsii-calc.SingletonString": {
      "assembly": "jsii-calc",
      "docs": {
        "remarks": "https://github.com/aws/jsii/issues/231",
        "stability": "stable",
        "summary": "Verifies that singleton enums are handled correctly.",
      },
      "fqn": "jsii-calc.SingletonString",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2012,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2015,
          },
          "name": "isSingletonString",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "string",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
        },
      ],
      "name": "SingletonString",
      "symbolId": "lib/compliance:SingletonString",
    },
    "jsii-calc.SingletonStringEnum": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "A singleton string.",
      },
      "fqn": "jsii-calc.SingletonStringEnum",
      "kind": "enum",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2020,
      },
      "members": [
        {
          "docs": {
            "stability": "stable",
            "summary": "1337.",
          },
          "name": "SINGLETON_STRING",
        },
      ],
      "name": "SingletonStringEnum",
      "symbolId": "lib/compliance:SingletonStringEnum",
    },
    "jsii-calc.SmellyStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.SmellyStruct",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 415,
      },
      "name": "SmellyStruct",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 416,
          },
          "name": "property",
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 417,
          },
          "name": "yetAnoterOne",
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/calculator:SmellyStruct",
    },
    "jsii-calc.SomeTypeJsii976": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.SomeTypeJsii976",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2557,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2566,
          },
          "name": "returnAnonymous",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2558,
          },
          "name": "returnReturn",
          "returns": {
            "type": {
              "fqn": "jsii-calc.IReturnJsii976",
            },
          },
          "static": true,
        },
      ],
      "name": "SomeTypeJsii976",
      "symbolId": "lib/compliance: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",
          },
        },
      ],
      "symbolId": "lib/stability:StableClass",
    },
    "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",
      "symbolId": "lib/stability: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",
          },
        },
      ],
      "symbolId": "lib/stability:StableStruct",
    },
    "jsii-calc.StaticContext": {
      "assembly": "jsii-calc",
      "docs": {
        "remarks": "https://github.com/awslabs/aws-cdk/issues/2304",
        "stability": "stable",
        "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": 1955,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1958,
          },
          "name": "canAccessStaticContext",
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
          "static": true,
        },
      ],
      "name": "StaticContext",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1966,
          },
          "name": "staticVariable",
          "static": true,
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/compliance:StaticContext",
    },
    "jsii-calc.StaticHelloChild": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.StaticHelloParent",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.StaticHelloChild",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2938,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2943,
          },
          "name": "method",
          "overrides": "jsii-calc.StaticHelloParent",
          "static": true,
        },
      ],
      "name": "StaticHelloChild",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2939,
          },
          "name": "property",
          "overrides": "jsii-calc.StaticHelloParent",
          "static": true,
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/compliance:StaticHelloChild",
    },
    "jsii-calc.StaticHelloParent": {
      "assembly": "jsii-calc",
      "docs": {
        "remarks": "The difference is fairly minor (for typical use-cases, the end result is the
same), however this has implications on what the generated code should look
like.",
        "stability": "stable",
        "summary": "Static methods that override parent class are technically overrides (the inheritance of statics is part of the ES6 specification), but certain other languages such as Java do not carry statics in the inheritance chain at all, so they cannot be overridden, only hidden.",
      },
      "fqn": "jsii-calc.StaticHelloParent",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2929,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2934,
          },
          "name": "method",
          "static": true,
        },
      ],
      "name": "StaticHelloParent",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2930,
          },
          "name": "property",
          "static": true,
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/compliance:StaticHelloParent",
    },
    "jsii-calc.Statics": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.Statics",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "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": "stable",
            "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": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 700,
          },
          "name": "justMethod",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "Statics",
      "properties": [
        {
          "const": true,
          "docs": {
            "stability": "stable",
            "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 741,
          },
          "name": "ConstObj",
          "static": true,
          "type": {
            "fqn": "jsii-calc.DoubleTrouble",
          },
        },
        {
          "const": true,
          "docs": {
            "stability": "stable",
            "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": "stable",
            "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": "stable",
            "summary": "Jsdocs for static getter.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 726,
          },
          "name": "instance",
          "static": true,
          "type": {
            "fqn": "jsii-calc.Statics",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 740,
          },
          "name": "nonConstStatic",
          "static": true,
          "type": {
            "primitive": "number",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 690,
          },
          "name": "value",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:Statics",
    },
    "jsii-calc.StringEnum": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.StringEnum",
      "kind": "enum",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 39,
      },
      "members": [
        {
          "docs": {
            "stability": "stable",
          },
          "name": "A",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "name": "B",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "name": "C",
        },
      ],
      "name": "StringEnum",
      "symbolId": "lib/compliance:StringEnum",
    },
    "jsii-calc.StripInternal": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.StripInternal",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1738,
      },
      "name": "StripInternal",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1739,
          },
          "name": "youSeeMe",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:StripInternal",
    },
    "jsii-calc.StructA": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
        "summary": "We can serialize and deserialize structs without silently ignoring optional fields.",
      },
      "fqn": "jsii-calc.StructA",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2304,
      },
      "name": "StructA",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2305,
          },
          "name": "requiredString",
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2307,
          },
          "name": "optionalNumber",
          "optional": true,
          "type": {
            "primitive": "number",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2306,
          },
          "name": "optionalString",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:StructA",
    },
    "jsii-calc.StructB": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
        "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": 2313,
      },
      "name": "StructB",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2314,
          },
          "name": "requiredString",
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2315,
          },
          "name": "optionalBoolean",
          "optional": true,
          "type": {
            "primitive": "boolean",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2316,
          },
          "name": "optionalStructA",
          "optional": true,
          "type": {
            "fqn": "jsii-calc.StructA",
          },
        },
      ],
      "symbolId": "lib/compliance:StructB",
    },
    "jsii-calc.StructParameterType": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "remarks": "See: https://github.com/aws/aws-cdk/issues/4302",
        "stability": "stable",
        "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": 2756,
      },
      "name": "StructParameterType",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2757,
          },
          "name": "scope",
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2758,
          },
          "name": "props",
          "optional": true,
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/compliance:StructParameterType",
    },
    "jsii-calc.StructPassing": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "external",
        "summary": "Just because we can.",
      },
      "fqn": "jsii-calc.StructPassing",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2135,
      },
      "methods": [
        {
          "docs": {
            "stability": "external",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2147,
          },
          "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": 2136,
          },
          "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",
      "symbolId": "lib/compliance:StructPassing",
    },
    "jsii-calc.StructUnionConsumer": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.StructUnionConsumer",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2318,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2319,
          },
          "name": "isStructA",
          "parameters": [
            {
              "name": "struct",
              "type": {
                "union": {
                  "types": [
                    {
                      "fqn": "jsii-calc.StructA",
                    },
                    {
                      "fqn": "jsii-calc.StructB",
                    },
                  ],
                },
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2340,
          },
          "name": "isStructB",
          "parameters": [
            {
              "name": "struct",
              "type": {
                "union": {
                  "types": [
                    {
                      "fqn": "jsii-calc.StructA",
                    },
                    {
                      "fqn": "jsii-calc.StructB",
                    },
                  ],
                },
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2361,
          },
          "name": "provideStruct",
          "parameters": [
            {
              "name": "which",
              "type": {
                "primitive": "string",
              },
            },
          ],
          "returns": {
            "type": {
              "union": {
                "types": [
                  {
                    "fqn": "jsii-calc.StructA",
                  },
                  {
                    "fqn": "jsii-calc.StructB",
                  },
                ],
              },
            },
          },
          "static": true,
        },
      ],
      "name": "StructUnionConsumer",
      "symbolId": "lib/compliance:StructUnionConsumer",
    },
    "jsii-calc.StructWithCollectionOfUnionts": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.StructWithCollectionOfUnionts",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 3074,
      },
      "name": "StructWithCollectionOfUnionts",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3075,
          },
          "name": "unionProperty",
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "union": {
                      "types": [
                        {
                          "fqn": "jsii-calc.StructA",
                        },
                        {
                          "fqn": "jsii-calc.StructB",
                        },
                      ],
                    },
                  },
                  "kind": "map",
                },
              },
              "kind": "array",
            },
          },
        },
      ],
      "symbolId": "lib/compliance:StructWithCollectionOfUnionts",
    },
    "jsii-calc.StructWithEnum": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.StructWithEnum",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2955,
      },
      "name": "StructWithEnum",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "An enum value.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2959,
          },
          "name": "foo",
          "type": {
            "fqn": "jsii-calc.StringEnum",
          },
        },
        {
          "abstract": true,
          "docs": {
            "default": "AllTypesEnum.YOUR_ENUM_VALUE",
            "stability": "stable",
            "summary": "Optional enum value (of type integer).",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2965,
          },
          "name": "bar",
          "optional": true,
          "type": {
            "fqn": "jsii-calc.AllTypesEnum",
          },
        },
      ],
      "symbolId": "lib/compliance:StructWithEnum",
    },
    "jsii-calc.StructWithJavaReservedWords": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.StructWithJavaReservedWords",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2109,
      },
      "name": "StructWithJavaReservedWords",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2110,
          },
          "name": "default",
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2111,
          },
          "name": "assert",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2114,
          },
          "name": "result",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2115,
          },
          "name": "that",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:StructWithJavaReservedWords",
    },
    "jsii-calc.Sum": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.composition.CompositeOperation",
      "docs": {
        "stability": "stable",
        "summary": "An operation that sums multiple values.",
      },
      "fqn": "jsii-calc.Sum",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/calculator.ts",
          "line": 214,
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 206,
      },
      "name": "Sum",
      "properties": [
        {
          "docs": {
            "remarks": "Must be implemented by derived classes.",
            "stability": "stable",
            "summary": "The expression that this operation consists of.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 218,
          },
          "name": "expression",
          "overrides": "jsii-calc.composition.CompositeOperation",
          "type": {
            "fqn": "@scope/jsii-calc-lib.NumericValue",
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "The parts to sum.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 210,
          },
          "name": "parts",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "@scope/jsii-calc-lib.NumericValue",
              },
              "kind": "array",
            },
          },
        },
      ],
      "symbolId": "lib/calculator:Sum",
    },
    "jsii-calc.SupportsNiceJavaBuilder": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.SupportsNiceJavaBuilderWithRequiredProps",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.SupportsNiceJavaBuilder",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 2244,
        },
        "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": 2234,
      },
      "name": "SupportsNiceJavaBuilder",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "some identifier.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2245,
          },
          "name": "id",
          "overrides": "jsii-calc.SupportsNiceJavaBuilderWithRequiredProps",
          "type": {
            "primitive": "number",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2235,
          },
          "name": "rest",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string",
              },
              "kind": "array",
            },
          },
        },
      ],
      "symbolId": "lib/compliance:SupportsNiceJavaBuilder",
    },
    "jsii-calc.SupportsNiceJavaBuilderProps": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.SupportsNiceJavaBuilderProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2254,
      },
      "name": "SupportsNiceJavaBuilderProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Some number, like 42.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2264,
          },
          "name": "bar",
          "type": {
            "primitive": "number",
          },
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "But here we are, doing it like we didn't care.",
            "stability": "stable",
            "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": 2259,
          },
          "name": "id",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:SupportsNiceJavaBuilderProps",
    },
    "jsii-calc.SupportsNiceJavaBuilderWithRequiredProps": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "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": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 2226,
        },
        "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": 2218,
      },
      "name": "SupportsNiceJavaBuilderWithRequiredProps",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2220,
          },
          "name": "bar",
          "type": {
            "primitive": "number",
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "some identifier of your choice.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2227,
          },
          "name": "id",
          "type": {
            "primitive": "number",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2219,
          },
          "name": "propId",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:SupportsNiceJavaBuilderWithRequiredProps",
    },
    "jsii-calc.SyncVirtualMethods": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.SyncVirtualMethods",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 376,
      },
      "methods": [
        {
          "async": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 389,
          },
          "name": "callerIsAsync",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 377,
          },
          "name": "callerIsMethod",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 429,
          },
          "name": "modifyOtherProperty",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "string",
              },
            },
          ],
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 401,
          },
          "name": "modifyValueOfTheProperty",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "string",
              },
            },
          ],
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 442,
          },
          "name": "readA",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 433,
          },
          "name": "retrieveOtherProperty",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 413,
          },
          "name": "retrieveReadOnlyProperty",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 405,
          },
          "name": "retrieveValueOfTheProperty",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 393,
          },
          "name": "virtualMethod",
          "parameters": [
            {
              "name": "n",
              "type": {
                "primitive": "number",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 446,
          },
          "name": "writeA",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "number",
              },
            },
          ],
        },
      ],
      "name": "SyncVirtualMethods",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 411,
          },
          "name": "readonlyProperty",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 440,
          },
          "name": "a",
          "type": {
            "primitive": "number",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 381,
          },
          "name": "callerIsProperty",
          "type": {
            "primitive": "number",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 419,
          },
          "name": "otherProperty",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 399,
          },
          "name": "theProperty",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 427,
          },
          "name": "valueOfOtherProperty",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:SyncVirtualMethods",
    },
    "jsii-calc.TestStructWithEnum": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.TestStructWithEnum",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2968,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Returns true if \`foo\` is \`StringEnum.A\`.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2972,
          },
          "name": "isStringEnumA",
          "parameters": [
            {
              "name": "input",
              "type": {
                "fqn": "jsii-calc.StructWithEnum",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Returns true if \`foo\` is \`StringEnum.B\` and \`bar\` is \`AllTypesEnum.THIS_IS_GREAT\`.",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2979,
          },
          "name": "isStringEnumB",
          "parameters": [
            {
              "name": "input",
              "type": {
                "fqn": "jsii-calc.StructWithEnum",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
        },
      ],
      "name": "TestStructWithEnum",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Returns \`foo: StringEnum.A\`.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2998,
          },
          "name": "structWithFoo",
          "type": {
            "fqn": "jsii-calc.StructWithEnum",
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Returns \`foo: StringEnum.C\` and \`bar: AllTypesEnum.MY_ENUM_VALUE\`.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2988,
          },
          "name": "structWithFooBar",
          "type": {
            "fqn": "jsii-calc.StructWithEnum",
          },
        },
      ],
      "symbolId": "lib/compliance:TestStructWithEnum",
    },
    "jsii-calc.Thrower": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.Thrower",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 651,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 652,
          },
          "name": "throwError",
        },
      ],
      "name": "Thrower",
      "symbolId": "lib/compliance:Thrower",
    },
    "jsii-calc.TopLevelStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.TopLevelStruct",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 2060,
      },
      "name": "TopLevelStruct",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "This is a required field.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2064,
          },
          "name": "required",
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "A union to really stress test our serialization.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2074,
          },
          "name": "secondLevel",
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "number",
                },
                {
                  "fqn": "jsii-calc.SecondLevelStruct",
                },
              ],
            },
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "You don't have to pass this.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2069,
          },
          "name": "optional",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/compliance:TopLevelStruct",
    },
    "jsii-calc.TwoMethodsWithSimilarCapitalization": {
      "assembly": "jsii-calc",
      "docs": {
        "see": "https://github.com/aws/jsii/issues/2508",
        "stability": "stable",
        "summary": "In TypeScript it is possible to have two methods with the same name but different capitalization.",
      },
      "fqn": "jsii-calc.TwoMethodsWithSimilarCapitalization",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 3041,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3042,
          },
          "name": "toIsoString",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "deprecated": "python requires that all alternatives are deprecated",
            "stability": "deprecated",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3056,
          },
          "name": "toIsOString",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "deprecated": "python requires that all alternatives are deprecated",
            "stability": "deprecated",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3049,
          },
          "name": "toISOString",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "TwoMethodsWithSimilarCapitalization",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3060,
          },
          "name": "fooBar",
          "type": {
            "primitive": "number",
          },
        },
        {
          "docs": {
            "deprecated": "YES",
            "stability": "deprecated",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3065,
          },
          "name": "fooBAR",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/compliance:TwoMethodsWithSimilarCapitalization",
    },
    "jsii-calc.UmaskCheck": {
      "assembly": "jsii-calc",
      "docs": {
        "see": "https://github.com/aws/jsii/issues/1765",
        "stability": "stable",
        "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": 2830,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "summary": "This should return 0o644 (-rw-r--r--).",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2834,
          },
          "name": "mode",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
          "static": true,
        },
      ],
      "name": "UmaskCheck",
      "symbolId": "lib/compliance:UmaskCheck",
    },
    "jsii-calc.UnaryOperation": {
      "abstract": true,
      "assembly": "jsii-calc",
      "base": "@scope/jsii-calc-lib.Operation",
      "docs": {
        "stability": "stable",
        "summary": "An operation on a single operand.",
      },
      "fqn": "jsii-calc.UnaryOperation",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/calculator.ts",
          "line": 110,
        },
        "parameters": [
          {
            "name": "operand",
            "type": {
              "fqn": "@scope/jsii-calc-lib.NumericValue",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 109,
      },
      "name": "UnaryOperation",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 110,
          },
          "name": "operand",
          "type": {
            "fqn": "@scope/jsii-calc-lib.NumericValue",
          },
        },
      ],
      "symbolId": "lib/calculator:UnaryOperation",
    },
    "jsii-calc.UnionProperties": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.UnionProperties",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1168,
      },
      "name": "UnionProperties",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1170,
          },
          "name": "bar",
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string",
                },
                {
                  "primitive": "number",
                },
                {
                  "fqn": "jsii-calc.AllTypes",
                },
              ],
            },
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1169,
          },
          "name": "foo",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string",
                },
                {
                  "primitive": "number",
                },
              ],
            },
          },
        },
      ],
      "symbolId": "lib/compliance:UnionProperties",
    },
    "jsii-calc.UpcasingReflectable": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Ensures submodule-imported types from dependencies can be used correctly.",
      },
      "fqn": "jsii-calc.UpcasingReflectable",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodules.ts",
            "line": 7,
          },
          "name": "reflector",
          "static": true,
          "type": {
            "fqn": "@scope/jsii-calc-lib.submodule.Reflector",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "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",
            },
          },
        },
      ],
      "symbolId": "lib/submodules:UpcasingReflectable",
    },
    "jsii-calc.UseBundledDependency": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.UseBundledDependency",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1173,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1174,
          },
          "name": "value",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
        },
      ],
      "name": "UseBundledDependency",
      "symbolId": "lib/compliance:UseBundledDependency",
    },
    "jsii-calc.UseCalcBase": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Depend on a type from jsii-calc-base as a test for awslabs/jsii#128.",
      },
      "fqn": "jsii-calc.UseCalcBase",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1224,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1225,
          },
          "name": "hello",
          "returns": {
            "type": {
              "fqn": "@scope/jsii-calc-base.Base",
            },
          },
        },
      ],
      "name": "UseCalcBase",
      "symbolId": "lib/compliance:UseCalcBase",
    },
    "jsii-calc.UsesInterfaceWithProperties": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.UsesInterfaceWithProperties",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "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": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 599,
          },
          "name": "justRead",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 608,
          },
          "name": "readStringAndNumber",
          "parameters": [
            {
              "name": "ext",
              "type": {
                "fqn": "jsii-calc.IInterfaceWithPropertiesExtension",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 603,
          },
          "name": "writeAndRead",
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "string",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "UsesInterfaceWithProperties",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 597,
          },
          "name": "obj",
          "type": {
            "fqn": "jsii-calc.IInterfaceWithProperties",
          },
        },
      ],
      "symbolId": "lib/compliance:UsesInterfaceWithProperties",
    },
    "jsii-calc.VariadicInvoker": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.VariadicInvoker",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "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": "stable",
          },
          "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",
      "symbolId": "lib/compliance:VariadicInvoker",
    },
    "jsii-calc.VariadicMethod": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.VariadicMethod",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "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": "stable",
          },
          "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",
      "symbolId": "lib/compliance:VariadicMethod",
    },
    "jsii-calc.VariadicTypeUnion": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.VariadicTypeUnion",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 3089,
        },
        "parameters": [
          {
            "name": "union",
            "type": {
              "union": {
                "types": [
                  {
                    "fqn": "jsii-calc.StructA",
                  },
                  {
                    "fqn": "jsii-calc.StructB",
                  },
                ],
              },
            },
            "variadic": true,
          },
        ],
        "variadic": true,
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 3086,
      },
      "name": "VariadicTypeUnion",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 3087,
          },
          "name": "union",
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "fqn": "jsii-calc.StructA",
                    },
                    {
                      "fqn": "jsii-calc.StructB",
                    },
                  ],
                },
              },
              "kind": "array",
            },
          },
        },
      ],
      "symbolId": "lib/compliance:VariadicTypeUnion",
    },
    "jsii-calc.VirtualMethodPlayground": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.VirtualMethodPlayground",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 451,
      },
      "methods": [
        {
          "async": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 476,
          },
          "name": "overrideMeAsync",
          "parameters": [
            {
              "name": "index",
              "type": {
                "primitive": "number",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 480,
          },
          "name": "overrideMeSync",
          "parameters": [
            {
              "name": "index",
              "type": {
                "primitive": "number",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
        {
          "async": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 458,
          },
          "name": "parallelSumAsync",
          "parameters": [
            {
              "name": "count",
              "type": {
                "primitive": "number",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
        {
          "async": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 452,
          },
          "name": "serialSumAsync",
          "parameters": [
            {
              "name": "count",
              "type": {
                "primitive": "number",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 468,
          },
          "name": "sumSync",
          "parameters": [
            {
              "name": "count",
              "type": {
                "primitive": "number",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
      ],
      "name": "VirtualMethodPlayground",
      "symbolId": "lib/compliance:VirtualMethodPlayground",
    },
    "jsii-calc.VoidCallback": {
      "abstract": true,
      "assembly": "jsii-calc",
      "docs": {
        "remarks": "- Implement \`overrideMe\` (method does not have to do anything).
- Invoke \`callMe\`
- Verify that \`methodWasCalled\` is \`true\`.",
        "stability": "stable",
        "summary": "This test is used to validate the runtimes can return correctly from a void callback.",
      },
      "fqn": "jsii-calc.VoidCallback",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1984,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1989,
          },
          "name": "callMe",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1993,
          },
          "name": "overrideMe",
          "protected": true,
        },
      ],
      "name": "VoidCallback",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 1986,
          },
          "name": "methodWasCalled",
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/compliance:VoidCallback",
    },
    "jsii-calc.WithPrivatePropertyInConstructor": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Verifies that private property declarations in constructor arguments are hidden.",
      },
      "fqn": "jsii-calc.WithPrivatePropertyInConstructor",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/compliance.ts",
          "line": 2000,
        },
        "parameters": [
          {
            "name": "privateField",
            "optional": true,
            "type": {
              "primitive": "string",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/compliance.ts",
        "line": 1999,
      },
      "name": "WithPrivatePropertyInConstructor",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/compliance.ts",
            "line": 2002,
          },
          "name": "success",
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/compliance:WithPrivatePropertyInConstructor",
    },
    "jsii-calc.anonymous.IOptionA": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.anonymous.IOptionA",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/anonymous/index.ts",
        "line": 1,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/anonymous/index.ts",
            "line": 2,
          },
          "name": "doSomething",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "IOptionA",
      "namespace": "anonymous",
      "symbolId": "lib/anonymous/index:IOptionA",
    },
    "jsii-calc.anonymous.IOptionB": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.anonymous.IOptionB",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/anonymous/index.ts",
        "line": 5,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/anonymous/index.ts",
            "line": 6,
          },
          "name": "doSomethingElse",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "IOptionB",
      "namespace": "anonymous",
      "symbolId": "lib/anonymous/index:IOptionB",
    },
    "jsii-calc.anonymous.UseOptions": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.anonymous.UseOptions",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/anonymous/index.ts",
        "line": 9,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/anonymous/index.ts",
            "line": 25,
          },
          "name": "consume",
          "parameters": [
            {
              "name": "option",
              "type": {
                "union": {
                  "types": [
                    {
                      "fqn": "jsii-calc.anonymous.IOptionA",
                    },
                    {
                      "fqn": "jsii-calc.anonymous.IOptionB",
                    },
                  ],
                },
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/anonymous/index.ts",
            "line": 21,
          },
          "name": "privideAsAny",
          "parameters": [
            {
              "name": "which",
              "type": {
                "primitive": "string",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/anonymous/index.ts",
            "line": 10,
          },
          "name": "provide",
          "parameters": [
            {
              "name": "which",
              "type": {
                "primitive": "string",
              },
            },
          ],
          "returns": {
            "type": {
              "union": {
                "types": [
                  {
                    "fqn": "jsii-calc.anonymous.IOptionA",
                  },
                  {
                    "fqn": "jsii-calc.anonymous.IOptionB",
                  },
                ],
              },
            },
          },
          "static": true,
        },
      ],
      "name": "UseOptions",
      "namespace": "anonymous",
      "symbolId": "lib/anonymous/index:UseOptions",
    },
    "jsii-calc.cdk16625.Cdk16625": {
      "abstract": true,
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.cdk16625.Cdk16625",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/cdk16625/index.ts",
        "line": 8,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Run this function to verify that everything is working as it should.",
          },
          "locationInModule": {
            "filename": "lib/cdk16625/index.ts",
            "line": 21,
          },
          "name": "test",
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "Implement this functin to return \`gen.next()\`. It is extremely important that the \`donotimport\` submodule is NEVER explicitly loaded in the testing application (otherwise this test is void).",
          },
          "locationInModule": {
            "filename": "lib/cdk16625/index.ts",
            "line": 16,
          },
          "name": "unwrap",
          "parameters": [
            {
              "docs": {
                "summary": "a VERY pseudo random number generator.",
              },
              "name": "gen",
              "type": {
                "fqn": "jsii-calc.IRandomNumberGenerator",
              },
            },
          ],
          "protected": true,
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
      ],
      "name": "Cdk16625",
      "namespace": "cdk16625",
      "symbolId": "lib/cdk16625/index:Cdk16625",
    },
    "jsii-calc.cdk16625.donotimport.UnimportedSubmoduleType": {
      "assembly": "jsii-calc",
      "docs": {
        "remarks": "This checks
that all types available in the assembly can be resolved by the runtime
library, regardless of whether they were explicitly referenced or not.",
        "see": "https://github.com/aws/aws-cdk/issues/16625",
        "stability": "stable",
        "summary": "This type demonstrates the ability to receive a callback argument that has a type from a submodule not explicitly imported in the user's code.",
      },
      "fqn": "jsii-calc.cdk16625.donotimport.UnimportedSubmoduleType",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/cdk16625/donotimport/index.ts",
          "line": 12,
        },
        "parameters": [
          {
            "name": "value",
            "type": {
              "primitive": "number",
            },
          },
        ],
      },
      "interfaces": [
        "jsii-calc.IRandomNumberGenerator",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/cdk16625/donotimport/index.ts",
        "line": 11,
      },
      "methods": [
        {
          "docs": {
            "returns": "1337",
            "stability": "stable",
            "summary": "Not quite random, but it'll do.",
          },
          "locationInModule": {
            "filename": "lib/cdk16625/donotimport/index.ts",
            "line": 19,
          },
          "name": "next",
          "overrides": "jsii-calc.IRandomNumberGenerator",
          "returns": {
            "type": {
              "primitive": "number",
            },
          },
        },
      ],
      "name": "UnimportedSubmoduleType",
      "namespace": "cdk16625.donotimport",
      "symbolId": "lib/cdk16625/donotimport/index:UnimportedSubmoduleType",
    },
    "jsii-calc.cdk22369.AcceptsPath": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.cdk22369.AcceptsPath",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/cdk22369/index.ts",
          "line": 19,
        },
        "parameters": [
          {
            "name": "props",
            "type": {
              "fqn": "jsii-calc.cdk22369.AcceptsPathProps",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/cdk22369/index.ts",
        "line": 17,
      },
      "name": "AcceptsPath",
      "namespace": "cdk22369",
      "symbolId": "lib/cdk22369/index:AcceptsPath",
    },
    "jsii-calc.cdk22369.AcceptsPathProps": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.cdk22369.AcceptsPathProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/cdk22369/index.ts",
        "line": 10,
      },
      "name": "AcceptsPathProps",
      "namespace": "cdk22369",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "A path that doesn't exist.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/cdk22369/index.ts",
            "line": 14,
          },
          "name": "sourcePath",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/cdk22369/index:AcceptsPathProps",
    },
    "jsii-calc.composition.CompositeOperation": {
      "abstract": true,
      "assembly": "jsii-calc",
      "base": "@scope/jsii-calc-lib.Operation",
      "docs": {
        "stability": "stable",
        "summary": "Abstract operation composed from an expression of other operations.",
      },
      "fqn": "jsii-calc.composition.CompositeOperation",
      "initializer": {},
      "kind": "class",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 147,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "summary": "String representation of the value.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 173,
          },
          "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": "stable",
            "summary": "The expression that this operation consists of.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 171,
          },
          "name": "expression",
          "type": {
            "fqn": "@scope/jsii-calc-lib.NumericValue",
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "The value.",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 163,
          },
          "name": "value",
          "overrides": "@scope/jsii-calc-lib.NumericValue",
          "type": {
            "primitive": "number",
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "A set of postfixes to include in a decorated .toString().",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 161,
          },
          "name": "decorationPostfixes",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string",
              },
              "kind": "array",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "A set of prefixes to include in a decorated .toString().",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 156,
          },
          "name": "decorationPrefixes",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string",
              },
              "kind": "array",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "The .toString() style.",
          },
          "locationInModule": {
            "filename": "lib/calculator.ts",
            "line": 151,
          },
          "name": "stringStyle",
          "type": {
            "fqn": "jsii-calc.composition.CompositeOperation.CompositionStringStyle",
          },
        },
      ],
      "symbolId": "lib/calculator:composition.CompositeOperation",
    },
    "jsii-calc.composition.CompositeOperation.CompositionStringStyle": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Style of .toString() output for CompositeOperation.",
      },
      "fqn": "jsii-calc.composition.CompositeOperation.CompositionStringStyle",
      "kind": "enum",
      "locationInModule": {
        "filename": "lib/calculator.ts",
        "line": 193,
      },
      "members": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Normal string expression.",
          },
          "name": "NORMAL",
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "Decorated string expression.",
          },
          "name": "DECORATED",
        },
      ],
      "name": "CompositionStringStyle",
      "namespace": "composition.CompositeOperation",
      "symbolId": "lib/calculator:composition.CompositeOperation.CompositionStringStyle",
    },
    "jsii-calc.homonymousForwardReferences.bar.Consumer": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.homonymousForwardReferences.bar.Consumer",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/homonymous/bar.ts",
        "line": 9,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/homonymous/bar.ts",
            "line": 10,
          },
          "name": "consume",
          "parameters": [
            {
              "name": "props",
              "type": {
                "fqn": "jsii-calc.homonymousForwardReferences.bar.ConsumerProps",
              },
            },
          ],
          "returns": {
            "type": {
              "fqn": "jsii-calc.homonymousForwardReferences.bar.Homonymous",
            },
          },
          "static": true,
        },
      ],
      "name": "Consumer",
      "namespace": "homonymousForwardReferences.bar",
      "symbolId": "lib/homonymous/bar:Consumer",
    },
    "jsii-calc.homonymousForwardReferences.bar.ConsumerProps": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.homonymousForwardReferences.bar.ConsumerProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/homonymous/bar.ts",
        "line": 5,
      },
      "name": "ConsumerProps",
      "namespace": "homonymousForwardReferences.bar",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/homonymous/bar.ts",
            "line": 6,
          },
          "name": "homonymous",
          "type": {
            "fqn": "jsii-calc.homonymousForwardReferences.bar.Homonymous",
          },
        },
      ],
      "symbolId": "lib/homonymous/bar:ConsumerProps",
    },
    "jsii-calc.homonymousForwardReferences.bar.Homonymous": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.homonymousForwardReferences.bar.Homonymous",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/homonymous/bar.ts",
        "line": 1,
      },
      "name": "Homonymous",
      "namespace": "homonymousForwardReferences.bar",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/homonymous/bar.ts",
            "line": 2,
          },
          "name": "numericProperty",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/homonymous/bar:Homonymous",
    },
    "jsii-calc.homonymousForwardReferences.foo.Consumer": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.homonymousForwardReferences.foo.Consumer",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/homonymous/foo.ts",
        "line": 9,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/homonymous/foo.ts",
            "line": 10,
          },
          "name": "consume",
          "parameters": [
            {
              "name": "props",
              "type": {
                "fqn": "jsii-calc.homonymousForwardReferences.foo.ConsumerProps",
              },
            },
          ],
          "returns": {
            "type": {
              "fqn": "jsii-calc.homonymousForwardReferences.foo.Homonymous",
            },
          },
          "static": true,
        },
      ],
      "name": "Consumer",
      "namespace": "homonymousForwardReferences.foo",
      "symbolId": "lib/homonymous/foo:Consumer",
    },
    "jsii-calc.homonymousForwardReferences.foo.ConsumerProps": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.homonymousForwardReferences.foo.ConsumerProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/homonymous/foo.ts",
        "line": 5,
      },
      "name": "ConsumerProps",
      "namespace": "homonymousForwardReferences.foo",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/homonymous/foo.ts",
            "line": 6,
          },
          "name": "homonymous",
          "type": {
            "fqn": "jsii-calc.homonymousForwardReferences.foo.Homonymous",
          },
        },
      ],
      "symbolId": "lib/homonymous/foo:ConsumerProps",
    },
    "jsii-calc.homonymousForwardReferences.foo.Homonymous": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.homonymousForwardReferences.foo.Homonymous",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/homonymous/foo.ts",
        "line": 1,
      },
      "name": "Homonymous",
      "namespace": "homonymousForwardReferences.foo",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/homonymous/foo.ts",
            "line": 2,
          },
          "name": "stringProperty",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/homonymous/foo:Homonymous",
    },
    "jsii-calc.jsii3656.ImplementMeOpts": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.jsii3656.ImplementMeOpts",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/jsii3656/index.ts",
        "line": 12,
      },
      "name": "ImplementMeOpts",
      "namespace": "jsii3656",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/jsii3656/index.ts",
            "line": 13,
          },
          "name": "name",
          "type": {
            "primitive": "string",
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/jsii3656/index.ts",
            "line": 14,
          },
          "name": "count",
          "optional": true,
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/jsii3656/index:ImplementMeOpts",
    },
    "jsii-calc.jsii3656.OverrideMe": {
      "abstract": true,
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.jsii3656.OverrideMe",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/jsii3656/index.ts",
        "line": 1,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/jsii3656/index.ts",
            "line": 2,
          },
          "name": "callAbstract",
          "parameters": [
            {
              "name": "receiver",
              "type": {
                "fqn": "jsii-calc.jsii3656.OverrideMe",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
          "static": true,
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/jsii3656/index.ts",
            "line": 9,
          },
          "name": "implementMe",
          "parameters": [
            {
              "name": "opts",
              "type": {
                "fqn": "jsii-calc.jsii3656.ImplementMeOpts",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "boolean",
            },
          },
        },
      ],
      "name": "OverrideMe",
      "namespace": "jsii3656",
      "symbolId": "lib/jsii3656/index:OverrideMe",
    },
    "jsii-calc.module2530.MyClass": {
      "assembly": "jsii-calc",
      "docs": {
        "see": "https://github.com/aws/jsii/issues/2530",
        "stability": "stable",
        "summary": "Verifies a method with parameters "_" can be generated.",
      },
      "fqn": "jsii-calc.module2530.MyClass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/module2530/index.ts",
          "line": 10,
        },
        "parameters": [
          {
            "name": "_",
            "type": {
              "primitive": "number",
            },
          },
        ],
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2530/index.ts",
        "line": 5,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2530/index.ts",
            "line": 6,
          },
          "name": "bar",
          "parameters": [
            {
              "name": "_",
              "type": {
                "primitive": "boolean",
              },
            },
          ],
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2530/index.ts",
            "line": 14,
          },
          "name": "foo",
          "parameters": [
            {
              "name": "_",
              "type": {
                "primitive": "string",
              },
            },
          ],
        },
      ],
      "name": "MyClass",
      "namespace": "module2530",
      "symbolId": "lib/module2530/index:MyClass",
    },
    "jsii-calc.module2617.OnlyStatics": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2617.OnlyStatics",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2617/index.ts",
        "line": 3,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2617/index.ts",
            "line": 7,
          },
          "name": "bar",
          "static": true,
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2617/index.ts",
            "line": 4,
          },
          "name": "foo",
          "static": true,
        },
      ],
      "name": "OnlyStatics",
      "namespace": "module2617",
      "symbolId": "lib/module2617/index:OnlyStatics",
    },
    "jsii-calc.module2647.ExtendAndImplement": {
      "assembly": "jsii-calc",
      "base": "@scope/jsii-calc-lib.BaseFor2647",
      "docs": {
        "see": "https://github.com/aws/jsii/issues/2647",
        "stability": "stable",
        "summary": "This class falls into the category of "multiple bases" from a different module from a go code gen perspective.",
      },
      "fqn": "jsii-calc.module2647.ExtendAndImplement",
      "initializer": {
        "docs": {
          "stability": "deprecated",
        },
        "locationInModule": {
          "filename": "lib/index.ts",
          "line": 122,
        },
        "parameters": [
          {
            "name": "very",
            "type": {
              "fqn": "@scope/jsii-calc-base-of-base.Very",
            },
          },
        ],
      },
      "interfaces": [
        "@scope/jsii-calc-lib.IFriendly",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2647/index.ts",
        "line": 9,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
            "summary": "Say hello!",
          },
          "locationInModule": {
            "filename": "lib/module2647/index.ts",
            "line": 14,
          },
          "name": "hello",
          "overrides": "@scope/jsii-calc-lib.IFriendly",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2647/index.ts",
            "line": 10,
          },
          "name": "localMethod",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "ExtendAndImplement",
      "namespace": "module2647",
      "symbolId": "lib/module2647/index:ExtendAndImplement",
    },
    "jsii-calc.module2689.methods.MyClass": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2689.methods.MyClass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2689/methods/index.ts",
        "line": 4,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2689/methods/index.ts",
            "line": 9,
          },
          "name": "bar",
          "parameters": [
            {
              "name": "_bar",
              "type": {
                "collection": {
                  "elementtype": {
                    "fqn": "@scope/jsii-calc-base.BaseProps",
                  },
                  "kind": "map",
                },
              },
            },
          ],
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2689/methods/index.ts",
            "line": 5,
          },
          "name": "foo",
          "parameters": [
            {
              "name": "_values",
              "type": {
                "collection": {
                  "elementtype": {
                    "fqn": "@scope/jsii-calc-lib.Number",
                  },
                  "kind": "array",
                },
              },
            },
          ],
        },
      ],
      "name": "MyClass",
      "namespace": "module2689.methods",
      "symbolId": "lib/module2689/methods/index:MyClass",
    },
    "jsii-calc.module2689.props.MyClass": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2689.props.MyClass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2689/props/index.ts",
        "line": 4,
      },
      "name": "MyClass",
      "namespace": "module2689.props",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/module2689/props/index.ts",
            "line": 6,
          },
          "name": "bar",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "@scope/jsii-calc-base.BaseProps",
              },
              "kind": "map",
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/module2689/props/index.ts",
            "line": 5,
          },
          "name": "foo",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "@scope/jsii-calc-lib.Number",
              },
              "kind": "array",
            },
          },
        },
      ],
      "symbolId": "lib/module2689/props/index:MyClass",
    },
    "jsii-calc.module2689.retval.MyClass": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2689.retval.MyClass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2689/retval/index.ts",
        "line": 4,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2689/retval/index.ts",
            "line": 9,
          },
          "name": "bar",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "@scope/jsii-calc-base.BaseProps",
                },
                "kind": "map",
              },
            },
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2689/retval/index.ts",
            "line": 5,
          },
          "name": "foo",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "@scope/jsii-calc-lib.Number",
                },
                "kind": "array",
              },
            },
          },
        },
      ],
      "name": "MyClass",
      "namespace": "module2689.retval",
      "symbolId": "lib/module2689/retval/index:MyClass",
    },
    "jsii-calc.module2689.structs.MyStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2689.structs.MyStruct",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/module2689/structs/index.ts",
        "line": 4,
      },
      "name": "MyStruct",
      "namespace": "module2689.structs",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/module2689/structs/index.ts",
            "line": 6,
          },
          "name": "baseMap",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "@scope/jsii-calc-base.BaseProps",
              },
              "kind": "map",
            },
          },
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/module2689/structs/index.ts",
            "line": 5,
          },
          "name": "numbers",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "@scope/jsii-calc-lib.Number",
              },
              "kind": "array",
            },
          },
        },
      ],
      "symbolId": "lib/module2689/structs/index:MyStruct",
    },
    "jsii-calc.module2692.submodule1.Bar": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2692.submodule1.Bar",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/module2692/submodule1/index.ts",
        "line": 1,
      },
      "name": "Bar",
      "namespace": "module2692.submodule1",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/module2692/submodule1/index.ts",
            "line": 2,
          },
          "name": "bar1",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/module2692/submodule1/index:Bar",
    },
    "jsii-calc.module2692.submodule2.Bar": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2692.submodule2.Bar",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/module2692/submodule2/index.ts",
        "line": 3,
      },
      "name": "Bar",
      "namespace": "module2692.submodule2",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/module2692/submodule2/index.ts",
            "line": 4,
          },
          "name": "bar2",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/module2692/submodule2/index:Bar",
    },
    "jsii-calc.module2692.submodule2.Foo": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2692.submodule2.Foo",
      "interfaces": [
        "jsii-calc.module2692.submodule2.Bar",
        "jsii-calc.module2692.submodule1.Bar",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/module2692/submodule2/index.ts",
        "line": 7,
      },
      "name": "Foo",
      "namespace": "module2692.submodule2",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/module2692/submodule2/index.ts",
            "line": 8,
          },
          "name": "foo2",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/module2692/submodule2/index:Foo",
    },
    "jsii-calc.module2700.Base": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2700.Base",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.module2700.IFoo",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2700/index.ts",
        "line": 6,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2700/index.ts",
            "line": 8,
          },
          "name": "bar",
          "overrides": "jsii-calc.module2700.IFoo",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "Base",
      "namespace": "module2700",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/module2700/index.ts",
            "line": 7,
          },
          "name": "baz",
          "overrides": "jsii-calc.module2700.IFoo",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/module2700/index:Base",
    },
    "jsii-calc.module2700.Derived": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.module2700.Base",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2700.Derived",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.module2700.IFoo",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2700/index.ts",
        "line": 13,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2700/index.ts",
            "line": 14,
          },
          "name": "zoo",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "Derived",
      "namespace": "module2700",
      "symbolId": "lib/module2700/index:Derived",
    },
    "jsii-calc.module2700.IFoo": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2700.IFoo",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/module2700/index.ts",
        "line": 1,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2700/index.ts",
            "line": 2,
          },
          "name": "bar",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "IFoo",
      "namespace": "module2700",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/module2700/index.ts",
            "line": 3,
          },
          "name": "baz",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/module2700/index:IFoo",
    },
    "jsii-calc.module2702.Baz": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.module2702.Class3",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2702.Baz",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.module2702.IBaz",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2702/index.ts",
        "line": 70,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2702/index.ts",
            "line": 71,
          },
          "name": "bazMethod",
          "overrides": "jsii-calc.module2702.IBaz",
        },
      ],
      "name": "Baz",
      "namespace": "module2702",
      "symbolId": "lib/module2702/index:Baz",
    },
    "jsii-calc.module2702.Class1": {
      "assembly": "jsii-calc",
      "base": "@scope/jsii-calc-base.Base",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2702.Class1",
      "initializer": {},
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2702/index.ts",
        "line": 6,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2702/index.ts",
            "line": 7,
          },
          "name": "base",
        },
      ],
      "name": "Class1",
      "namespace": "module2702",
      "symbolId": "lib/module2702/index:Class1",
    },
    "jsii-calc.module2702.Class2": {
      "assembly": "jsii-calc",
      "base": "@scope/jsii-calc-base.Base",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2702.Class2",
      "initializer": {},
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2702/index.ts",
        "line": 12,
      },
      "name": "Class2",
      "namespace": "module2702",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/module2702/index.ts",
            "line": 13,
          },
          "name": "base",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/module2702/index:Class2",
    },
    "jsii-calc.module2702.Class3": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2702.Class3",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "@scope/jsii-calc-base.IBaseInterface",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2702/index.ts",
        "line": 16,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2702/index.ts",
            "line": 17,
          },
          "name": "bar",
          "overrides": "@scope/jsii-calc-base.IBaseInterface",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2702/index.ts",
            "line": 21,
          },
          "name": "foo",
          "overrides": "@scope/jsii-calc-base-of-base.IVeryBaseInterface",
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2702/index.ts",
            "line": 25,
          },
          "name": "iBaseInterface",
        },
      ],
      "name": "Class3",
      "namespace": "module2702",
      "symbolId": "lib/module2702/index:Class3",
    },
    "jsii-calc.module2702.Construct": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2702.Construct",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.module2702.IConstruct",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2702/index.ts",
        "line": 48,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2702/index.ts",
            "line": 49,
          },
          "name": "constructMethod",
          "overrides": "jsii-calc.module2702.IConstruct",
        },
      ],
      "name": "Construct",
      "namespace": "module2702",
      "symbolId": "lib/module2702/index:Construct",
    },
    "jsii-calc.module2702.IBaz": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2702.IBaz",
      "interfaces": [
        "@scope/jsii-calc-base.IBaseInterface",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/module2702/index.ts",
        "line": 66,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2702/index.ts",
            "line": 67,
          },
          "name": "bazMethod",
        },
      ],
      "name": "IBaz",
      "namespace": "module2702",
      "symbolId": "lib/module2702/index:IBaz",
    },
    "jsii-calc.module2702.IConstruct": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2702.IConstruct",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/module2702/index.ts",
        "line": 36,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2702/index.ts",
            "line": 37,
          },
          "name": "constructMethod",
        },
      ],
      "name": "IConstruct",
      "namespace": "module2702",
      "symbolId": "lib/module2702/index:IConstruct",
    },
    "jsii-calc.module2702.IFoo": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2702.IFoo",
      "interfaces": [
        "@scope/jsii-calc-base.IBaseInterface",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/module2702/index.ts",
        "line": 30,
      },
      "name": "IFoo",
      "namespace": "module2702",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/module2702/index.ts",
            "line": 31,
          },
          "name": "iBaseInterface",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/module2702/index:IFoo",
    },
    "jsii-calc.module2702.IResource": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2702.IResource",
      "interfaces": [
        "jsii-calc.module2702.IConstruct",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/module2702/index.ts",
        "line": 40,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2702/index.ts",
            "line": 41,
          },
          "name": "resourceMethod",
        },
      ],
      "name": "IResource",
      "namespace": "module2702",
      "symbolId": "lib/module2702/index:IResource",
    },
    "jsii-calc.module2702.IVpc": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2702.IVpc",
      "interfaces": [
        "jsii-calc.module2702.IResource",
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/module2702/index.ts",
        "line": 44,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2702/index.ts",
            "line": 45,
          },
          "name": "vpcMethod",
        },
      ],
      "name": "IVpc",
      "namespace": "module2702",
      "symbolId": "lib/module2702/index:IVpc",
    },
    "jsii-calc.module2702.Resource": {
      "abstract": true,
      "assembly": "jsii-calc",
      "base": "jsii-calc.module2702.Construct",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2702.Resource",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.module2702.IResource",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2702/index.ts",
        "line": 54,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2702/index.ts",
            "line": 55,
          },
          "name": "resourceMethod",
          "overrides": "jsii-calc.module2702.IResource",
        },
      ],
      "name": "Resource",
      "namespace": "module2702",
      "symbolId": "lib/module2702/index:Resource",
    },
    "jsii-calc.module2702.Vpc": {
      "assembly": "jsii-calc",
      "base": "jsii-calc.module2702.Resource",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.module2702.Vpc",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "interfaces": [
        "jsii-calc.module2702.IVpc",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/module2702/index.ts",
        "line": 60,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/module2702/index.ts",
            "line": 61,
          },
          "name": "vpcMethod",
          "overrides": "jsii-calc.module2702.IVpc",
        },
      ],
      "name": "Vpc",
      "namespace": "module2702",
      "symbolId": "lib/module2702/index:Vpc",
    },
    "jsii-calc.nodirect.sub1.TypeFromSub1": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.nodirect.sub1.TypeFromSub1",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/no-direct-types/sub1/index.ts",
        "line": 1,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/no-direct-types/sub1/index.ts",
            "line": 2,
          },
          "name": "sub1",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "TypeFromSub1",
      "namespace": "nodirect.sub1",
      "symbolId": "lib/no-direct-types/sub1/index:TypeFromSub1",
    },
    "jsii-calc.nodirect.sub2.TypeFromSub2": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.nodirect.sub2.TypeFromSub2",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/no-direct-types/sub2/index.ts",
        "line": 1,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/no-direct-types/sub2/index.ts",
            "line": 2,
          },
          "name": "sub2",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "TypeFromSub2",
      "namespace": "nodirect.sub2",
      "symbolId": "lib/no-direct-types/sub2/index:TypeFromSub2",
    },
    "jsii-calc.onlystatic.OnlyStaticMethods": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "summary": "Test for https://github.com/aws/jsii/issues/2617.",
      },
      "fqn": "jsii-calc.onlystatic.OnlyStaticMethods",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/only-static/index.ts",
        "line": 4,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/only-static/index.ts",
            "line": 5,
          },
          "name": "staticMethod",
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
          "static": true,
        },
      ],
      "name": "OnlyStaticMethods",
      "namespace": "onlystatic",
      "symbolId": "lib/only-static/index:OnlyStaticMethods",
    },
    "jsii-calc.submodule.Default": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "see": "https://github.com/aws/jsii/issues/2637",
        "stability": "stable",
        "summary": "A struct named "Default".",
      },
      "fqn": "jsii-calc.submodule.Default",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/submodule/issue2637.ts",
        "line": 6,
      },
      "name": "Default",
      "namespace": "submodule",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/issue2637.ts",
            "line": 7,
          },
          "name": "foo",
          "type": {
            "primitive": "number",
          },
        },
      ],
      "symbolId": "lib/submodule/issue2637:Default",
    },
    "jsii-calc.submodule.MyClass": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.submodule.MyClass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "locationInModule": {
          "filename": "lib/submodule/my-class.ts",
          "line": 12,
        },
        "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": 6,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/submodule/my-class.ts",
            "line": 14,
          },
          "name": "methodWithSpecialParam",
          "parameters": [
            {
              "name": "param",
              "type": {
                "fqn": "jsii-calc.submodule.param.SpecialParameter",
              },
            },
          ],
          "returns": {
            "type": {
              "primitive": "string",
            },
          },
        },
      ],
      "name": "MyClass",
      "namespace": "submodule",
      "properties": [
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/my-class.ts",
            "line": 9,
          },
          "name": "awesomeness",
          "type": {
            "fqn": "jsii-calc.submodule.child.Awesomeness",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/my-class.ts",
            "line": 7,
          },
          "name": "definedAt",
          "overrides": "jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced",
          "type": {
            "primitive": "string",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/my-class.ts",
            "line": 8,
          },
          "name": "goodness",
          "type": {
            "fqn": "jsii-calc.submodule.child.Goodness",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/my-class.ts",
            "line": 12,
          },
          "name": "props",
          "type": {
            "fqn": "jsii-calc.submodule.child.SomeStruct",
          },
        },
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/submodule/my-class.ts",
            "line": 10,
          },
          "name": "allTypes",
          "optional": true,
          "type": {
            "fqn": "jsii-calc.AllTypes",
          },
        },
      ],
      "symbolId": "lib/submodule/my-class:MyClass",
    },
    "jsii-calc.submodule.back_references.MyClassReference": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/refers-to-parent/index.ts",
            "line": 4,
          },
          "name": "reference",
          "type": {
            "fqn": "jsii-calc.submodule.MyClass",
          },
        },
      ],
      "symbolId": "lib/submodule/refers-to-parent/index:MyClassReference",
    },
    "jsii-calc.submodule.child.Awesomeness": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.submodule.child.Awesomeness",
      "kind": "enum",
      "locationInModule": {
        "filename": "lib/submodule/child/index.ts",
        "line": 15,
      },
      "members": [
        {
          "docs": {
            "stability": "stable",
            "summary": "It was awesome!",
          },
          "name": "AWESOME",
        },
      ],
      "name": "Awesomeness",
      "namespace": "submodule.child",
      "symbolId": "lib/submodule/child/index:Awesomeness",
    },
    "jsii-calc.submodule.child.Goodness": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.submodule.child.Goodness",
      "kind": "enum",
      "locationInModule": {
        "filename": "lib/submodule/child/index.ts",
        "line": 5,
      },
      "members": [
        {
          "docs": {
            "stability": "stable",
            "summary": "It's pretty good.",
          },
          "name": "PRETTY_GOOD",
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "It's really good.",
          },
          "name": "REALLY_GOOD",
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "It's amazingly good.",
          },
          "name": "AMAZINGLY_GOOD",
        },
      ],
      "name": "Goodness",
      "namespace": "submodule.child",
      "symbolId": "lib/submodule/child/index:Goodness",
    },
    "jsii-calc.submodule.child.InnerClass": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.submodule.child.InnerClass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/submodule/child/index.ts",
        "line": 37,
      },
      "name": "InnerClass",
      "namespace": "submodule.child",
      "properties": [
        {
          "const": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/child/index.ts",
            "line": 38,
          },
          "name": "staticProp",
          "static": true,
          "type": {
            "fqn": "jsii-calc.submodule.child.SomeStruct",
          },
        },
      ],
      "symbolId": "lib/submodule/child/index:InnerClass",
    },
    "jsii-calc.submodule.child.KwargsProps": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/child/index.ts",
            "line": 42,
          },
          "name": "extra",
          "optional": true,
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/submodule/child/index:KwargsProps",
    },
    "jsii-calc.submodule.child.OuterClass": {
      "assembly": "jsii-calc",
      "docs": {
        "see": " : https://github.com/aws/jsii/pull/1706",
        "stability": "stable",
        "summary": "Checks that classes can self-reference during initialization.",
      },
      "fqn": "jsii-calc.submodule.child.OuterClass",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
        "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/child/index.ts",
            "line": 25,
          },
          "name": "innerClass",
          "type": {
            "fqn": "jsii-calc.submodule.child.InnerClass",
          },
        },
      ],
      "symbolId": "lib/submodule/child/index:OuterClass",
    },
    "jsii-calc.submodule.child.SomeEnum": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.submodule.child.SomeEnum",
      "kind": "enum",
      "locationInModule": {
        "filename": "lib/submodule/child/index.ts",
        "line": 31,
      },
      "members": [
        {
          "docs": {
            "stability": "stable",
          },
          "name": "SOME",
        },
      ],
      "name": "SomeEnum",
      "namespace": "submodule.child",
      "symbolId": "lib/submodule/child/index:SomeEnum",
    },
    "jsii-calc.submodule.child.SomeStruct": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/child/index.ts",
            "line": 35,
          },
          "name": "prop",
          "type": {
            "fqn": "jsii-calc.submodule.child.SomeEnum",
          },
        },
      ],
      "symbolId": "lib/submodule/child/index:SomeStruct",
    },
    "jsii-calc.submodule.child.Structure": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/child/index.ts",
            "line": 2,
          },
          "name": "bool",
          "type": {
            "primitive": "boolean",
          },
        },
      ],
      "symbolId": "lib/submodule/child/index:Structure",
    },
    "jsii-calc.submodule.isolated.Kwargs": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
        "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": "stable",
          },
          "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",
      "symbolId": "lib/submodule/isolated:Kwargs",
    },
    "jsii-calc.submodule.nested_submodule.Namespaced": {
      "abstract": true,
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "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": "stable",
          },
          "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/nested_submodule.ts",
            "line": 14,
          },
          "name": "goodness",
          "type": {
            "fqn": "jsii-calc.submodule.child.Goodness",
          },
        },
      ],
      "symbolId": "lib/submodule/nested_submodule:nested_submodule.Namespaced",
    },
    "jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "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": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/nested_submodule.ts",
            "line": 8,
          },
          "name": "definedAt",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/submodule/nested_submodule:nested_submodule.deeplyNested.INamespaced",
    },
    "jsii-calc.submodule.param.SpecialParameter": {
      "assembly": "jsii-calc",
      "datatype": true,
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.submodule.param.SpecialParameter",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/submodule/param/index.ts",
        "line": 1,
      },
      "name": "SpecialParameter",
      "namespace": "submodule.param",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "immutable": true,
          "locationInModule": {
            "filename": "lib/submodule/param/index.ts",
            "line": 2,
          },
          "name": "value",
          "type": {
            "primitive": "string",
          },
        },
      ],
      "symbolId": "lib/submodule/param/index:SpecialParameter",
    },
    "jsii-calc.submodule.returnsparam.ReturnsSpecialParameter": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.submodule.returnsparam.ReturnsSpecialParameter",
      "initializer": {
        "docs": {
          "stability": "stable",
        },
      },
      "kind": "class",
      "locationInModule": {
        "filename": "lib/submodule/returns-param/index.ts",
        "line": 3,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/submodule/returns-param/index.ts",
            "line": 4,
          },
          "name": "returnsSpecialParam",
          "returns": {
            "type": {
              "fqn": "jsii-calc.submodule.param.SpecialParameter",
            },
          },
        },
      ],
      "name": "ReturnsSpecialParameter",
      "namespace": "submodule.returnsparam",
      "symbolId": "lib/submodule/returns-param/index:ReturnsSpecialParameter",
    },
    "jsii-calc.union.ConsumesUnion": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.union.ConsumesUnion",
      "kind": "class",
      "locationInModule": {
        "filename": "lib/union.ts",
        "line": 15,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/union.ts",
            "line": 16,
          },
          "name": "unionType",
          "parameters": [
            {
              "name": "param",
              "type": {
                "union": {
                  "types": [
                    {
                      "fqn": "@scope/jsii-calc-lib.IFriendly",
                    },
                    {
                      "fqn": "jsii-calc.union.IResolvable",
                    },
                    {
                      "fqn": "jsii-calc.union.Resolvable",
                    },
                  ],
                },
              },
            },
          ],
          "static": true,
        },
      ],
      "name": "ConsumesUnion",
      "namespace": "union",
      "symbolId": "lib/union:ConsumesUnion",
    },
    "jsii-calc.union.IResolvable": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.union.IResolvable",
      "kind": "interface",
      "locationInModule": {
        "filename": "lib/union.ts",
        "line": 3,
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/union.ts",
            "line": 4,
          },
          "name": "resolve",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
        },
      ],
      "name": "IResolvable",
      "namespace": "union",
      "symbolId": "lib/union:IResolvable",
    },
    "jsii-calc.union.Resolvable": {
      "assembly": "jsii-calc",
      "docs": {
        "stability": "stable",
      },
      "fqn": "jsii-calc.union.Resolvable",
      "interfaces": [
        "jsii-calc.union.IResolvable",
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "lib/union.ts",
        "line": 7,
      },
      "methods": [
        {
          "docs": {
            "stability": "stable",
          },
          "locationInModule": {
            "filename": "lib/union.ts",
            "line": 10,
          },
          "name": "resolve",
          "overrides": "jsii-calc.union.IResolvable",
          "returns": {
            "type": {
              "primitive": "any",
            },
          },
        },
      ],
      "name": "Resolvable",
      "namespace": "union",
      "symbolId": "lib/union:Resolvable",
    },
  },
  "version": "3.20.120",
}
`;

exports[`v1 compatibility check: test output assembly 1`] = `
{
  "author": {
    "name": "John Doe",
    "roles": [
      "author",
    ],
  },
  "dependencies": {
    "@scope/jsii-calc-base": "*",
  },
  "dependencyClosure": {
    "@scope/jsii-calc-base": {
      "submodules": {
        "@scope/jsii-calc-base.deep": {},
      },
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png",
          "namespace": "Amazon.JSII.Tests.CalculatorNamespace.BaseNamespace",
          "packageId": "Amazon.JSII.Tests.CalculatorPackageId.BasePackageId",
        },
        "go": {
          "moduleName": "github.com/aws/jsii/jsii-calc/go",
          "packageName": "jcb",
        },
        "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",
        },
        "go": {
          "moduleName": "github.com/aws/jsii/jsii-calc/go",
        },
        "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": "testpkg",
  "fingerprint": Any<String>,
  "homepage": "https://github.com/aws/jsii.git",
  "jsiiVersion": Any<String>,
  "license": "Apache-2.0",
  "metadata": {
    "jsii": {
      "pacmak": {
        "hasDefaultInterfaces": true,
      },
    },
  },
  "name": "testpkg",
  "repository": {
    "type": "git",
    "url": "https://github.com/aws/jsii.git",
  },
  "schema": "jsii/0.10.0",
  "targets": {
    "js": {
      "npm": "testpkg",
    },
  },
  "types": {
    "testpkg.SomeClass": {
      "assembly": "testpkg",
      "base": "@scope/jsii-calc-base.deep.BarrelImportClass",
      "fqn": "testpkg.SomeClass",
      "kind": "class",
      "locationInModule": {
        "filename": "index.ts",
        "line": 4,
      },
      "name": "SomeClass",
      "symbolId": "index:SomeClass",
    },
  },
  "version": "0.0.1",
}
`;