From e79b6ceca5b3423c2aae6cd262cc9147faea07d3 Mon Sep 17 00:00:00 2001 From: Otavio Macedo Date: Tue, 5 Oct 2021 17:59:01 +0100 Subject: [PATCH 01/12] feat: added a map from symbol identifiers to fully qualified names in the assembly This will be useful for the generation of deprecation warnings and to improve the Rosetta samples. --- packages/@jsii/spec/lib/assembly.ts | 7 ++- packages/@jsii/spec/test/name-tree.test.ts | 1 + packages/jsii/lib/assembler.ts | 25 ++++++++++ packages/jsii/lib/utils.ts | 46 +++++++++++++++++++ packages/jsii/test/project-info.test.ts | 2 + packages/jsii/test/symbol-identifiers.test.ts | 32 +++++++++++++ 6 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 packages/jsii/test/symbol-identifiers.test.ts diff --git a/packages/@jsii/spec/lib/assembly.ts b/packages/@jsii/spec/lib/assembly.ts index b122ebb638..10e9dffbe1 100644 --- a/packages/@jsii/spec/lib/assembly.ts +++ b/packages/@jsii/spec/lib/assembly.ts @@ -143,6 +143,11 @@ export interface Assembly extends AssemblyConfiguration, Documentable { * @default none */ bin?: { readonly [script: string]: string }; + + /** + * Map of symbol identifiers to their corresponding FQNs + */ + symbolToFqn: { [symbolId: string]: string }; } /** @@ -198,7 +203,7 @@ export type Submodule = SourceLocatable & Targetable; * Versions of the JSII Assembly Specification. */ export enum SchemaVersion { - LATEST = 'jsii/0.10.0', + LATEST = 'jsii/0.11.0', } /** diff --git a/packages/@jsii/spec/test/name-tree.test.ts b/packages/@jsii/spec/test/name-tree.test.ts index ad1f3f7a8c..bd9efda731 100644 --- a/packages/@jsii/spec/test/name-tree.test.ts +++ b/packages/@jsii/spec/test/name-tree.test.ts @@ -25,6 +25,7 @@ test('correctly represents sample assembly', () => { 'org.jsii.TypeA.NestedType': makeType('org.jsii.TypeA', 'NestedType'), 'org.jsii.enums.TypeB': makeType('org.jsii.enums', 'TypeB'), }, + symbolToFqn: {}, }; // WHEN diff --git a/packages/jsii/lib/assembler.ts b/packages/jsii/lib/assembler.ts index ba4b208faf..b131ecd39e 100644 --- a/packages/jsii/lib/assembler.ts +++ b/packages/jsii/lib/assembler.ts @@ -1,4 +1,5 @@ import * as spec from '@jsii/spec'; +import { TypeBase } from '@jsii/spec'; import * as Case from 'case'; import * as colors from 'colors/safe'; import * as crypto from 'crypto'; @@ -25,6 +26,7 @@ import { DeprecatedRemover } from './transforms/deprecated-remover'; import { RuntimeTypeInfoInjector } from './transforms/runtime-info'; import { TsCommentReplacer } from './transforms/ts-comment-replacer'; import { combinedTransformers } from './transforms/utils'; +import { symbolIdentifier } from './utils'; import { Validator } from './validator'; import { SHORT_VERSION, VERSION } from './version'; import { enabledWarnings } from './warnings'; @@ -47,6 +49,7 @@ export class Assembler implements Emitter { private _diagnostics = new Array(); private _deferred = new Array(); private _types: { [fqn: string]: spec.Type } = {}; + private _symbolToFqn: { [symbolId: string]: string } = {}; /** Map of Symbol to namespace export Symbol */ private readonly _submoduleMap = new Map(); @@ -232,6 +235,7 @@ export class Assembler implements Emitter { jsiiVersion, bin: this.projectInfo.bin, fingerprint: '', + symbolToFqn: this._symbolToFqn, }; if (this.deprecatedRemover) { @@ -900,6 +904,7 @@ export class Assembler implements Emitter { ); if (jsiiType) { this.registerExportedClassFqn(node, jsiiType.fqn); + this.registerSymbolIdentifier(node, jsiiType); } } else if (ts.isInterfaceDeclaration(node) && _isExported(node)) { // export interface Name { ... } @@ -908,12 +913,18 @@ export class Assembler implements Emitter { this._typeChecker.getTypeAtLocation(node), context, ); + if (jsiiType) { + this.registerSymbolIdentifier(node, jsiiType); + } } else if (ts.isEnumDeclaration(node) && _isExported(node)) { // export enum Name { ... } jsiiType = await this._visitEnum( this._typeChecker.getTypeAtLocation(node), context, ); + if (jsiiType) { + this.registerSymbolIdentifier(node, jsiiType); + } } else if (ts.isModuleDeclaration(node)) { // export namespace name { ... } const name = node.name.getText(); @@ -1026,6 +1037,20 @@ export class Assembler implements Emitter { return [jsiiType]; } + private registerSymbolIdentifier( + node: ts.ClassDeclaration | ts.EnumDeclaration | ts.InterfaceDeclaration, + jsiiType: TypeBase, + ) { + const symbolId = symbolIdentifier( + this._typeChecker, + this._typeChecker.getTypeAtLocation(node).symbol, + this.projectInfo.projectRoot, + ); + if (symbolId) { + this._symbolToFqn[symbolId] = jsiiType.fqn; + } + } + private _validateHeritageClauses(clauses?: ts.NodeArray) { if (clauses == null || clauses.length === 0) { // Nothing to do. diff --git a/packages/jsii/lib/utils.ts b/packages/jsii/lib/utils.ts index f413bdbf27..1aedc62ffe 100644 --- a/packages/jsii/lib/utils.ts +++ b/packages/jsii/lib/utils.ts @@ -1,4 +1,5 @@ import * as log4js from 'log4js'; +import * as path from 'path'; import * as ts from 'typescript'; import { JsiiDiagnostic } from './jsii-diagnostic'; @@ -163,3 +164,48 @@ export function parseRepository(value: string): { url: string } { throw new Error(`Unknown host service: ${host}`); } } + +export function symbolIdentifier( + typeChecker: ts.TypeChecker, + sym: ts.Symbol, + projectRoot: string, +): string | undefined { + const inFileNameParts: string[] = []; + + let decl: ts.Node | undefined = sym.declarations[0]; + while (decl && !ts.isSourceFile(decl)) { + if ( + ts.isClassDeclaration(decl) || + ts.isNamespaceExportDeclaration(decl) || + ts.isNamespaceExport(decl) || + ts.isEnumDeclaration(decl) || + ts.isEnumMember(decl) || + ts.isInterfaceDeclaration(decl) || + ts.isMethodDeclaration(decl) || + ts.isMethodSignature(decl) || + ts.isPropertyDeclaration(decl) || + ts.isPropertySignature(decl) + ) { + const name = ts.getNameOfDeclaration(decl); + const declSym = name ? typeChecker.getSymbolAtLocation(name) : undefined; + if (declSym) { + inFileNameParts.unshift(declSym.name); + } + } + decl = decl.parent; + } + if (!decl) { + return undefined; + } + + const fileName = path.relative(projectRoot, decl.getSourceFile().fileName); + const namespace = path.join( + path.dirname(fileName), + path.basename(fileName, '.ts'), + ); + if (!namespace) { + return undefined; + } + + return `${namespace}:${inFileNameParts.join('.')}`; +} diff --git a/packages/jsii/test/project-info.test.ts b/packages/jsii/test/project-info.test.ts index 6f754f24e3..398d5bdf55 100644 --- a/packages/jsii/test/project-info.test.ts +++ b/packages/jsii/test/project-info.test.ts @@ -263,6 +263,7 @@ const TEST_DEP_ASSEMBLY: spec.Assembly = { 'jsii-test-dep-dep': '3.2.1', }, jsiiVersion: VERSION, + symbolToFqn: {}, }; const TEST_DEP_DEP_ASSEMBLY: spec.Assembly = { @@ -281,6 +282,7 @@ const TEST_DEP_DEP_ASSEMBLY: spec.Assembly = { }, jsiiVersion: VERSION, fingerprint: 'F1NG3RPR1N7', + symbolToFqn: {}, }; /** diff --git a/packages/jsii/test/symbol-identifiers.test.ts b/packages/jsii/test/symbol-identifiers.test.ts new file mode 100644 index 0000000000..c67a22d484 --- /dev/null +++ b/packages/jsii/test/symbol-identifiers.test.ts @@ -0,0 +1,32 @@ +import { compileJsiiForTest } from '../lib'; + +test('Symbol map is generated', async () => { + const result = await compileJsiiForTest( + { + 'index.ts': ` + export * from './some/nested/file'; + export class Foo { + public bar(){} + } + `, + 'some/nested/file.ts': ` + export interface Bar { + readonly x: string; + } + export enum Baz { + ALPHA = 0, + BETA = 1, + } + `, + }, + undefined /* callback */, + { stripDeprecated: true }, + ); + + console.log(result.assembly); + expect(result.assembly.symbolToFqn).toEqual({ + 'index:Foo': 'testpkg.Foo', + 'some/nested/file:Bar': 'testpkg.Bar', + 'some/nested/file:Baz': 'testpkg.Baz', + }); +}); From 19057deb92b95139f5365eafcb28222f07669f05 Mon Sep 17 00:00:00 2001 From: Otavio Macedo Date: Tue, 5 Oct 2021 20:02:52 +0100 Subject: [PATCH 02/12] Fixed tests --- .../@jsii/spec/test/previous-assemblies/0.21.2.jsii.json | 5 +++-- .../test/generated-code/prerelease-identifiers.test.ts | 1 + packages/jsii-rosetta/test/jsii/fake-assembly.ts | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json b/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json index f684908231..453a6a23bd 100644 --- a/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json +++ b/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json @@ -1047,7 +1047,7 @@ "type": "git", "url": "https://github.com/aws/aws-cdk.git" }, - "schema": "jsii/0.10.0", + "schema": "jsii/0.11.0", "targets": { "dotnet": { "assemblyOriginatorKeyFile": "../../key.snk", @@ -7776,5 +7776,6 @@ } }, "version": "1.22.0", - "fingerprint": "/uV+V7EmvZ86dhBizVIx9ArVdwypxXC0BmVoZP/mzRI=" + "fingerprint": "/uV+V7EmvZ86dhBizVIx9ArVdwypxXC0BmVoZP/mzRI=", + "symbolToFqn": {} } diff --git a/packages/jsii-pacmak/test/generated-code/prerelease-identifiers.test.ts b/packages/jsii-pacmak/test/generated-code/prerelease-identifiers.test.ts index a65ae3d7eb..fa4ec7fde0 100644 --- a/packages/jsii-pacmak/test/generated-code/prerelease-identifiers.test.ts +++ b/packages/jsii-pacmak/test/generated-code/prerelease-identifiers.test.ts @@ -136,6 +136,7 @@ function mockAssembly( schema: SchemaVersion.LATEST, targets: targetsOf(name), version, + symbolToFqn: {}, }; function targetsOf(name: string): Assembly['targets'] { diff --git a/packages/jsii-rosetta/test/jsii/fake-assembly.ts b/packages/jsii-rosetta/test/jsii/fake-assembly.ts index 09dcf022f3..8bc9eea139 100644 --- a/packages/jsii-rosetta/test/jsii/fake-assembly.ts +++ b/packages/jsii-rosetta/test/jsii/fake-assembly.ts @@ -12,6 +12,7 @@ export function fakeAssembly(parts: Partial): Assembly { version: '0.0.0-use.local', jsiiVersion: '0.0.0-use.local', license: 'UNLICENSED', + symbolToFqn: {}, ...parts, }; } From 688c58c1f953832dafca4f7395635e714a55a5db Mon Sep 17 00:00:00 2001 From: Otavio Macedo Date: Wed, 6 Oct 2021 10:32:12 +0100 Subject: [PATCH 03/12] Added a symbolId to every type instead of a global map --- packages/@jsii/spec/lib/assembly.ts | 12 +++++----- packages/@jsii/spec/test/name-tree.test.ts | 1 - .../test/previous-assemblies/0.21.2.jsii.json | 2 +- .../prerelease-identifiers.test.ts | 1 - .../jsii-rosetta/test/jsii/fake-assembly.ts | 1 - packages/jsii/lib/assembler.ts | 22 ++++--------------- packages/jsii/test/deprecated-remover.test.ts | 4 ++++ packages/jsii/test/enums.test.ts | 2 ++ packages/jsii/test/export-specifier.test.ts | 1 + packages/jsii/test/project-info.test.ts | 2 -- packages/jsii/test/quirks.test.ts | 1 + packages/jsii/test/symbol-identifiers.test.ts | 10 ++++----- 12 files changed, 23 insertions(+), 36 deletions(-) diff --git a/packages/@jsii/spec/lib/assembly.ts b/packages/@jsii/spec/lib/assembly.ts index 10e9dffbe1..07d483a515 100644 --- a/packages/@jsii/spec/lib/assembly.ts +++ b/packages/@jsii/spec/lib/assembly.ts @@ -143,11 +143,6 @@ export interface Assembly extends AssemblyConfiguration, Documentable { * @default none */ bin?: { readonly [script: string]: string }; - - /** - * Map of symbol identifiers to their corresponding FQNs - */ - symbolToFqn: { [symbolId: string]: string }; } /** @@ -203,7 +198,7 @@ export type Submodule = SourceLocatable & Targetable; * Versions of the JSII Assembly Specification. */ export enum SchemaVersion { - LATEST = 'jsii/0.11.0', + LATEST = 'jsii/0.10.0', } /** @@ -816,6 +811,11 @@ export interface TypeBase extends Documentable, SourceLocatable { * The kind of the type. */ kind: TypeKind; + + /** + * Unique string representation of the corresponding Typescript symbol + */ + symbolId?: string; } /** diff --git a/packages/@jsii/spec/test/name-tree.test.ts b/packages/@jsii/spec/test/name-tree.test.ts index bd9efda731..ad1f3f7a8c 100644 --- a/packages/@jsii/spec/test/name-tree.test.ts +++ b/packages/@jsii/spec/test/name-tree.test.ts @@ -25,7 +25,6 @@ test('correctly represents sample assembly', () => { 'org.jsii.TypeA.NestedType': makeType('org.jsii.TypeA', 'NestedType'), 'org.jsii.enums.TypeB': makeType('org.jsii.enums', 'TypeB'), }, - symbolToFqn: {}, }; // WHEN diff --git a/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json b/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json index 453a6a23bd..24e99d6972 100644 --- a/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json +++ b/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json @@ -1047,7 +1047,7 @@ "type": "git", "url": "https://github.com/aws/aws-cdk.git" }, - "schema": "jsii/0.11.0", + "schema": "jsii/0.10.0", "targets": { "dotnet": { "assemblyOriginatorKeyFile": "../../key.snk", diff --git a/packages/jsii-pacmak/test/generated-code/prerelease-identifiers.test.ts b/packages/jsii-pacmak/test/generated-code/prerelease-identifiers.test.ts index fa4ec7fde0..a65ae3d7eb 100644 --- a/packages/jsii-pacmak/test/generated-code/prerelease-identifiers.test.ts +++ b/packages/jsii-pacmak/test/generated-code/prerelease-identifiers.test.ts @@ -136,7 +136,6 @@ function mockAssembly( schema: SchemaVersion.LATEST, targets: targetsOf(name), version, - symbolToFqn: {}, }; function targetsOf(name: string): Assembly['targets'] { diff --git a/packages/jsii-rosetta/test/jsii/fake-assembly.ts b/packages/jsii-rosetta/test/jsii/fake-assembly.ts index 8bc9eea139..09dcf022f3 100644 --- a/packages/jsii-rosetta/test/jsii/fake-assembly.ts +++ b/packages/jsii-rosetta/test/jsii/fake-assembly.ts @@ -12,7 +12,6 @@ export function fakeAssembly(parts: Partial): Assembly { version: '0.0.0-use.local', jsiiVersion: '0.0.0-use.local', license: 'UNLICENSED', - symbolToFqn: {}, ...parts, }; } diff --git a/packages/jsii/lib/assembler.ts b/packages/jsii/lib/assembler.ts index b131ecd39e..74bd1b7544 100644 --- a/packages/jsii/lib/assembler.ts +++ b/packages/jsii/lib/assembler.ts @@ -1,5 +1,4 @@ import * as spec from '@jsii/spec'; -import { TypeBase } from '@jsii/spec'; import * as Case from 'case'; import * as colors from 'colors/safe'; import * as crypto from 'crypto'; @@ -49,7 +48,6 @@ export class Assembler implements Emitter { private _diagnostics = new Array(); private _deferred = new Array(); private _types: { [fqn: string]: spec.Type } = {}; - private _symbolToFqn: { [symbolId: string]: string } = {}; /** Map of Symbol to namespace export Symbol */ private readonly _submoduleMap = new Map(); @@ -235,7 +233,6 @@ export class Assembler implements Emitter { jsiiVersion, bin: this.projectInfo.bin, fingerprint: '', - symbolToFqn: this._symbolToFqn, }; if (this.deprecatedRemover) { @@ -904,7 +901,6 @@ export class Assembler implements Emitter { ); if (jsiiType) { this.registerExportedClassFqn(node, jsiiType.fqn); - this.registerSymbolIdentifier(node, jsiiType); } } else if (ts.isInterfaceDeclaration(node) && _isExported(node)) { // export interface Name { ... } @@ -913,18 +909,12 @@ export class Assembler implements Emitter { this._typeChecker.getTypeAtLocation(node), context, ); - if (jsiiType) { - this.registerSymbolIdentifier(node, jsiiType); - } } else if (ts.isEnumDeclaration(node) && _isExported(node)) { // export enum Name { ... } jsiiType = await this._visitEnum( this._typeChecker.getTypeAtLocation(node), context, ); - if (jsiiType) { - this.registerSymbolIdentifier(node, jsiiType); - } } else if (ts.isModuleDeclaration(node)) { // export namespace name { ... } const name = node.name.getText(); @@ -970,6 +960,8 @@ export class Assembler implements Emitter { return []; } + jsiiType.symbolId = this.getSymbolId(node); + // Let's quickly verify the declaration does not collide with a submodule. Submodules get case-adjusted for each // target language separately, so names cannot collide with case-variations. for (const submodule of this._submodules.keys()) { @@ -1037,18 +1029,12 @@ export class Assembler implements Emitter { return [jsiiType]; } - private registerSymbolIdentifier( - node: ts.ClassDeclaration | ts.EnumDeclaration | ts.InterfaceDeclaration, - jsiiType: TypeBase, - ) { - const symbolId = symbolIdentifier( + private getSymbolId(node: ts.Node) { + return symbolIdentifier( this._typeChecker, this._typeChecker.getTypeAtLocation(node).symbol, this.projectInfo.projectRoot, ); - if (symbolId) { - this._symbolToFqn[symbolId] = jsiiType.fqn; - } } private _validateHeritageClauses(clauses?: ts.NodeArray) { diff --git a/packages/jsii/test/deprecated-remover.test.ts b/packages/jsii/test/deprecated-remover.test.ts index 3ba3990175..c623f0abb3 100644 --- a/packages/jsii/test/deprecated-remover.test.ts +++ b/packages/jsii/test/deprecated-remover.test.ts @@ -65,6 +65,7 @@ test('produces correct output', async () => { }, ], "name": "GrandChild", + "symbolId": "mixed:GrandChild", }, "testpkg.IRetainedInterface": Object { "assembly": "testpkg", @@ -75,6 +76,7 @@ test('produces correct output', async () => { "line": 2, }, "name": "IRetainedInterface", + "symbolId": "retained:IRetainedInterface", }, "testpkg.Retained": Object { "abstract": true, @@ -100,6 +102,7 @@ test('produces correct output', async () => { }, }, ], + "symbolId": "mixed:Retained", }, "testpkg.RetainedClass": Object { "assembly": "testpkg", @@ -111,6 +114,7 @@ test('produces correct output', async () => { "line": 3, }, "name": "RetainedClass", + "symbolId": "retained:RetainedClass", }, } `); diff --git a/packages/jsii/test/enums.test.ts b/packages/jsii/test/enums.test.ts index 22d29e430b..2467afac99 100644 --- a/packages/jsii/test/enums.test.ts +++ b/packages/jsii/test/enums.test.ts @@ -16,6 +16,7 @@ test('test parsing enum with two members and no values', async () => { members: [{ name: 'BAR' }, { name: 'BAZ' }], locationInModule: { filename: 'index.ts', line: 2 }, name: 'Foo', + symbolId: 'index:Foo', }); }); @@ -35,5 +36,6 @@ test('test parsing enum with two members and assigned values', async () => { members: [{ name: 'BAR' }, { name: 'BAZ' }], locationInModule: { filename: 'index.ts', line: 2 }, name: 'Foo', + symbolId: 'index:Foo', }); }); diff --git a/packages/jsii/test/export-specifier.test.ts b/packages/jsii/test/export-specifier.test.ts index 88c5d5a596..cc0391fcc0 100644 --- a/packages/jsii/test/export-specifier.test.ts +++ b/packages/jsii/test/export-specifier.test.ts @@ -12,5 +12,6 @@ test('export { Foo } from "./foo"', async () => { kind: 'class', locationInModule: { filename: 'foo.ts', line: 1 }, name: 'Foo', + symbolId: 'foo:Foo', }); }); diff --git a/packages/jsii/test/project-info.test.ts b/packages/jsii/test/project-info.test.ts index 398d5bdf55..6f754f24e3 100644 --- a/packages/jsii/test/project-info.test.ts +++ b/packages/jsii/test/project-info.test.ts @@ -263,7 +263,6 @@ const TEST_DEP_ASSEMBLY: spec.Assembly = { 'jsii-test-dep-dep': '3.2.1', }, jsiiVersion: VERSION, - symbolToFqn: {}, }; const TEST_DEP_DEP_ASSEMBLY: spec.Assembly = { @@ -282,7 +281,6 @@ const TEST_DEP_DEP_ASSEMBLY: spec.Assembly = { }, jsiiVersion: VERSION, fingerprint: 'F1NG3RPR1N7', - symbolToFqn: {}, }; /** diff --git a/packages/jsii/test/quirks.test.ts b/packages/jsii/test/quirks.test.ts index ecb1fb230b..86f56085ff 100644 --- a/packages/jsii/test/quirks.test.ts +++ b/packages/jsii/test/quirks.test.ts @@ -28,5 +28,6 @@ test('trailing semicolon after method is correctly ignored', async () => { initializer: { locationInModule: { filename: 'index.ts', line: 5 } }, locationInModule: { filename: 'index.ts', line: 2 }, name: 'Foo', + symbolId: 'index:Foo', }); }); diff --git a/packages/jsii/test/symbol-identifiers.test.ts b/packages/jsii/test/symbol-identifiers.test.ts index c67a22d484..60ef5015c6 100644 --- a/packages/jsii/test/symbol-identifiers.test.ts +++ b/packages/jsii/test/symbol-identifiers.test.ts @@ -23,10 +23,8 @@ test('Symbol map is generated', async () => { { stripDeprecated: true }, ); - console.log(result.assembly); - expect(result.assembly.symbolToFqn).toEqual({ - 'index:Foo': 'testpkg.Foo', - 'some/nested/file:Bar': 'testpkg.Bar', - 'some/nested/file:Baz': 'testpkg.Baz', - }); + const types = result.assembly.types ?? {}; + expect(types['testpkg.Foo'].symbolId).toEqual('index:Foo'); + expect(types['testpkg.Bar'].symbolId).toEqual('some/nested/file:Bar'); + expect(types['testpkg.Baz'].symbolId).toEqual('some/nested/file:Baz'); }); From 9e3ada804e8f2a908702da211b6465e9f0be58ce Mon Sep 17 00:00:00 2001 From: Otavio Macedo Date: Wed, 6 Oct 2021 10:54:32 +0100 Subject: [PATCH 04/12] Fixed integration tests --- .../test/commands/transliterate.test.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/packages/jsii-rosetta/test/commands/transliterate.test.ts b/packages/jsii-rosetta/test/commands/transliterate.test.ts index 4c125c10af..3fcd5d8109 100644 --- a/packages/jsii-rosetta/test/commands/transliterate.test.ts +++ b/packages/jsii-rosetta/test/commands/transliterate.test.ts @@ -259,6 +259,7 @@ export class ClassName implements IInterface { }, }, ], + "symbolId": "index:ClassName", }, "testpkg.ClassNameProps": Object { "assembly": "testpkg", @@ -298,6 +299,7 @@ export class ClassName implements IInterface { }, }, ], + "symbolId": "index:ClassNameProps", }, "testpkg.EnumType": Object { "assembly": "testpkg", @@ -334,6 +336,7 @@ export class ClassName implements IInterface { }, ], "name": "EnumType", + "symbolId": "index:EnumType", }, "testpkg.IInterface": Object { "assembly": "testpkg", @@ -381,6 +384,7 @@ export class ClassName implements IInterface { }, }, ], + "symbolId": "index:IInterface", }, }, "version": "0.0.1", @@ -537,6 +541,7 @@ export class ClassName implements IInterface { }, }, ], + "symbolId": "index:ClassName", }, "testpkg.ClassNameProps": Object { "assembly": "testpkg", @@ -576,6 +581,7 @@ export class ClassName implements IInterface { }, }, ], + "symbolId": "index:ClassNameProps", }, "testpkg.EnumType": Object { "assembly": "testpkg", @@ -612,6 +618,7 @@ export class ClassName implements IInterface { }, ], "name": "EnumType", + "symbolId": "index:EnumType", }, "testpkg.IInterface": Object { "assembly": "testpkg", @@ -659,6 +666,7 @@ export class ClassName implements IInterface { }, }, ], + "symbolId": "index:IInterface", }, }, "version": "0.0.1", @@ -815,6 +823,7 @@ export class ClassName implements IInterface { }, }, ], + "symbolId": "index:ClassName", }, "testpkg.ClassNameProps": Object { "assembly": "testpkg", @@ -854,6 +863,7 @@ export class ClassName implements IInterface { }, }, ], + "symbolId": "index:ClassNameProps", }, "testpkg.EnumType": Object { "assembly": "testpkg", @@ -890,6 +900,7 @@ export class ClassName implements IInterface { }, ], "name": "EnumType", + "symbolId": "index:EnumType", }, "testpkg.IInterface": Object { "assembly": "testpkg", @@ -937,6 +948,7 @@ export class ClassName implements IInterface { }, }, ], + "symbolId": "index:IInterface", }, }, "version": "0.0.1", @@ -1107,6 +1119,7 @@ new SampleClass('omitted-literate'); "line": 7, }, "name": "SampleClass", + "symbolId": "index:SampleClass", }, }, "version": "0.0.1", @@ -1212,6 +1225,7 @@ new SampleClass('omitted-literate'); "line": 7, }, "name": "SampleClass", + "symbolId": "index:SampleClass", }, }, "version": "0.0.1", @@ -1317,6 +1331,7 @@ new SampleClass('omitted-literate'); "line": 7, }, "name": "SampleClass", + "symbolId": "index:SampleClass", }, }, "version": "0.0.1", From c02f3a9cb93d2e9297fbb8b6b28f6f84a18cfa96 Mon Sep 17 00:00:00 2001 From: Otavio Macedo Date: Wed, 6 Oct 2021 10:57:01 +0100 Subject: [PATCH 05/12] Removed leftover prop --- packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json b/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json index 24e99d6972..6508cfee4b 100644 --- a/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json +++ b/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json @@ -7777,5 +7777,4 @@ }, "version": "1.22.0", "fingerprint": "/uV+V7EmvZ86dhBizVIx9ArVdwypxXC0BmVoZP/mzRI=", - "symbolToFqn": {} } From c2f17d09dc18d941bc20987dae175d9aa27e3424 Mon Sep 17 00:00:00 2001 From: Otavio Macedo Date: Wed, 6 Oct 2021 11:27:19 +0100 Subject: [PATCH 06/12] Update 0.21.2.jsii.json --- packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json b/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json index 6508cfee4b..f684908231 100644 --- a/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json +++ b/packages/@jsii/spec/test/previous-assemblies/0.21.2.jsii.json @@ -7776,5 +7776,5 @@ } }, "version": "1.22.0", - "fingerprint": "/uV+V7EmvZ86dhBizVIx9ArVdwypxXC0BmVoZP/mzRI=", + "fingerprint": "/uV+V7EmvZ86dhBizVIx9ArVdwypxXC0BmVoZP/mzRI=" } From 4156836ac8226a11929691dd957ed0bf0a0a360a Mon Sep 17 00:00:00 2001 From: Otavio Macedo Date: Wed, 6 Oct 2021 11:45:36 +0100 Subject: [PATCH 07/12] Fixed snapshot test --- .../jsii-calc-base-of-base/test/assembly.jsii | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/@scope/jsii-calc-base-of-base/test/assembly.jsii b/packages/@scope/jsii-calc-base-of-base/test/assembly.jsii index 16b45fea3f..5549a32ecf 100644 --- a/packages/@scope/jsii-calc-base-of-base/test/assembly.jsii +++ b/packages/@scope/jsii-calc-base-of-base/test/assembly.jsii @@ -70,7 +70,8 @@ "name": "foo" } ], - "name": "IVeryBaseInterface" + "name": "IVeryBaseInterface", + "symbolId": "lib/index:IVeryBaseInterface" }, "@scope/jsii-calc-base-of-base.StaticConsumer": { "assembly": "@scope/jsii-calc-base-of-base", @@ -100,7 +101,8 @@ "variadic": true } ], - "name": "StaticConsumer" + "name": "StaticConsumer", + "symbolId": "lib/index:StaticConsumer" }, "@scope/jsii-calc-base-of-base.Very": { "assembly": "@scope/jsii-calc-base-of-base", @@ -132,7 +134,8 @@ } } ], - "name": "Very" + "name": "Very", + "symbolId": "lib/index:Very" }, "@scope/jsii-calc-base-of-base.VeryBaseProps": { "assembly": "@scope/jsii-calc-base-of-base", @@ -157,9 +160,10 @@ "fqn": "@scope/jsii-calc-base-of-base.Very" } } - ] + ], + "symbolId": "lib/index:VeryBaseProps" } }, "version": "2.1.1", - "fingerprint": "rbtJN11MzD+pqofNrrkTb/GoS1wpG+lpZoOWh+HXysE=" + "fingerprint": "6Qes5fbC/YvlKQaK6Oqw0RGgsr/feI/vaRWDYXJJaU8=" } From 86b6caf4c0ac0763c1ce0019bd09756d12bfc545 Mon Sep 17 00:00:00 2001 From: Otavio Macedo Date: Wed, 6 Oct 2021 12:08:25 +0100 Subject: [PATCH 08/12] Fixed snapshot test --- packages/@scope/jsii-calc-base/test/assembly.jsii | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/@scope/jsii-calc-base/test/assembly.jsii b/packages/@scope/jsii-calc-base/test/assembly.jsii index 3d2dc54702..0e6123d8ad 100644 --- a/packages/@scope/jsii-calc-base/test/assembly.jsii +++ b/packages/@scope/jsii-calc-base/test/assembly.jsii @@ -113,7 +113,8 @@ } } ], - "name": "Base" + "name": "Base", + "symbolId": "lib/index:Base" }, "@scope/jsii-calc-base.BaseProps": { "assembly": "@scope/jsii-calc-base", @@ -141,7 +142,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/index:BaseProps" }, "@scope/jsii-calc-base.IBaseInterface": { "assembly": "@scope/jsii-calc-base", @@ -164,7 +166,8 @@ "name": "bar" } ], - "name": "IBaseInterface" + "name": "IBaseInterface", + "symbolId": "lib/index:IBaseInterface" }, "@scope/jsii-calc-base.StaticConsumer": { "assembly": "@scope/jsii-calc-base", @@ -198,9 +201,10 @@ "variadic": true } ], - "name": "StaticConsumer" + "name": "StaticConsumer", + "symbolId": "lib/index:StaticConsumer" } }, "version": "0.0.0", - "fingerprint": "rIJAOTzUs2OYke2UCJzexq/fqJOiqmR9PbTMlf37o/A=" + "fingerprint": "DVCANvLLzJEu5VNOJVmldbT5wTXhmHlZzk3E6muTR5I=" } From 635456f4ed6ac32c6391e6b09125cf64ea0f65ff Mon Sep 17 00:00:00 2001 From: Otavio Macedo Date: Wed, 6 Oct 2021 12:41:25 +0100 Subject: [PATCH 09/12] Fixed snapshot tests --- .../@scope/jsii-calc-lib/test/assembly.jsii | 56 +- packages/jsii-calc/test/assembly.jsii | 800 ++++++++++++------ 2 files changed, 570 insertions(+), 286 deletions(-) diff --git a/packages/@scope/jsii-calc-lib/test/assembly.jsii b/packages/@scope/jsii-calc-lib/test/assembly.jsii index 95ac759049..687f2a5ec6 100644 --- a/packages/@scope/jsii-calc-lib/test/assembly.jsii +++ b/packages/@scope/jsii-calc-lib/test/assembly.jsii @@ -189,7 +189,8 @@ ] } ], - "name": "BaseFor2647" + "name": "BaseFor2647", + "symbolId": "lib/index:BaseFor2647" }, "@scope/jsii-calc-lib.DiamondLeft": { "assembly": "@scope/jsii-calc-lib", @@ -237,7 +238,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/duplicate-inherited-prop:DiamondLeft" }, "@scope/jsii-calc-lib.DiamondRight": { "assembly": "@scope/jsii-calc-lib", @@ -285,7 +287,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/duplicate-inherited-prop:DiamondRight" }, "@scope/jsii-calc-lib.EnumFromScopedModule": { "assembly": "@scope/jsii-calc-lib", @@ -314,7 +317,8 @@ "name": "VALUE2" } ], - "name": "EnumFromScopedModule" + "name": "EnumFromScopedModule", + "symbolId": "lib/index:EnumFromScopedModule" }, "@scope/jsii-calc-lib.IDoublable": { "assembly": "@scope/jsii-calc-lib", @@ -345,7 +349,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/index:IDoublable" }, "@scope/jsii-calc-lib.IFriendly": { "assembly": "@scope/jsii-calc-lib", @@ -379,7 +384,8 @@ } } ], - "name": "IFriendly" + "name": "IFriendly", + "symbolId": "lib/index:IFriendly" }, "@scope/jsii-calc-lib.IThreeLevelsInterface": { "assembly": "@scope/jsii-calc-lib", @@ -410,7 +416,8 @@ "name": "baz" } ], - "name": "IThreeLevelsInterface" + "name": "IThreeLevelsInterface", + "symbolId": "lib/index:IThreeLevelsInterface" }, "@scope/jsii-calc-lib.MyFirstStruct": { "assembly": "@scope/jsii-calc-lib", @@ -480,7 +487,8 @@ } } } - ] + ], + "symbolId": "lib/index:MyFirstStruct" }, "@scope/jsii-calc-lib.Number": { "assembly": "@scope/jsii-calc-lib", @@ -553,7 +561,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/index:Number" }, "@scope/jsii-calc-lib.NumericValue": { "abstract": true, @@ -606,7 +615,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/index:NumericValue" }, "@scope/jsii-calc-lib.Operation": { "abstract": true, @@ -643,7 +653,8 @@ } } ], - "name": "Operation" + "name": "Operation", + "symbolId": "lib/index:Operation" }, "@scope/jsii-calc-lib.StructWithOnlyOptionals": { "assembly": "@scope/jsii-calc-lib", @@ -709,7 +720,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/index:StructWithOnlyOptionals" }, "@scope/jsii-calc-lib.submodule.IReflectable": { "assembly": "@scope/jsii-calc-lib", @@ -745,7 +757,8 @@ } } } - ] + ], + "symbolId": "lib/submodule/index:IReflectable" }, "@scope/jsii-calc-lib.submodule.NestingClass": { "assembly": "@scope/jsii-calc-lib", @@ -760,7 +773,8 @@ "line": 22 }, "name": "NestingClass", - "namespace": "submodule" + "namespace": "submodule", + "symbolId": "lib/submodule/index:NestingClass" }, "@scope/jsii-calc-lib.submodule.NestingClass.NestedClass": { "assembly": "@scope/jsii-calc-lib", @@ -796,7 +810,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/submodule/index:NestedClass" }, "@scope/jsii-calc-lib.submodule.NestingClass.NestedStruct": { "assembly": "@scope/jsii-calc-lib", @@ -830,7 +845,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/submodule/index:NestedStruct" }, "@scope/jsii-calc-lib.submodule.ReflectableEntry": { "assembly": "@scope/jsii-calc-lib", @@ -877,7 +893,8 @@ "primitive": "any" } } - ] + ], + "symbolId": "lib/submodule/index:ReflectableEntry" }, "@scope/jsii-calc-lib.submodule.Reflector": { "assembly": "@scope/jsii-calc-lib", @@ -926,9 +943,10 @@ } ], "name": "Reflector", - "namespace": "submodule" + "namespace": "submodule", + "symbolId": "lib/submodule/index:Reflector" } }, "version": "0.0.0", - "fingerprint": "yaW4nEkJcW4ZyHTJGV9YSAtkrzeBBoXkDffMJBD8dGQ=" + "fingerprint": "BXEo4aMVmNYUV0dd8hK2zOYLM8iFbpxQbUzGyGagFu8=" } diff --git a/packages/jsii-calc/test/assembly.jsii b/packages/jsii-calc/test/assembly.jsii index 104dca5c4d..058d50bbc4 100644 --- a/packages/jsii-calc/test/assembly.jsii +++ b/packages/jsii-calc/test/assembly.jsii @@ -475,7 +475,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:AbstractClass" }, "jsii-calc.AbstractClassBase": { "abstract": true, @@ -511,7 +512,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:AbstractClassBase" }, "jsii-calc.AbstractClassReturner": { "assembly": "jsii-calc", @@ -577,7 +579,8 @@ "fqn": "jsii-calc.AbstractClassBase" } } - ] + ], + "symbolId": "lib/compliance:AbstractClassReturner" }, "jsii-calc.AbstractSuite": { "abstract": true, @@ -668,7 +671,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/calculator:AbstractSuite" }, "jsii-calc.Add": { "assembly": "jsii-calc", @@ -750,7 +754,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/calculator:Add" }, "jsii-calc.AllTypes": { "assembly": "jsii-calc", @@ -1155,7 +1160,8 @@ "fqn": "jsii-calc.StringEnum" } } - ] + ], + "symbolId": "lib/compliance:AllTypes" }, "jsii-calc.AllTypesEnum": { "assembly": "jsii-calc", @@ -1188,7 +1194,8 @@ "name": "THIS_IS_GREAT" } ], - "name": "AllTypesEnum" + "name": "AllTypesEnum", + "symbolId": "lib/compliance:AllTypesEnum" }, "jsii-calc.AllowedMethodNames": { "assembly": "jsii-calc", @@ -1311,7 +1318,8 @@ ] } ], - "name": "AllowedMethodNames" + "name": "AllowedMethodNames", + "symbolId": "lib/compliance:AllowedMethodNames" }, "jsii-calc.AmbiguousParameters": { "assembly": "jsii-calc", @@ -1377,7 +1385,8 @@ "fqn": "jsii-calc.Bell" } } - ] + ], + "symbolId": "lib/compliance:AmbiguousParameters" }, "jsii-calc.AnonymousImplementationProvider": { "assembly": "jsii-calc", @@ -1432,7 +1441,8 @@ } } ], - "name": "AnonymousImplementationProvider" + "name": "AnonymousImplementationProvider", + "symbolId": "lib/compliance:AnonymousImplementationProvider" }, "jsii-calc.AsyncVirtualMethods": { "assembly": "jsii-calc", @@ -1558,7 +1568,8 @@ } } ], - "name": "AsyncVirtualMethods" + "name": "AsyncVirtualMethods", + "symbolId": "lib/compliance:AsyncVirtualMethods" }, "jsii-calc.AugmentableClass": { "assembly": "jsii-calc", @@ -1598,7 +1609,8 @@ "name": "methodTwo" } ], - "name": "AugmentableClass" + "name": "AugmentableClass", + "symbolId": "lib/compliance:AugmentableClass" }, "jsii-calc.BaseJsii976": { "assembly": "jsii-calc", @@ -1616,7 +1628,8 @@ "filename": "lib/compliance.ts", "line": 2485 }, - "name": "BaseJsii976" + "name": "BaseJsii976", + "symbolId": "lib/compliance:BaseJsii976" }, "jsii-calc.Bell": { "assembly": "jsii-calc", @@ -1665,7 +1678,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/compliance:Bell" }, "jsii-calc.BinaryOperation": { "abstract": true, @@ -1765,7 +1779,8 @@ "fqn": "@scope/jsii-calc-lib.NumericValue" } } - ] + ], + "symbolId": "lib/calculator:BinaryOperation" }, "jsii-calc.BurriedAnonymousObject": { "abstract": true, @@ -1831,7 +1846,8 @@ } } ], - "name": "BurriedAnonymousObject" + "name": "BurriedAnonymousObject", + "symbolId": "lib/compliance:BurriedAnonymousObject" }, "jsii-calc.Calculator": { "assembly": "jsii-calc", @@ -2075,7 +2091,8 @@ } } } - ] + ], + "symbolId": "lib/calculator:Calculator" }, "jsii-calc.CalculatorProps": { "assembly": "jsii-calc", @@ -2129,7 +2146,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/calculator:CalculatorProps" }, "jsii-calc.ChildStruct982": { "assembly": "jsii-calc", @@ -2163,7 +2181,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/compliance:ChildStruct982" }, "jsii-calc.ClassThatImplementsTheInternalInterface": { "assembly": "jsii-calc", @@ -2241,7 +2260,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:ClassThatImplementsTheInternalInterface" }, "jsii-calc.ClassThatImplementsThePrivateInterface": { "assembly": "jsii-calc", @@ -2319,7 +2339,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:ClassThatImplementsThePrivateInterface" }, "jsii-calc.ClassWithCollections": { "assembly": "jsii-calc", @@ -2485,7 +2506,8 @@ } } } - ] + ], + "symbolId": "lib/compliance:ClassWithCollections" }, "jsii-calc.ClassWithContainerTypes": { "assembly": "jsii-calc", @@ -2623,7 +2645,8 @@ "fqn": "jsii-calc.ContainerProps" } } - ] + ], + "symbolId": "lib/container-types:ClassWithContainerTypes" }, "jsii-calc.ClassWithDocs": { "assembly": "jsii-calc", @@ -2648,7 +2671,8 @@ "filename": "lib/compliance.ts", "line": 1892 }, - "name": "ClassWithDocs" + "name": "ClassWithDocs", + "symbolId": "lib/compliance:ClassWithDocs" }, "jsii-calc.ClassWithJavaReservedWords": { "assembly": "jsii-calc", @@ -2719,7 +2743,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:ClassWithJavaReservedWords" }, "jsii-calc.ClassWithMutableObjectLiteralProperty": { "assembly": "jsii-calc", @@ -2752,7 +2777,8 @@ "fqn": "jsii-calc.IMutableObjectLiteral" } } - ] + ], + "symbolId": "lib/compliance:ClassWithMutableObjectLiteralProperty" }, "jsii-calc.ClassWithPrivateConstructorAndAutomaticProperties": { "assembly": "jsii-calc", @@ -2832,7 +2858,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:ClassWithPrivateConstructorAndAutomaticProperties" }, "jsii-calc.ConfusingToJackson": { "assembly": "jsii-calc", @@ -2920,7 +2947,8 @@ } } } - ] + ], + "symbolId": "lib/compliance:ConfusingToJackson" }, "jsii-calc.ConfusingToJacksonStruct": { "assembly": "jsii-calc", @@ -2975,7 +3003,8 @@ } } } - ] + ], + "symbolId": "lib/compliance:ConfusingToJacksonStruct" }, "jsii-calc.ConstructorPassesThisOut": { "assembly": "jsii-calc", @@ -3005,7 +3034,8 @@ "filename": "lib/compliance.ts", "line": 1848 }, - "name": "ConstructorPassesThisOut" + "name": "ConstructorPassesThisOut", + "symbolId": "lib/compliance:ConstructorPassesThisOut" }, "jsii-calc.Constructors": { "assembly": "jsii-calc", @@ -3152,7 +3182,8 @@ "static": true } ], - "name": "Constructors" + "name": "Constructors", + "symbolId": "lib/compliance:Constructors" }, "jsii-calc.ConsumePureInterface": { "assembly": "jsii-calc", @@ -3199,7 +3230,8 @@ } } ], - "name": "ConsumePureInterface" + "name": "ConsumePureInterface", + "symbolId": "lib/compliance:ConsumePureInterface" }, "jsii-calc.ConsumerCanRingBell": { "assembly": "jsii-calc", @@ -3425,7 +3457,8 @@ } } ], - "name": "ConsumerCanRingBell" + "name": "ConsumerCanRingBell", + "symbolId": "lib/compliance:ConsumerCanRingBell" }, "jsii-calc.ConsumersOfThisCrazyTypeSystem": { "assembly": "jsii-calc", @@ -3491,7 +3524,8 @@ } } ], - "name": "ConsumersOfThisCrazyTypeSystem" + "name": "ConsumersOfThisCrazyTypeSystem", + "symbolId": "lib/compliance:ConsumersOfThisCrazyTypeSystem" }, "jsii-calc.ContainerProps": { "assembly": "jsii-calc", @@ -3567,7 +3601,8 @@ } } } - ] + ], + "symbolId": "lib/container-types:ContainerProps" }, "jsii-calc.DataRenderer": { "assembly": "jsii-calc", @@ -3668,7 +3703,8 @@ } } ], - "name": "DataRenderer" + "name": "DataRenderer", + "symbolId": "lib/compliance:DataRenderer" }, "jsii-calc.Default": { "assembly": "jsii-calc", @@ -3700,7 +3736,8 @@ "name": "pleaseCompile" } ], - "name": "Default" + "name": "Default", + "symbolId": "lib/compliance:Default" }, "jsii-calc.DefaultedConstructorArgument": { "assembly": "jsii-calc", @@ -3790,7 +3827,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:DefaultedConstructorArgument" }, "jsii-calc.Demonstrate982": { "assembly": "jsii-calc", @@ -3846,7 +3884,8 @@ "static": true } ], - "name": "Demonstrate982" + "name": "Demonstrate982", + "symbolId": "lib/compliance:Demonstrate982" }, "jsii-calc.DeprecatedClass": { "assembly": "jsii-calc", @@ -3930,7 +3969,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/stability:DeprecatedClass" }, "jsii-calc.DeprecatedEnum": { "assembly": "jsii-calc", @@ -3960,7 +4000,8 @@ "name": "OPTION_B" } ], - "name": "DeprecatedEnum" + "name": "DeprecatedEnum", + "symbolId": "lib/stability:DeprecatedEnum" }, "jsii-calc.DeprecatedStruct": { "assembly": "jsii-calc", @@ -3993,7 +4034,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/stability:DeprecatedStruct" }, "jsii-calc.DerivedClassHasNoProperties.Base": { "assembly": "jsii-calc", @@ -4027,7 +4069,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:Base" }, "jsii-calc.DerivedClassHasNoProperties.Derived": { "assembly": "jsii-calc", @@ -4047,7 +4090,8 @@ "line": 330 }, "name": "Derived", - "namespace": "DerivedClassHasNoProperties" + "namespace": "DerivedClassHasNoProperties", + "symbolId": "lib/compliance:Derived" }, "jsii-calc.DerivedStruct": { "assembly": "jsii-calc", @@ -4172,7 +4216,8 @@ } } } - ] + ], + "symbolId": "lib/compliance:DerivedStruct" }, "jsii-calc.DiamondBottom": { "assembly": "jsii-calc", @@ -4208,7 +4253,8 @@ "primitive": "date" } } - ] + ], + "symbolId": "lib/duplicate-inherited-prop:DiamondBottom" }, "jsii-calc.DiamondInheritanceBaseLevelStruct": { "assembly": "jsii-calc", @@ -4239,7 +4285,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:DiamondInheritanceBaseLevelStruct" }, "jsii-calc.DiamondInheritanceFirstMidLevelStruct": { "assembly": "jsii-calc", @@ -4273,7 +4320,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:DiamondInheritanceFirstMidLevelStruct" }, "jsii-calc.DiamondInheritanceSecondMidLevelStruct": { "assembly": "jsii-calc", @@ -4307,7 +4355,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:DiamondInheritanceSecondMidLevelStruct" }, "jsii-calc.DiamondInheritanceTopLevelStruct": { "assembly": "jsii-calc", @@ -4342,7 +4391,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:DiamondInheritanceTopLevelStruct" }, "jsii-calc.DisappointingCollectionSource": { "assembly": "jsii-calc", @@ -4407,7 +4457,8 @@ } } } - ] + ], + "symbolId": "lib/compliance:DisappointingCollectionSource" }, "jsii-calc.DoNotOverridePrivates": { "assembly": "jsii-calc", @@ -4475,7 +4526,8 @@ } } ], - "name": "DoNotOverridePrivates" + "name": "DoNotOverridePrivates", + "symbolId": "lib/compliance:DoNotOverridePrivates" }, "jsii-calc.DoNotRecognizeAnyAsOptional": { "assembly": "jsii-calc", @@ -4528,7 +4580,8 @@ ] } ], - "name": "DoNotRecognizeAnyAsOptional" + "name": "DoNotRecognizeAnyAsOptional", + "symbolId": "lib/compliance:DoNotRecognizeAnyAsOptional" }, "jsii-calc.DocumentedClass": { "assembly": "jsii-calc", @@ -4592,7 +4645,8 @@ "name": "hola" } ], - "name": "DocumentedClass" + "name": "DocumentedClass", + "symbolId": "lib/documented:DocumentedClass" }, "jsii-calc.DontComplainAboutVariadicAfterOptional": { "assembly": "jsii-calc", @@ -4644,7 +4698,8 @@ "variadic": true } ], - "name": "DontComplainAboutVariadicAfterOptional" + "name": "DontComplainAboutVariadicAfterOptional", + "symbolId": "lib/compliance:DontComplainAboutVariadicAfterOptional" }, "jsii-calc.DoubleTrouble": { "assembly": "jsii-calc", @@ -4701,7 +4756,8 @@ } } ], - "name": "DoubleTrouble" + "name": "DoubleTrouble", + "symbolId": "lib/compliance:DoubleTrouble" }, "jsii-calc.DummyObj": { "assembly": "jsii-calc", @@ -4732,7 +4788,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/container-types:DummyObj" }, "jsii-calc.DynamicPropertyBearer": { "assembly": "jsii-calc", @@ -4791,7 +4848,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:DynamicPropertyBearer" }, "jsii-calc.DynamicPropertyBearerChild": { "assembly": "jsii-calc", @@ -4868,7 +4926,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:DynamicPropertyBearerChild" }, "jsii-calc.Entropy": { "abstract": true, @@ -4952,7 +5011,8 @@ } } ], - "name": "Entropy" + "name": "Entropy", + "symbolId": "lib/date:Entropy" }, "jsii-calc.EnumDispenser": { "assembly": "jsii-calc", @@ -4999,7 +5059,8 @@ "static": true } ], - "name": "EnumDispenser" + "name": "EnumDispenser", + "symbolId": "lib/compliance:EnumDispenser" }, "jsii-calc.EraseUndefinedHashValues": { "assembly": "jsii-calc", @@ -5095,7 +5156,8 @@ "static": true } ], - "name": "EraseUndefinedHashValues" + "name": "EraseUndefinedHashValues", + "symbolId": "lib/compliance:EraseUndefinedHashValues" }, "jsii-calc.EraseUndefinedHashValuesOptions": { "assembly": "jsii-calc", @@ -5143,7 +5205,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:EraseUndefinedHashValuesOptions" }, "jsii-calc.ExperimentalClass": { "assembly": "jsii-calc", @@ -5222,7 +5285,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/stability:ExperimentalClass" }, "jsii-calc.ExperimentalEnum": { "assembly": "jsii-calc", @@ -5249,7 +5313,8 @@ "name": "OPTION_B" } ], - "name": "ExperimentalEnum" + "name": "ExperimentalEnum", + "symbolId": "lib/stability:ExperimentalEnum" }, "jsii-calc.ExperimentalStruct": { "assembly": "jsii-calc", @@ -5280,7 +5345,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/stability:ExperimentalStruct" }, "jsii-calc.ExportedBaseClass": { "assembly": "jsii-calc", @@ -5326,7 +5392,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/compliance:ExportedBaseClass" }, "jsii-calc.ExtendsInternalInterface": { "assembly": "jsii-calc", @@ -5372,7 +5439,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:ExtendsInternalInterface" }, "jsii-calc.ExternalClass": { "assembly": "jsii-calc", @@ -5466,7 +5534,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/stability:ExternalClass" }, "jsii-calc.ExternalEnum": { "assembly": "jsii-calc", @@ -5502,7 +5571,8 @@ "name": "OPTION_B" } ], - "name": "ExternalEnum" + "name": "ExternalEnum", + "symbolId": "lib/stability:ExternalEnum" }, "jsii-calc.ExternalStruct": { "assembly": "jsii-calc", @@ -5539,7 +5609,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/stability:ExternalStruct" }, "jsii-calc.GiveMeStructs": { "assembly": "jsii-calc", @@ -5647,7 +5718,8 @@ "fqn": "@scope/jsii-calc-lib.StructWithOnlyOptionals" } } - ] + ], + "symbolId": "lib/compliance:GiveMeStructs" }, "jsii-calc.Greetee": { "assembly": "jsii-calc", @@ -5682,7 +5754,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/documented:Greetee" }, "jsii-calc.GreetingAugmenter": { "assembly": "jsii-calc", @@ -5725,7 +5798,8 @@ } } ], - "name": "GreetingAugmenter" + "name": "GreetingAugmenter", + "symbolId": "lib/compliance:GreetingAugmenter" }, "jsii-calc.IAnonymousImplementationProvider": { "assembly": "jsii-calc", @@ -5773,7 +5847,8 @@ } } ], - "name": "IAnonymousImplementationProvider" + "name": "IAnonymousImplementationProvider", + "symbolId": "lib/compliance:IAnonymousImplementationProvider" }, "jsii-calc.IAnonymouslyImplementMe": { "assembly": "jsii-calc", @@ -5821,7 +5896,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/compliance:IAnonymouslyImplementMe" }, "jsii-calc.IAnotherPublicInterface": { "assembly": "jsii-calc", @@ -5850,7 +5926,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:IAnotherPublicInterface" }, "jsii-calc.IBell": { "assembly": "jsii-calc", @@ -5876,7 +5953,8 @@ "name": "ring" } ], - "name": "IBell" + "name": "IBell", + "symbolId": "lib/compliance:IBell" }, "jsii-calc.IBellRinger": { "assembly": "jsii-calc", @@ -5911,7 +5989,8 @@ ] } ], - "name": "IBellRinger" + "name": "IBellRinger", + "symbolId": "lib/compliance:IBellRinger" }, "jsii-calc.IConcreteBellRinger": { "assembly": "jsii-calc", @@ -5946,7 +6025,8 @@ ] } ], - "name": "IConcreteBellRinger" + "name": "IConcreteBellRinger", + "symbolId": "lib/compliance:IConcreteBellRinger" }, "jsii-calc.IDeprecatedInterface": { "assembly": "jsii-calc", @@ -5992,7 +6072,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/stability:IDeprecatedInterface" }, "jsii-calc.IExperimentalInterface": { "assembly": "jsii-calc", @@ -6035,7 +6116,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/stability:IExperimentalInterface" }, "jsii-calc.IExtendsPrivateInterface": { "assembly": "jsii-calc", @@ -6084,7 +6166,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:IExtendsPrivateInterface" }, "jsii-calc.IExternalInterface": { "assembly": "jsii-calc", @@ -6136,7 +6219,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/stability:IExternalInterface" }, "jsii-calc.IFriendlier": { "assembly": "jsii-calc", @@ -6190,7 +6274,8 @@ } } ], - "name": "IFriendlier" + "name": "IFriendlier", + "symbolId": "lib/calculator:IFriendlier" }, "jsii-calc.IFriendlyRandomGenerator": { "assembly": "jsii-calc", @@ -6207,7 +6292,8 @@ "filename": "lib/calculator.ts", "line": 40 }, - "name": "IFriendlyRandomGenerator" + "name": "IFriendlyRandomGenerator", + "symbolId": "lib/calculator:IFriendlyRandomGenerator" }, "jsii-calc.IInterfaceImplementedByAbstractClass": { "assembly": "jsii-calc", @@ -6238,7 +6324,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:IInterfaceImplementedByAbstractClass" }, "jsii-calc.IInterfaceThatShouldNotBeADataType": { "assembly": "jsii-calc", @@ -6272,7 +6359,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:IInterfaceThatShouldNotBeADataType" }, "jsii-calc.IInterfaceWithInternal": { "assembly": "jsii-calc", @@ -6298,7 +6386,8 @@ "name": "visible" } ], - "name": "IInterfaceWithInternal" + "name": "IInterfaceWithInternal", + "symbolId": "lib/compliance:IInterfaceWithInternal" }, "jsii-calc.IInterfaceWithMethods": { "assembly": "jsii-calc", @@ -6341,7 +6430,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:IInterfaceWithMethods" }, "jsii-calc.IInterfaceWithOptionalMethodArguments": { "assembly": "jsii-calc", @@ -6383,7 +6473,8 @@ ] } ], - "name": "IInterfaceWithOptionalMethodArguments" + "name": "IInterfaceWithOptionalMethodArguments", + "symbolId": "lib/compliance:IInterfaceWithOptionalMethodArguments" }, "jsii-calc.IInterfaceWithProperties": { "assembly": "jsii-calc", @@ -6427,7 +6518,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:IInterfaceWithProperties" }, "jsii-calc.IInterfaceWithPropertiesExtension": { "assembly": "jsii-calc", @@ -6459,7 +6551,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/compliance:IInterfaceWithPropertiesExtension" }, "jsii-calc.IJSII417Derived": { "assembly": "jsii-calc", @@ -6516,7 +6609,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/erasures:IJSII417Derived" }, "jsii-calc.IJSII417PublicBaseOfBase": { "assembly": "jsii-calc", @@ -6559,7 +6653,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/erasures:IJSII417PublicBaseOfBase" }, "jsii-calc.IJsii487External": { "assembly": "jsii-calc", @@ -6572,7 +6667,8 @@ "filename": "lib/erasures.ts", "line": 52 }, - "name": "IJsii487External" + "name": "IJsii487External", + "symbolId": "lib/erasures:IJsii487External" }, "jsii-calc.IJsii487External2": { "assembly": "jsii-calc", @@ -6585,7 +6681,8 @@ "filename": "lib/erasures.ts", "line": 54 }, - "name": "IJsii487External2" + "name": "IJsii487External2", + "symbolId": "lib/erasures:IJsii487External2" }, "jsii-calc.IJsii496": { "assembly": "jsii-calc", @@ -6598,7 +6695,8 @@ "filename": "lib/erasures.ts", "line": 65 }, - "name": "IJsii496" + "name": "IJsii496", + "symbolId": "lib/erasures:IJsii496" }, "jsii-calc.IMutableObjectLiteral": { "assembly": "jsii-calc", @@ -6627,7 +6725,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:IMutableObjectLiteral" }, "jsii-calc.INonInternalInterface": { "assembly": "jsii-calc", @@ -6673,7 +6772,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:INonInternalInterface" }, "jsii-calc.IObjectWithProperty": { "assembly": "jsii-calc", @@ -6721,7 +6821,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:IObjectWithProperty" }, "jsii-calc.IOptionalMethod": { "assembly": "jsii-calc", @@ -6754,7 +6855,8 @@ } } ], - "name": "IOptionalMethod" + "name": "IOptionalMethod", + "symbolId": "lib/compliance:IOptionalMethod" }, "jsii-calc.IPrivatelyImplemented": { "assembly": "jsii-calc", @@ -6784,7 +6886,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/compliance:IPrivatelyImplemented" }, "jsii-calc.IPublicInterface": { "assembly": "jsii-calc", @@ -6815,7 +6918,8 @@ } } ], - "name": "IPublicInterface" + "name": "IPublicInterface", + "symbolId": "lib/compliance:IPublicInterface" }, "jsii-calc.IPublicInterface2": { "assembly": "jsii-calc", @@ -6846,7 +6950,8 @@ } } ], - "name": "IPublicInterface2" + "name": "IPublicInterface2", + "symbolId": "lib/compliance:IPublicInterface2" }, "jsii-calc.IRandomNumberGenerator": { "assembly": "jsii-calc", @@ -6880,7 +6985,8 @@ } } ], - "name": "IRandomNumberGenerator" + "name": "IRandomNumberGenerator", + "symbolId": "lib/calculator:IRandomNumberGenerator" }, "jsii-calc.IReturnJsii976": { "assembly": "jsii-calc", @@ -6911,7 +7017,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/compliance:IReturnJsii976" }, "jsii-calc.IReturnsNumber": { "assembly": "jsii-calc", @@ -6959,7 +7066,8 @@ "fqn": "@scope/jsii-calc-lib.Number" } } - ] + ], + "symbolId": "lib/compliance:IReturnsNumber" }, "jsii-calc.IStableInterface": { "assembly": "jsii-calc", @@ -7002,7 +7110,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/stability:IStableInterface" }, "jsii-calc.IStructReturningDelegate": { "assembly": "jsii-calc", @@ -7034,7 +7143,8 @@ } } ], - "name": "IStructReturningDelegate" + "name": "IStructReturningDelegate", + "symbolId": "lib/compliance:IStructReturningDelegate" }, "jsii-calc.IWallClock": { "assembly": "jsii-calc", @@ -7067,7 +7177,8 @@ } } ], - "name": "IWallClock" + "name": "IWallClock", + "symbolId": "lib/date:IWallClock" }, "jsii-calc.ImplementInternalInterface": { "assembly": "jsii-calc", @@ -7100,7 +7211,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:ImplementInternalInterface" }, "jsii-calc.Implementation": { "assembly": "jsii-calc", @@ -7134,7 +7246,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/compliance:Implementation" }, "jsii-calc.ImplementsInterfaceWithInternal": { "assembly": "jsii-calc", @@ -7168,7 +7281,8 @@ "overrides": "jsii-calc.IInterfaceWithInternal" } ], - "name": "ImplementsInterfaceWithInternal" + "name": "ImplementsInterfaceWithInternal", + "symbolId": "lib/compliance:ImplementsInterfaceWithInternal" }, "jsii-calc.ImplementsInterfaceWithInternalSubclass": { "assembly": "jsii-calc", @@ -7187,7 +7301,8 @@ "filename": "lib/compliance.ts", "line": 1740 }, - "name": "ImplementsInterfaceWithInternalSubclass" + "name": "ImplementsInterfaceWithInternalSubclass", + "symbolId": "lib/compliance:ImplementsInterfaceWithInternalSubclass" }, "jsii-calc.ImplementsPrivateInterface": { "assembly": "jsii-calc", @@ -7220,7 +7335,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:ImplementsPrivateInterface" }, "jsii-calc.ImplictBaseOfBase": { "assembly": "jsii-calc", @@ -7254,7 +7370,8 @@ "primitive": "date" } } - ] + ], + "symbolId": "lib/compliance:ImplictBaseOfBase" }, "jsii-calc.InbetweenClass": { "assembly": "jsii-calc", @@ -7294,7 +7411,8 @@ } } ], - "name": "InbetweenClass" + "name": "InbetweenClass", + "symbolId": "lib/compliance:InbetweenClass" }, "jsii-calc.InterfaceCollections": { "assembly": "jsii-calc", @@ -7395,7 +7513,8 @@ "static": true } ], - "name": "InterfaceCollections" + "name": "InterfaceCollections", + "symbolId": "lib/compliance:InterfaceCollections" }, "jsii-calc.InterfaceInNamespaceIncludesClasses.Foo": { "assembly": "jsii-calc", @@ -7430,7 +7549,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:Foo" }, "jsii-calc.InterfaceInNamespaceIncludesClasses.Hello": { "assembly": "jsii-calc", @@ -7462,7 +7582,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/compliance:Hello" }, "jsii-calc.InterfaceInNamespaceOnlyInterface.Hello": { "assembly": "jsii-calc", @@ -7494,7 +7615,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/compliance:Hello" }, "jsii-calc.InterfacesMaker": { "assembly": "jsii-calc", @@ -7539,7 +7661,8 @@ "static": true } ], - "name": "InterfacesMaker" + "name": "InterfacesMaker", + "symbolId": "lib/compliance:InterfacesMaker" }, "jsii-calc.Isomorphism": { "abstract": true, @@ -7577,7 +7700,8 @@ } } ], - "name": "Isomorphism" + "name": "Isomorphism", + "symbolId": "lib/compliance:Isomorphism" }, "jsii-calc.Issue2638": { "assembly": "jsii-calc", @@ -7603,7 +7727,8 @@ "filename": "lib/compliance.ts", "line": 2939 }, - "name": "Issue2638" + "name": "Issue2638", + "symbolId": "lib/compliance:Issue2638" }, "jsii-calc.Issue2638B": { "assembly": "jsii-calc", @@ -7625,7 +7750,8 @@ "filename": "lib/compliance.ts", "line": 2948 }, - "name": "Issue2638B" + "name": "Issue2638B", + "symbolId": "lib/compliance:Issue2638B" }, "jsii-calc.JSII417Derived": { "assembly": "jsii-calc", @@ -7695,7 +7821,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/erasures:JSII417Derived" }, "jsii-calc.JSII417PublicBaseOfBase": { "assembly": "jsii-calc", @@ -7757,7 +7884,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/erasures:JSII417PublicBaseOfBase" }, "jsii-calc.JSObjectLiteralForInterface": { "assembly": "jsii-calc", @@ -7807,7 +7935,8 @@ } } ], - "name": "JSObjectLiteralForInterface" + "name": "JSObjectLiteralForInterface", + "symbolId": "lib/compliance:JSObjectLiteralForInterface" }, "jsii-calc.JSObjectLiteralToNative": { "assembly": "jsii-calc", @@ -7842,7 +7971,8 @@ } } ], - "name": "JSObjectLiteralToNative" + "name": "JSObjectLiteralToNative", + "symbolId": "lib/compliance:JSObjectLiteralToNative" }, "jsii-calc.JSObjectLiteralToNativeClass": { "assembly": "jsii-calc", @@ -7888,7 +8018,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/compliance:JSObjectLiteralToNativeClass" }, "jsii-calc.JavaReservedWords": { "assembly": "jsii-calc", @@ -8443,7 +8574,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:JavaReservedWords" }, "jsii-calc.Jsii487Derived": { "assembly": "jsii-calc", @@ -8465,7 +8597,8 @@ "filename": "lib/erasures.ts", "line": 56 }, - "name": "Jsii487Derived" + "name": "Jsii487Derived", + "symbolId": "lib/erasures:Jsii487Derived" }, "jsii-calc.Jsii496Derived": { "assembly": "jsii-calc", @@ -8486,7 +8619,8 @@ "filename": "lib/erasures.ts", "line": 67 }, - "name": "Jsii496Derived" + "name": "Jsii496Derived", + "symbolId": "lib/erasures:Jsii496Derived" }, "jsii-calc.JsiiAgent": { "assembly": "jsii-calc", @@ -8524,7 +8658,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:JsiiAgent" }, "jsii-calc.JsonFormatter": { "assembly": "jsii-calc", @@ -8775,7 +8910,8 @@ "static": true } ], - "name": "JsonFormatter" + "name": "JsonFormatter", + "symbolId": "lib/compliance:JsonFormatter" }, "jsii-calc.LevelOne": { "assembly": "jsii-calc", @@ -8822,7 +8958,8 @@ "fqn": "jsii-calc.LevelOneProps" } } - ] + ], + "symbolId": "lib/compliance:LevelOne" }, "jsii-calc.LevelOne.PropBooleanValue": { "assembly": "jsii-calc", @@ -8854,7 +8991,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/compliance:PropBooleanValue" }, "jsii-calc.LevelOne.PropProperty": { "assembly": "jsii-calc", @@ -8886,7 +9024,8 @@ "fqn": "jsii-calc.LevelOne.PropBooleanValue" } } - ] + ], + "symbolId": "lib/compliance:PropProperty" }, "jsii-calc.LevelOneProps": { "assembly": "jsii-calc", @@ -8917,7 +9056,8 @@ "fqn": "jsii-calc.LevelOne.PropProperty" } } - ] + ], + "symbolId": "lib/compliance:LevelOneProps" }, "jsii-calc.LoadBalancedFargateServiceProps": { "assembly": "jsii-calc", @@ -9027,7 +9167,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/compliance:LoadBalancedFargateServiceProps" }, "jsii-calc.MethodNamedProperty": { "assembly": "jsii-calc", @@ -9078,7 +9219,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/calculator:MethodNamedProperty" }, "jsii-calc.Multiply": { "assembly": "jsii-calc", @@ -9215,7 +9357,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/calculator:Multiply" }, "jsii-calc.Negate": { "assembly": "jsii-calc", @@ -9338,7 +9481,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/calculator:Negate" }, "jsii-calc.NestedClassInstance": { "assembly": "jsii-calc", @@ -9369,7 +9513,8 @@ "static": true } ], - "name": "NestedClassInstance" + "name": "NestedClassInstance", + "symbolId": "lib/nested-class:NestedClassInstance" }, "jsii-calc.NestedStruct": { "assembly": "jsii-calc", @@ -9401,7 +9546,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/compliance:NestedStruct" }, "jsii-calc.NodeStandardLibrary": { "assembly": "jsii-calc", @@ -9491,7 +9637,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:NodeStandardLibrary" }, "jsii-calc.NullShouldBeTreatedAsUndefined": { "assembly": "jsii-calc", @@ -9594,7 +9741,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:NullShouldBeTreatedAsUndefined" }, "jsii-calc.NullShouldBeTreatedAsUndefinedData": { "assembly": "jsii-calc", @@ -9646,7 +9794,8 @@ "primitive": "any" } } - ] + ], + "symbolId": "lib/compliance:NullShouldBeTreatedAsUndefinedData" }, "jsii-calc.NumberGenerator": { "assembly": "jsii-calc", @@ -9732,7 +9881,8 @@ "fqn": "jsii-calc.IRandomNumberGenerator" } } - ] + ], + "symbolId": "lib/compliance:NumberGenerator" }, "jsii-calc.ObjectRefsInCollections": { "assembly": "jsii-calc", @@ -9811,7 +9961,8 @@ } } ], - "name": "ObjectRefsInCollections" + "name": "ObjectRefsInCollections", + "symbolId": "lib/compliance:ObjectRefsInCollections" }, "jsii-calc.ObjectWithPropertyProvider": { "assembly": "jsii-calc", @@ -9842,7 +9993,8 @@ "static": true } ], - "name": "ObjectWithPropertyProvider" + "name": "ObjectWithPropertyProvider", + "symbolId": "lib/compliance:ObjectWithPropertyProvider" }, "jsii-calc.Old": { "assembly": "jsii-calc", @@ -9875,7 +10027,8 @@ "name": "doAThing" } ], - "name": "Old" + "name": "Old", + "symbolId": "lib/documented:Old" }, "jsii-calc.OptionalArgumentInvoker": { "assembly": "jsii-calc", @@ -9927,7 +10080,8 @@ "name": "invokeWithoutOptional" } ], - "name": "OptionalArgumentInvoker" + "name": "OptionalArgumentInvoker", + "symbolId": "lib/compliance:OptionalArgumentInvoker" }, "jsii-calc.OptionalConstructorArgument": { "assembly": "jsii-calc", @@ -10015,7 +10169,8 @@ "primitive": "date" } } - ] + ], + "symbolId": "lib/compliance:OptionalConstructorArgument" }, "jsii-calc.OptionalStruct": { "assembly": "jsii-calc", @@ -10047,7 +10202,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:OptionalStruct" }, "jsii-calc.OptionalStructConsumer": { "assembly": "jsii-calc", @@ -10109,7 +10265,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:OptionalStructConsumer" }, "jsii-calc.OverridableProtectedMember": { "assembly": "jsii-calc", @@ -10202,7 +10359,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:OverridableProtectedMember" }, "jsii-calc.OverrideReturnsObject": { "assembly": "jsii-calc", @@ -10245,7 +10403,8 @@ } } ], - "name": "OverrideReturnsObject" + "name": "OverrideReturnsObject", + "symbolId": "lib/compliance:OverrideReturnsObject" }, "jsii-calc.ParentStruct982": { "assembly": "jsii-calc", @@ -10277,7 +10436,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:ParentStruct982" }, "jsii-calc.PartiallyInitializedThisConsumer": { "abstract": true, @@ -10334,7 +10494,8 @@ } } ], - "name": "PartiallyInitializedThisConsumer" + "name": "PartiallyInitializedThisConsumer", + "symbolId": "lib/compliance:PartiallyInitializedThisConsumer" }, "jsii-calc.Polymorphism": { "assembly": "jsii-calc", @@ -10377,7 +10538,8 @@ } } ], - "name": "Polymorphism" + "name": "Polymorphism", + "symbolId": "lib/compliance:Polymorphism" }, "jsii-calc.Power": { "assembly": "jsii-calc", @@ -10471,7 +10633,8 @@ "fqn": "@scope/jsii-calc-lib.NumericValue" } } - ] + ], + "symbolId": "lib/calculator:Power" }, "jsii-calc.PropertyNamedProperty": { "assembly": "jsii-calc", @@ -10520,7 +10683,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/calculator:PropertyNamedProperty" }, "jsii-calc.PublicClass": { "assembly": "jsii-calc", @@ -10550,7 +10714,8 @@ "name": "hello" } ], - "name": "PublicClass" + "name": "PublicClass", + "symbolId": "lib/compliance:PublicClass" }, "jsii-calc.PythonReservedWords": { "assembly": "jsii-calc", @@ -10890,7 +11055,8 @@ "name": "yield" } ], - "name": "PythonReservedWords" + "name": "PythonReservedWords", + "symbolId": "lib/compliance:PythonReservedWords" }, "jsii-calc.PythonSelf.ClassWithSelf": { "assembly": "jsii-calc", @@ -10962,7 +11128,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:ClassWithSelf" }, "jsii-calc.PythonSelf.ClassWithSelfKwarg": { "assembly": "jsii-calc", @@ -11009,7 +11176,8 @@ "fqn": "jsii-calc.PythonSelf.StructWithSelf" } } - ] + ], + "symbolId": "lib/compliance:ClassWithSelfKwarg" }, "jsii-calc.PythonSelf.IInterfaceWithSelf": { "assembly": "jsii-calc", @@ -11049,7 +11217,8 @@ } ], "name": "IInterfaceWithSelf", - "namespace": "PythonSelf" + "namespace": "PythonSelf", + "symbolId": "lib/compliance:IInterfaceWithSelf" }, "jsii-calc.PythonSelf.StructWithSelf": { "assembly": "jsii-calc", @@ -11081,7 +11250,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:StructWithSelf" }, "jsii-calc.ReferenceEnumFromScopedPackage": { "assembly": "jsii-calc", @@ -11152,7 +11322,8 @@ "fqn": "@scope/jsii-calc-lib.EnumFromScopedModule" } } - ] + ], + "symbolId": "lib/compliance:ReferenceEnumFromScopedPackage" }, "jsii-calc.ReturnsPrivateImplementationOfInterface": { "assembly": "jsii-calc", @@ -11189,7 +11360,8 @@ "fqn": "jsii-calc.IPrivatelyImplemented" } } - ] + ], + "symbolId": "lib/compliance:ReturnsPrivateImplementationOfInterface" }, "jsii-calc.RootStruct": { "assembly": "jsii-calc", @@ -11239,7 +11411,8 @@ "fqn": "jsii-calc.NestedStruct" } } - ] + ], + "symbolId": "lib/compliance:RootStruct" }, "jsii-calc.RootStructValidator": { "assembly": "jsii-calc", @@ -11273,7 +11446,8 @@ "static": true } ], - "name": "RootStructValidator" + "name": "RootStructValidator", + "symbolId": "lib/compliance:RootStructValidator" }, "jsii-calc.RuntimeTypeChecking": { "assembly": "jsii-calc", @@ -11377,7 +11551,8 @@ ] } ], - "name": "RuntimeTypeChecking" + "name": "RuntimeTypeChecking", + "symbolId": "lib/compliance:RuntimeTypeChecking" }, "jsii-calc.SecondLevelStruct": { "assembly": "jsii-calc", @@ -11426,7 +11601,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:SecondLevelStruct" }, "jsii-calc.SingleInstanceTwoTypes": { "assembly": "jsii-calc", @@ -11478,7 +11654,8 @@ } } ], - "name": "SingleInstanceTwoTypes" + "name": "SingleInstanceTwoTypes", + "symbolId": "lib/compliance:SingleInstanceTwoTypes" }, "jsii-calc.SingletonInt": { "assembly": "jsii-calc", @@ -11518,7 +11695,8 @@ } } ], - "name": "SingletonInt" + "name": "SingletonInt", + "symbolId": "lib/compliance:SingletonInt" }, "jsii-calc.SingletonIntEnum": { "assembly": "jsii-calc", @@ -11541,7 +11719,8 @@ "name": "SINGLETON_INT" } ], - "name": "SingletonIntEnum" + "name": "SingletonIntEnum", + "symbolId": "lib/compliance:SingletonIntEnum.SINGLETON_INT" }, "jsii-calc.SingletonString": { "assembly": "jsii-calc", @@ -11581,7 +11760,8 @@ } } ], - "name": "SingletonString" + "name": "SingletonString", + "symbolId": "lib/compliance:SingletonString" }, "jsii-calc.SingletonStringEnum": { "assembly": "jsii-calc", @@ -11604,7 +11784,8 @@ "name": "SINGLETON_STRING" } ], - "name": "SingletonStringEnum" + "name": "SingletonStringEnum", + "symbolId": "lib/compliance:SingletonStringEnum.SINGLETON_STRING" }, "jsii-calc.SmellyStruct": { "assembly": "jsii-calc", @@ -11650,7 +11831,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/calculator:SmellyStruct" }, "jsii-calc.SomeTypeJsii976": { "assembly": "jsii-calc", @@ -11702,7 +11884,8 @@ "static": true } ], - "name": "SomeTypeJsii976" + "name": "SomeTypeJsii976", + "symbolId": "lib/compliance:SomeTypeJsii976" }, "jsii-calc.StableClass": { "assembly": "jsii-calc", @@ -11781,7 +11964,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/stability:StableClass" }, "jsii-calc.StableEnum": { "assembly": "jsii-calc", @@ -11808,7 +11992,8 @@ "name": "OPTION_B" } ], - "name": "StableEnum" + "name": "StableEnum", + "symbolId": "lib/stability:StableEnum" }, "jsii-calc.StableStruct": { "assembly": "jsii-calc", @@ -11839,7 +12024,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/stability:StableStruct" }, "jsii-calc.StaticContext": { "assembly": "jsii-calc", @@ -11888,7 +12074,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/compliance:StaticContext" }, "jsii-calc.StaticHelloChild": { "assembly": "jsii-calc", @@ -11934,7 +12121,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/compliance:StaticHelloChild" }, "jsii-calc.StaticHelloParent": { "assembly": "jsii-calc", @@ -11984,7 +12172,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/compliance:StaticHelloParent" }, "jsii-calc.Statics": { "assembly": "jsii-calc", @@ -12177,7 +12366,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:Statics" }, "jsii-calc.StringEnum": { "assembly": "jsii-calc", @@ -12210,7 +12400,8 @@ "name": "C" } ], - "name": "StringEnum" + "name": "StringEnum", + "symbolId": "lib/compliance:StringEnum" }, "jsii-calc.StripInternal": { "assembly": "jsii-calc", @@ -12243,7 +12434,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:StripInternal" }, "jsii-calc.StructA": { "assembly": "jsii-calc", @@ -12307,7 +12499,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:StructA" }, "jsii-calc.StructB": { "assembly": "jsii-calc", @@ -12371,7 +12564,8 @@ "fqn": "jsii-calc.StructA" } } - ] + ], + "symbolId": "lib/compliance:StructB" }, "jsii-calc.StructParameterType": { "assembly": "jsii-calc", @@ -12420,7 +12614,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/compliance:StructParameterType" }, "jsii-calc.StructPassing": { "assembly": "jsii-calc", @@ -12503,7 +12698,8 @@ "static": true } ], - "name": "StructPassing" + "name": "StructPassing", + "symbolId": "lib/compliance:StructPassing" }, "jsii-calc.StructUnionConsumer": { "assembly": "jsii-calc", @@ -12584,7 +12780,8 @@ "static": true } ], - "name": "StructUnionConsumer" + "name": "StructUnionConsumer", + "symbolId": "lib/compliance:StructUnionConsumer" }, "jsii-calc.StructWithEnum": { "assembly": "jsii-calc", @@ -12634,7 +12831,8 @@ "fqn": "jsii-calc.AllTypesEnum" } } - ] + ], + "symbolId": "lib/compliance:StructWithEnum" }, "jsii-calc.StructWithJavaReservedWords": { "assembly": "jsii-calc", @@ -12713,7 +12911,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:StructWithJavaReservedWords" }, "jsii-calc.Sum": { "assembly": "jsii-calc", @@ -12775,7 +12974,8 @@ } } } - ] + ], + "symbolId": "lib/calculator:Sum" }, "jsii-calc.SupportsNiceJavaBuilder": { "assembly": "jsii-calc", @@ -12877,7 +13077,8 @@ } } } - ] + ], + "symbolId": "lib/compliance:SupportsNiceJavaBuilder" }, "jsii-calc.SupportsNiceJavaBuilderProps": { "assembly": "jsii-calc", @@ -12927,7 +13128,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:SupportsNiceJavaBuilderProps" }, "jsii-calc.SupportsNiceJavaBuilderWithRequiredProps": { "assembly": "jsii-calc", @@ -13016,7 +13218,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:SupportsNiceJavaBuilderWithRequiredProps" }, "jsii-calc.SyncVirtualMethods": { "assembly": "jsii-calc", @@ -13285,7 +13488,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:SyncVirtualMethods" }, "jsii-calc.TestStructWithEnum": { "assembly": "jsii-calc", @@ -13385,7 +13589,8 @@ "fqn": "jsii-calc.StructWithEnum" } } - ] + ], + "symbolId": "lib/compliance:TestStructWithEnum" }, "jsii-calc.Thrower": { "assembly": "jsii-calc", @@ -13415,7 +13620,8 @@ "name": "throwError" } ], - "name": "Thrower" + "name": "Thrower", + "symbolId": "lib/compliance:Thrower" }, "jsii-calc.TopLevelStruct": { "assembly": "jsii-calc", @@ -13489,7 +13695,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/compliance:TopLevelStruct" }, "jsii-calc.TwoMethodsWithSimilarCapitalization": { "assembly": "jsii-calc", @@ -13589,7 +13796,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/compliance:TwoMethodsWithSimilarCapitalization" }, "jsii-calc.UmaskCheck": { "assembly": "jsii-calc", @@ -13623,7 +13831,8 @@ "static": true } ], - "name": "UmaskCheck" + "name": "UmaskCheck", + "symbolId": "lib/compliance:UmaskCheck" }, "jsii-calc.UnaryOperation": { "abstract": true, @@ -13672,7 +13881,8 @@ "fqn": "@scope/jsii-calc-lib.NumericValue" } } - ] + ], + "symbolId": "lib/calculator:UnaryOperation" }, "jsii-calc.UnionProperties": { "assembly": "jsii-calc", @@ -13740,7 +13950,8 @@ } } } - ] + ], + "symbolId": "lib/compliance:UnionProperties" }, "jsii-calc.UpcasingReflectable": { "assembly": "jsii-calc", @@ -13817,7 +14028,8 @@ } } } - ] + ], + "symbolId": "lib/submodules:UpcasingReflectable" }, "jsii-calc.UseBundledDependency": { "assembly": "jsii-calc", @@ -13852,7 +14064,8 @@ } } ], - "name": "UseBundledDependency" + "name": "UseBundledDependency", + "symbolId": "lib/compliance:UseBundledDependency" }, "jsii-calc.UseCalcBase": { "assembly": "jsii-calc", @@ -13888,7 +14101,8 @@ } } ], - "name": "UseCalcBase" + "name": "UseCalcBase", + "symbolId": "lib/compliance:UseCalcBase" }, "jsii-calc.UsesInterfaceWithProperties": { "assembly": "jsii-calc", @@ -13997,7 +14211,8 @@ "fqn": "jsii-calc.IInterfaceWithProperties" } } - ] + ], + "symbolId": "lib/compliance:UsesInterfaceWithProperties" }, "jsii-calc.VariadicInvoker": { "assembly": "jsii-calc", @@ -14059,7 +14274,8 @@ "variadic": true } ], - "name": "VariadicInvoker" + "name": "VariadicInvoker", + "symbolId": "lib/compliance:VariadicInvoker" }, "jsii-calc.VariadicMethod": { "assembly": "jsii-calc", @@ -14138,7 +14354,8 @@ "variadic": true } ], - "name": "VariadicMethod" + "name": "VariadicMethod", + "symbolId": "lib/compliance:VariadicMethod" }, "jsii-calc.VirtualMethodPlayground": { "assembly": "jsii-calc", @@ -14276,7 +14493,8 @@ } } ], - "name": "VirtualMethodPlayground" + "name": "VirtualMethodPlayground", + "symbolId": "lib/compliance:VirtualMethodPlayground" }, "jsii-calc.VoidCallback": { "abstract": true, @@ -14337,7 +14555,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/compliance:VoidCallback" }, "jsii-calc.WithPrivatePropertyInConstructor": { "assembly": "jsii-calc", @@ -14385,7 +14604,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/compliance:WithPrivatePropertyInConstructor" }, "jsii-calc.composition.CompositeOperation": { "abstract": true, @@ -14509,7 +14729,8 @@ "fqn": "jsii-calc.composition.CompositeOperation.CompositionStringStyle" } } - ] + ], + "symbolId": "lib/calculator:CompositeOperation" }, "jsii-calc.composition.CompositeOperation.CompositionStringStyle": { "assembly": "jsii-calc", @@ -14540,7 +14761,8 @@ } ], "name": "CompositionStringStyle", - "namespace": "composition.CompositeOperation" + "namespace": "composition.CompositeOperation", + "symbolId": "lib/calculator:CompositionStringStyle" }, "jsii-calc.module2530.MyClass": { "assembly": "jsii-calc", @@ -14612,7 +14834,8 @@ } ], "name": "MyClass", - "namespace": "module2530" + "namespace": "module2530", + "symbolId": "lib/module2530/index:MyClass" }, "jsii-calc.module2617.OnlyStatics": { "assembly": "jsii-calc", @@ -14650,7 +14873,8 @@ } ], "name": "OnlyStatics", - "namespace": "module2617" + "namespace": "module2617", + "symbolId": "lib/module2617/index:OnlyStatics" }, "jsii-calc.module2647.ExtendAndImplement": { "assembly": "jsii-calc", @@ -14721,7 +14945,8 @@ } ], "name": "ExtendAndImplement", - "namespace": "module2647" + "namespace": "module2647", + "symbolId": "lib/module2647/index:ExtendAndImplement" }, "jsii-calc.module2689.methods.MyClass": { "assembly": "jsii-calc", @@ -14788,7 +15013,8 @@ } ], "name": "MyClass", - "namespace": "module2689.methods" + "namespace": "module2689.methods", + "symbolId": "lib/module2689/methods/index:MyClass" }, "jsii-calc.module2689.props.MyClass": { "assembly": "jsii-calc", @@ -14847,7 +15073,8 @@ } } } - ] + ], + "symbolId": "lib/module2689/props/index:MyClass" }, "jsii-calc.module2689.retval.MyClass": { "assembly": "jsii-calc", @@ -14908,7 +15135,8 @@ } ], "name": "MyClass", - "namespace": "module2689.retval" + "namespace": "module2689.retval", + "symbolId": "lib/module2689/retval/index:MyClass" }, "jsii-calc.module2689.structs.MyStruct": { "assembly": "jsii-calc", @@ -14965,7 +15193,8 @@ } } } - ] + ], + "symbolId": "lib/module2689/structs/index:MyStruct" }, "jsii-calc.module2692.submodule1.Bar": { "assembly": "jsii-calc", @@ -14997,7 +15226,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/module2692/submodule1/index:Bar" }, "jsii-calc.module2692.submodule2.Bar": { "assembly": "jsii-calc", @@ -15029,7 +15259,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/module2692/submodule2/index:Bar" }, "jsii-calc.module2692.submodule2.Foo": { "assembly": "jsii-calc", @@ -15065,7 +15296,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/module2692/submodule2/index:Foo" }, "jsii-calc.module2700.Base": { "assembly": "jsii-calc", @@ -15122,7 +15354,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/module2700/index:Base" }, "jsii-calc.module2700.Derived": { "assembly": "jsii-calc", @@ -15162,7 +15395,8 @@ } ], "name": "Derived", - "namespace": "module2700" + "namespace": "module2700", + "symbolId": "lib/module2700/index:Derived" }, "jsii-calc.module2700.IFoo": { "assembly": "jsii-calc", @@ -15211,7 +15445,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/module2700/index:IFoo" }, "jsii-calc.module2702.Baz": { "assembly": "jsii-calc", @@ -15247,7 +15482,8 @@ } ], "name": "Baz", - "namespace": "module2702" + "namespace": "module2702", + "symbolId": "lib/module2702/index:Baz" }, "jsii-calc.module2702.Class1": { "assembly": "jsii-calc", @@ -15275,7 +15511,8 @@ } ], "name": "Class1", - "namespace": "module2702" + "namespace": "module2702", + "symbolId": "lib/module2702/index:Class1" }, "jsii-calc.module2702.Class2": { "assembly": "jsii-calc", @@ -15307,7 +15544,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/module2702/index:Class2" }, "jsii-calc.module2702.Class3": { "assembly": "jsii-calc", @@ -15363,7 +15601,8 @@ } ], "name": "Class3", - "namespace": "module2702" + "namespace": "module2702", + "symbolId": "lib/module2702/index:Class3" }, "jsii-calc.module2702.Construct": { "assembly": "jsii-calc", @@ -15398,7 +15637,8 @@ } ], "name": "Construct", - "namespace": "module2702" + "namespace": "module2702", + "symbolId": "lib/module2702/index:Construct" }, "jsii-calc.module2702.IBaz": { "assembly": "jsii-calc", @@ -15428,7 +15668,8 @@ } ], "name": "IBaz", - "namespace": "module2702" + "namespace": "module2702", + "symbolId": "lib/module2702/index:IBaz" }, "jsii-calc.module2702.IConstruct": { "assembly": "jsii-calc", @@ -15455,7 +15696,8 @@ } ], "name": "IConstruct", - "namespace": "module2702" + "namespace": "module2702", + "symbolId": "lib/module2702/index:IConstruct" }, "jsii-calc.module2702.IFoo": { "assembly": "jsii-calc", @@ -15489,7 +15731,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/module2702/index:IFoo" }, "jsii-calc.module2702.IResource": { "assembly": "jsii-calc", @@ -15519,7 +15762,8 @@ } ], "name": "IResource", - "namespace": "module2702" + "namespace": "module2702", + "symbolId": "lib/module2702/index:IResource" }, "jsii-calc.module2702.IVpc": { "assembly": "jsii-calc", @@ -15549,7 +15793,8 @@ } ], "name": "IVpc", - "namespace": "module2702" + "namespace": "module2702", + "symbolId": "lib/module2702/index:IVpc" }, "jsii-calc.module2702.Resource": { "abstract": true, @@ -15586,7 +15831,8 @@ } ], "name": "Resource", - "namespace": "module2702" + "namespace": "module2702", + "symbolId": "lib/module2702/index:Resource" }, "jsii-calc.module2702.Vpc": { "assembly": "jsii-calc", @@ -15622,7 +15868,8 @@ } ], "name": "Vpc", - "namespace": "module2702" + "namespace": "module2702", + "symbolId": "lib/module2702/index:Vpc" }, "jsii-calc.nodirect.sub1.TypeFromSub1": { "assembly": "jsii-calc", @@ -15658,7 +15905,8 @@ } ], "name": "TypeFromSub1", - "namespace": "nodirect.sub1" + "namespace": "nodirect.sub1", + "symbolId": "lib/no-direct-types/sub1/index:TypeFromSub1" }, "jsii-calc.nodirect.sub2.TypeFromSub2": { "assembly": "jsii-calc", @@ -15694,7 +15942,8 @@ } ], "name": "TypeFromSub2", - "namespace": "nodirect.sub2" + "namespace": "nodirect.sub2", + "symbolId": "lib/no-direct-types/sub2/index:TypeFromSub2" }, "jsii-calc.onlystatic.OnlyStaticMethods": { "assembly": "jsii-calc", @@ -15727,7 +15976,8 @@ } ], "name": "OnlyStaticMethods", - "namespace": "onlystatic" + "namespace": "onlystatic", + "symbolId": "lib/only-static/index:OnlyStaticMethods" }, "jsii-calc.submodule.Default": { "assembly": "jsii-calc", @@ -15761,7 +16011,8 @@ "primitive": "number" } } - ] + ], + "symbolId": "lib/submodule/issue2637:Default" }, "jsii-calc.submodule.MyClass": { "assembly": "jsii-calc", @@ -15893,7 +16144,8 @@ "fqn": "jsii-calc.AllTypes" } } - ] + ], + "symbolId": "lib/submodule/my-class:MyClass" }, "jsii-calc.submodule.back_references.MyClassReference": { "assembly": "jsii-calc", @@ -15925,7 +16177,8 @@ "fqn": "jsii-calc.submodule.MyClass" } } - ] + ], + "symbolId": "lib/submodule/refers-to-parent/index:MyClassReference" }, "jsii-calc.submodule.child.Awesomeness": { "assembly": "jsii-calc", @@ -15948,7 +16201,8 @@ } ], "name": "Awesomeness", - "namespace": "submodule.child" + "namespace": "submodule.child", + "symbolId": "lib/submodule/child/index:Awesomeness.AWESOME" }, "jsii-calc.submodule.child.Goodness": { "assembly": "jsii-calc", @@ -15985,7 +16239,8 @@ } ], "name": "Goodness", - "namespace": "submodule.child" + "namespace": "submodule.child", + "symbolId": "lib/submodule/child/index:Goodness" }, "jsii-calc.submodule.child.InnerClass": { "assembly": "jsii-calc", @@ -16022,7 +16277,8 @@ "fqn": "jsii-calc.submodule.child.SomeStruct" } } - ] + ], + "symbolId": "lib/submodule/child/index:InnerClass" }, "jsii-calc.submodule.child.KwargsProps": { "assembly": "jsii-calc", @@ -16058,7 +16314,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/submodule/child/index:KwargsProps" }, "jsii-calc.submodule.child.OuterClass": { "assembly": "jsii-calc", @@ -16099,7 +16356,8 @@ "fqn": "jsii-calc.submodule.child.InnerClass" } } - ] + ], + "symbolId": "lib/submodule/child/index:OuterClass" }, "jsii-calc.submodule.child.SomeEnum": { "assembly": "jsii-calc", @@ -16121,7 +16379,8 @@ } ], "name": "SomeEnum", - "namespace": "submodule.child" + "namespace": "submodule.child", + "symbolId": "lib/submodule/child/index:SomeEnum.SOME" }, "jsii-calc.submodule.child.SomeStruct": { "assembly": "jsii-calc", @@ -16153,7 +16412,8 @@ "fqn": "jsii-calc.submodule.child.SomeEnum" } } - ] + ], + "symbolId": "lib/submodule/child/index:SomeStruct" }, "jsii-calc.submodule.child.Structure": { "assembly": "jsii-calc", @@ -16185,7 +16445,8 @@ "primitive": "boolean" } } - ] + ], + "symbolId": "lib/submodule/child/index:Structure" }, "jsii-calc.submodule.isolated.Kwargs": { "assembly": "jsii-calc", @@ -16227,7 +16488,8 @@ } ], "name": "Kwargs", - "namespace": "submodule.isolated" + "namespace": "submodule.isolated", + "symbolId": "lib/submodule/isolated:Kwargs" }, "jsii-calc.submodule.nested_submodule.Namespaced": { "abstract": true, @@ -16277,7 +16539,8 @@ "fqn": "jsii-calc.submodule.child.Goodness" } } - ] + ], + "symbolId": "lib/submodule/nested_submodule:Namespaced" }, "jsii-calc.submodule.nested_submodule.deeplyNested.INamespaced": { "assembly": "jsii-calc", @@ -16308,7 +16571,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/submodule/nested_submodule:INamespaced" }, "jsii-calc.submodule.param.SpecialParameter": { "assembly": "jsii-calc", @@ -16340,7 +16604,8 @@ "primitive": "string" } } - ] + ], + "symbolId": "lib/submodule/param/index:SpecialParameter" }, "jsii-calc.submodule.returnsparam.ReturnsSpecialParameter": { "assembly": "jsii-calc", @@ -16376,9 +16641,10 @@ } ], "name": "ReturnsSpecialParameter", - "namespace": "submodule.returnsparam" + "namespace": "submodule.returnsparam", + "symbolId": "lib/submodule/returns-param/index:ReturnsSpecialParameter" } }, "version": "3.20.120", - "fingerprint": "nOY2or+a7JI7VfNfWx2VObkcBa28orXzx4J7PxiymbM=" + "fingerprint": "f6AcTsdiyd7A1OsnCqScIhOj+U5gmsZC6YnZSsCDh+M=" } From 434e5a6d651c0005b8f4779c0c204b5588781ccf Mon Sep 17 00:00:00 2001 From: Otavio Macedo Date: Wed, 6 Oct 2021 13:20:33 +0100 Subject: [PATCH 10/12] Made test OS agnostic --- packages/jsii/test/symbol-identifiers.test.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/jsii/test/symbol-identifiers.test.ts b/packages/jsii/test/symbol-identifiers.test.ts index 60ef5015c6..206d50fb22 100644 --- a/packages/jsii/test/symbol-identifiers.test.ts +++ b/packages/jsii/test/symbol-identifiers.test.ts @@ -1,3 +1,5 @@ +import * as path from 'path'; + import { compileJsiiForTest } from '../lib'; test('Symbol map is generated', async () => { @@ -25,6 +27,14 @@ test('Symbol map is generated', async () => { const types = result.assembly.types ?? {}; expect(types['testpkg.Foo'].symbolId).toEqual('index:Foo'); - expect(types['testpkg.Bar'].symbolId).toEqual('some/nested/file:Bar'); - expect(types['testpkg.Baz'].symbolId).toEqual('some/nested/file:Baz'); + expect(types['testpkg.Bar'].symbolId?.split(path.sep)).toEqual([ + 'some', + 'nested', + 'file:Bar', + ]); + expect(types['testpkg.Baz'].symbolId?.split(path.sep)).toEqual([ + 'some', + 'nested', + 'file:Baz', + ]); }); From 8ab42d7b58dbcc8b0081aa361e93a1d11cdfa87b Mon Sep 17 00:00:00 2001 From: Otavio Macedo Date: Thu, 7 Oct 2021 17:46:26 +0100 Subject: [PATCH 11/12] Fixed the symbolIdentifier function to take into account a possible outdir. --- packages/jsii/lib/assembler.ts | 1 - packages/jsii/lib/utils.ts | 51 ++++++++++++++++--- packages/jsii/test/symbol-identifiers.test.ts | 14 +---- 3 files changed, 47 insertions(+), 19 deletions(-) diff --git a/packages/jsii/lib/assembler.ts b/packages/jsii/lib/assembler.ts index 74bd1b7544..cd037df932 100644 --- a/packages/jsii/lib/assembler.ts +++ b/packages/jsii/lib/assembler.ts @@ -1033,7 +1033,6 @@ export class Assembler implements Emitter { return symbolIdentifier( this._typeChecker, this._typeChecker.getTypeAtLocation(node).symbol, - this.projectInfo.projectRoot, ); } diff --git a/packages/jsii/lib/utils.ts b/packages/jsii/lib/utils.ts index 1aedc62ffe..a288da5aca 100644 --- a/packages/jsii/lib/utils.ts +++ b/packages/jsii/lib/utils.ts @@ -1,3 +1,4 @@ +import * as fs from 'fs'; import * as log4js from 'log4js'; import * as path from 'path'; import * as ts from 'typescript'; @@ -168,7 +169,6 @@ export function parseRepository(value: string): { url: string } { export function symbolIdentifier( typeChecker: ts.TypeChecker, sym: ts.Symbol, - projectRoot: string, ): string | undefined { const inFileNameParts: string[] = []; @@ -198,14 +198,53 @@ export function symbolIdentifier( return undefined; } - const fileName = path.relative(projectRoot, decl.getSourceFile().fileName); - const namespace = path.join( - path.dirname(fileName), - path.basename(fileName, '.ts'), - ); + const namespace = getNamespace(decl.getSourceFile().fileName); + if (!namespace) { return undefined; } return `${namespace}:${inFileNameParts.join('.')}`; } + +export function getNamespace(sourceFileName: string) { + const packageJsonLocation = findPackageJsonLocation( + path.dirname(sourceFileName), + ); + + if (!packageJsonLocation) { + return undefined; + } + + const packageJson = JSON.parse( + fs.readFileSync(packageJsonLocation).toString(), + ); + + const sourcePath = removePrefix( + packageJson.jsii?.outdir ?? '', + path.relative(path.dirname(packageJsonLocation), sourceFileName), + ); + + return sourcePath.replace(/(\.d)?\.ts$/, ''); + + function findPackageJsonLocation(currentPath: string): string | undefined { + const candidate = path.join(currentPath, 'package.json'); + if (fs.existsSync(candidate)) { + return candidate; + } + const parentPath = path.resolve(currentPath, '..'); + return parentPath !== currentPath + ? findPackageJsonLocation(parentPath) + : undefined; + } + + function removePrefix(prefix: string, filePath: string) { + const prefixParts = prefix.split(path.sep); + const pathParts = filePath.split(path.sep); + let i = 0; + while (prefixParts[i] === pathParts[i]) { + i++; + } + return pathParts.slice(i).join('/'); + } +} diff --git a/packages/jsii/test/symbol-identifiers.test.ts b/packages/jsii/test/symbol-identifiers.test.ts index 206d50fb22..60ef5015c6 100644 --- a/packages/jsii/test/symbol-identifiers.test.ts +++ b/packages/jsii/test/symbol-identifiers.test.ts @@ -1,5 +1,3 @@ -import * as path from 'path'; - import { compileJsiiForTest } from '../lib'; test('Symbol map is generated', async () => { @@ -27,14 +25,6 @@ test('Symbol map is generated', async () => { const types = result.assembly.types ?? {}; expect(types['testpkg.Foo'].symbolId).toEqual('index:Foo'); - expect(types['testpkg.Bar'].symbolId?.split(path.sep)).toEqual([ - 'some', - 'nested', - 'file:Bar', - ]); - expect(types['testpkg.Baz'].symbolId?.split(path.sep)).toEqual([ - 'some', - 'nested', - 'file:Baz', - ]); + expect(types['testpkg.Bar'].symbolId).toEqual('some/nested/file:Bar'); + expect(types['testpkg.Baz'].symbolId).toEqual('some/nested/file:Baz'); }); From 880bc4e8ac5ab15aa059f1fea9de22f901f94131 Mon Sep 17 00:00:00 2001 From: Otavio Macedo Date: Fri, 8 Oct 2021 17:33:35 +0100 Subject: [PATCH 12/12] Splitting the path by either \ or / --- packages/jsii/lib/utils.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/jsii/lib/utils.ts b/packages/jsii/lib/utils.ts index a288da5aca..e90e6b9a05 100644 --- a/packages/jsii/lib/utils.ts +++ b/packages/jsii/lib/utils.ts @@ -239,8 +239,8 @@ export function getNamespace(sourceFileName: string) { } function removePrefix(prefix: string, filePath: string) { - const prefixParts = prefix.split(path.sep); - const pathParts = filePath.split(path.sep); + const prefixParts = prefix.split(/[/\\]/g); + const pathParts = filePath.split(/[/\\]/g); let i = 0; while (prefixParts[i] === pathParts[i]) { i++;