// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`behavior-requires-iprefix 1`] = ` neg.behavior-requires-iprefix.ts:1:18 - error JSII8007: Interface contains behavior. Rename "Something" to "ISomething" 1 export interface Something { ~~~~~~~~~ `; exports[`class-name 1`] = ` neg.class-name.ts:1:14 - error JSII8000: Type names must be PascalCased. Rename "myclass" to "Myclass" 1 export class myclass {} ~~~~~~~ `; exports[`class-name.1 1`] = ` neg.class-name.1.ts:1:14 - error JSII8000: Type names must be PascalCased. Rename "My_class" to "MyClass" 1 export class My_class {} ~~~~~~~~ `; exports[`compilation-error 1`] = ` neg.compilation-error.ts:1:1 - error TS2304: Cannot find name 'boom'. 1 boom! > CompilerErrorIsHere; ~~~~ neg.compilation-error.ts:1:9 - error TS2304: Cannot find name 'CompilerErrorIsHere'. 1 boom! > CompilerErrorIsHere; ~~~~~~~~~~~~~~~~~~~ `; exports[`const-enum 1`] = ` neg.const-enum.ts:1:8 - error JSII1000: Exported "const enum" declarations are not allowed 1 export const enum NotAllowed { ~~~~~ `; exports[`double-interface-members 1`] = ` neg.double-interface-members.ts:2:3 - error JSII3008: The "foo" property of struct "jsii.A" must be "readonly". Rename "jsii.A" to "IA" if it is meant to be a behavioral interface. 2 foo: number; ~~~ neg.double-interface-members.ts:4:1 - error JSII5015: Interface "jsii.B" re-declares member "foo". This is not supported as it results in invalid C#. 4 export interface B extends A { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 foo: number; ~~~~~~~~~~~~~~ 6 } ~ neg.double-interface-members.ts:5:3 - error JSII3008: The "foo" property of struct "jsii.B" must be "readonly". Rename "jsii.B" to "IB" if it is meant to be a behavioral interface. 5 foo: number; ~~~ `; exports[`double-interface-members-deeper 1`] = ` neg.double-interface-members-deeper.ts:9:1 - error JSII5015: Interface "jsii.IC" re-declares member "foo". This is not supported as it results in invalid C#. 9 export interface IC extends IB { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10 foo(): void; ~~~~~~~~~~~~~~ 11 } ~ `; exports[`double-interface-members-method 1`] = ` neg.double-interface-members-method.ts:4:1 - error JSII5015: Interface "jsii.IB" re-declares member "foo". This is not supported as it results in invalid C#. 4 export interface IB extends IA { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 5 foo(): void; ~~~~~~~~~~~~~~ 6 } ~ `; exports[`downgrade-to-readonly 1`] = ` neg.downgrade-to-readonly.ts:8:24 - error JSII5010: "jsii.Implementation#property" turns readonly when implementing jsii.IInterface. Make it mutable 8 constructor(public readonly property: string) {} ~~~~~~~~ neg.downgrade-to-readonly.ts:4:5 4 property: string; ~~~~~~~~ The implemented delcaration is here. `; exports[`enum-duplicate-values 1`] = ` neg.enum-duplicate-values.ts:2:3 - error JSII1004: Value 'foo' is used for multiple enum values: FOO, FOO_DUPLICATE 2 FOO = 'foo', ~~~ neg.enum-duplicate-values.ts:3:3 3 FOO_DUPLICATE = 'foo', ~~~~~~~~~~~~~ The conflicting declaration is here neg.enum-duplicate-values.ts:4:3 - error JSII1004: Value 'bar' is used for multiple enum values: BAR, BAR_COPY 4 BAR = 'bar', ~~~ neg.enum-duplicate-values.ts:5:3 5 BAR_COPY = 'bar', ~~~~~~~~ The conflicting declaration is here `; exports[`enum-members.1 1`] = ` error JSII8001: Enum members must be ALL_CAPS. Rename "jsii.MyEnum.Goo" to "GOO" `; exports[`enum-name.1 1`] = ` neg.enum-name.1.ts:1:13 - error JSII8000: Type names must be PascalCased. Rename "myEnum" to "MyEnum" 1 export enum myEnum { ~~~~~~ `; exports[`enum-name.2 1`] = ` neg.enum-name.2.ts:1:13 - error JSII8000: Type names must be PascalCased. Rename "My_Enum" to "MyEnum" 1 export enum My_Enum { ~~~~~~~ `; exports[`expose-unexported-type-constructor-param 1`] = ` neg.expose-unexported-type-constructor-param.ts:6:29 - error JSII3000: Exported APIs cannot use un-exported type "jsii.UnexportedProps" 6 public constructor(props: UnexportedProps) { ~~~~~~~~~~~~~~~ `; exports[`expose-unexported-type-external 1`] = ` neg.expose-unexported-type-external.ts:7:14 - error JSII3000: Exported APIs cannot use un-exported type "jsii.UnexportedType" 7 public p?: UnexportedType; ~~~~~~~~~~~~~~ `; exports[`expose-unexported-type-internal 1`] = ` neg.expose-unexported-type-internal.ts:7:14 - error JSII3001: Type "UnexportedType" cannot be used as the property type because it is private or @internal 7 public p?: UnexportedType; ~~~~~~~~~~~~~~ neg.expose-unexported-type-internal.ts:4:1 4 class UnexportedType {} ~~~~~~~~~~~~~~~~~~~~~~~ The referenced type is declared here `; exports[`expose-unexported-type-internal-in-namespace 1`] = ` neg.expose-unexported-type-internal-in-namespace.ts:9:14 - error JSII3001: Type "UnexportedType" cannot be used as the property type because it is private or @internal 9 public p?: MyNamespace.UnexportedType; ~~~~~~~~~~~~~~~~~~~~~~~~~~ neg.expose-unexported-type-internal-in-namespace.ts:5:3 5 export class UnexportedType {} ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The referenced type is declared here `; exports[`expose-unexported-type-this 1`] = ` neg.expose-unexported-type-this.ts:10:38 - warning JSII5018: "boolean" is a reserved word in Java. Using this name may cause problems when generating language bindings. Consider a different name. 10 public constructor(public readonly boolean = true) { ~~~~~~~ neg.expose-unexported-type-this.ts:4:10 - error JSII3001: Type "HiddenBaseClass" cannot be used as the return type because it is private or @internal 4 public returnsThis() { ~~~~~~~~~~~ neg.expose-unexported-type-this.ts:3:1 3 abstract class HiddenBaseClass { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 public returnsThis() { ~~~~~~~~~~~~~~~~~~~~~~~~ ... 6 } ~~~ 7 } ~ The referenced type is declared here `; exports[`extend-struct 1`] = ` neg.extend-struct.ts:6:1 - error JSII3007: Attempt to extend or implement struct "jsii.Struct" from "jsii.IIllegal" 6 export interface IIllegal extends Struct { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7 method(): void; ~~~~~~~~~~~~~~~~~ 8 } ~ `; exports[`generics 1`] = ` neg.generics.ts:1:27 - error JSII1006: Generic types are not supported because semantics are not uniform in target languages. 1 export class GenericClass { ~~~~~~~~~~~~~~~~ neg.generics.ts:13:35 - error JSII1006: Generic types are not supported because semantics are not uniform in target languages. 13 export interface IGenericBehavior { ~~~~~~~~~~~~~~~~~~~~~~~~~ neg.generics.ts:9:32 - error JSII1006: Generic types are not supported because semantics are not uniform in target languages. 9 export interface GenericStruct { ~ `; exports[`implement-struct 1`] = ` neg.implement-struct.ts:6:1 - error JSII3007: Attempt to extend or implement struct "jsii.Struct" from "jsii.Illegal" 6 export class Illegal implements Struct { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7 public readonly field: string = 'foo'; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... 11 } ~~~ 12 } ~ `; exports[`implementation-changes-types.1 1`] = ` error JSII5003: "jsii.Something#returnSomething" changes the return type to "jsii.Subclass" when implementing jsii.ISomething. Change it to "jsii.Superclass" `; exports[`implementation-changes-types.2 1`] = ` error JSII5003: "jsii.ISomethingElse#returnSomething" changes the return type to "jsii.Subclass" when implementing jsii.ISomething. Change it to "jsii.Superclass" `; exports[`implementation-changes-types.3 1`] = ` error JSII5006: "jsii.Something#takeSomething" changes the type of parameter "_argument" to jsii.Subclass when implementing jsii.ISomething. Change it to jsii.Superclass `; exports[`implementation-changes-types.4 1`] = ` neg.implementation-changes-types.4.ts:9:21 - error JSII5004: "jsii.SomethingImpl#something" changes the property type to "jsii.Subclass" when implementing jsii.ISomething. Change it to "jsii.Superclass" 9 public something: Subclass = new Subclass(); ~~~~~~~~ neg.implementation-changes-types.4.ts:5:14 5 something: Superclass; ~~~~~~~~~~ The implemented delcaration is here. `; exports[`implementation-changes-types.5 1`] = ` neg.implementation-changes-types.5.ts:14:21 - error JSII5004: "jsii.ISomethingElse#something" changes the property type to "jsii.Subclass" when implementing jsii.ISomething. Change it to "jsii.Superclass" 14 public something: Subclass = new Subclass(); ~~~~~~~~ neg.implementation-changes-types.5.ts:5:14 5 something: Superclass; ~~~~~~~~~~ The implemented delcaration is here. `; exports[`implementing-method-changes-optionality 1`] = ` error JSII5008: "jsii.Implementor#method" turns parameter "_optional" required when implementing jsii.IInterface. Make it optional `; exports[`implementing-method-changes-optionality.1 1`] = ` error JSII5008: "jsii.Implementor#method" turns parameter "_optional" required when overriding jsii.AbstractClass. Make it optional `; exports[`implementing-method-changes-optionality.2 1`] = ` error JSII5008: "jsii.Implementor#method" turns parameter "_optional" required when overriding jsii.ParentClass. Make it optional `; exports[`implementing-property-changes-optionality 1`] = ` neg.implementing-property-changes-optionality.ts:7:20 - error JSII5009: "jsii.Implementor#property" turns required when implementing jsii.IInterface. Make it optional 7 public property: string; ~~~~~~ neg.implementing-property-changes-optionality.ts:3:11 3 property?: string; ~ The implemented delcaration is here. `; exports[`implementing-property-changes-optionality.1 1`] = ` neg.implementing-property-changes-optionality.1.ts:7:20 - error JSII5009: "jsii.Implementor#property" turns required when overriding jsii.AbstractClass. Make it optional 7 public property: string; ~~~~~~ neg.implementing-property-changes-optionality.1.ts:3:27 3 public abstract property?: string; ~ The implemented delcaration is here. `; exports[`implementing-property-changes-optionality.2 1`] = ` neg.implementing-property-changes-optionality.2.ts:7:20 - error JSII5009: "jsii.Implementor#property" turns required when overriding jsii.ParentClass. Make it optional 7 public property: string; ~~~~~~ neg.implementing-property-changes-optionality.2.ts:3:18 3 public property?: string = undefined; ~ The implemented delcaration is here. `; exports[`implements-class 1`] = ` neg.implements-class.ts:1:1 - error JSII3005: Type "jsii.NotAnInterface" cannot be used as an interface 1 export class NotAnInterface { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 public meaningOfTheUniverse() { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... 4 } ~~~ 5 } ~ `; exports[`index-signatures 1`] = ` neg.index-signatures.ts:4:3 - error JSII1999: Index signatures are not supported in jsii APIs. This declaration must be marked "@internal" or "@jsii ignore". 4 readonly [key: symbol]: number; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ neg.index-signatures.ts:9:3 - error JSII1999: Index signatures are not supported in jsii APIs. This declaration must be marked "@internal" or "@jsii ignore". 9 static readonly [key: symbol]: string; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `; exports[`inheritance-changes-types.1 1`] = ` error JSII5003: "jsii.SomethingSpecific#returnSomething" changes the return type to "jsii.Subclass" when overriding jsii.Something. Change it to "jsii.Superclass" `; exports[`inheritance-changes-types.2 1`] = ` error JSII5003: "jsii.SomethingSpecific#returnSomething" changes the return type to "jsii.Subclass" when overriding jsii.Something. Change it to "jsii.Superclass" `; exports[`inheritance-changes-types.3 1`] = ` error JSII5006: "jsii.SomethingSpecific#takeSomething" changes the type of parameter "_argument" to jsii.Subclass when overriding jsii.Something. Change it to jsii.Superclass `; exports[`inheritance-changes-types.4 1`] = ` neg.inheritance-changes-types.4.ts:9:21 - error JSII5004: "jsii.SomethingSpecific#something" changes the property type to "jsii.Subclass" when overriding jsii.SomethingUnspecific. Change it to "jsii.Superclass" 9 public something: Subclass = new Subclass(); ~~~~~~~~ neg.inheritance-changes-types.4.ts:5:10 5 public something = new Superclass(); ~~~~~~~~~ The implemented delcaration is here. `; exports[`inheritance-changes-types.5 1`] = ` neg.inheritance-changes-types.5.ts:14:21 - error JSII5004: "jsii.SomethingElse#something" changes the property type to "jsii.Subclass" when overriding jsii.SomethingBase. Change it to "jsii.Superclass" 14 public something: Subclass = new Subclass(); ~~~~~~~~ neg.inheritance-changes-types.5.ts:5:21 5 public something: Superclass = new Superclass(); ~~~~~~~~~~ The implemented delcaration is here. `; exports[`inheritance-changes-types.from-base 1`] = ` neg.inheritance-changes-types.from-base.ts:6:30 - error JSII5009: "jsii.HasRequiredProperty#optionalProperty" turns required when implementing jsii.IHasOptionalProperty. Make it optional 6 readonly optionalProperty: number; // Does not implement IHasOptionalProperty.optionalProperty ~~~~~~ neg.inheritance-changes-types.from-base.ts:2:28 2 readonly optionalProperty?: number; ~ The implemented delcaration is here. `; exports[`internal-underscore-class.5 1`] = ` neg.internal-underscore-class.5.ts:3:10 - error JSII8005: Members marked with @internal must have a name starting with "_". Rename "propertyWithInternalButNotUnderscorePrefix" to "_propertyWithInternalButNotUnderscorePrefix" 3 public propertyWithInternalButNotUnderscorePrefix?: string; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `; exports[`internal-underscore-class.6 1`] = ` neg.internal-underscore-class.6.ts:2:10 - error JSII8006: Members with a name starting with "_" (e.g: "_propertyWithUnderscoreButNoInternal") must be marked @internal 2 public _propertyWithUnderscoreButNoInternal?: string; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `; exports[`internal-underscore-class.7 1`] = ` neg.internal-underscore-class.7.ts:3:10 - error JSII8005: Members marked with @internal must have a name starting with "_". Rename "methodWithInternalButNoUnderscore" to "_methodWithInternalButNoUnderscore" 3 public methodWithInternalButNoUnderscore(): string { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `; exports[`internal-underscore-class.8 1`] = ` neg.internal-underscore-class.8.ts:2:3 - error JSII8006: Members with a name starting with "_" (e.g: "_methodWithUnderscoreButNoInternal") must be marked @internal 2 _methodWithUnderscoreButNoInternal(): void; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `; exports[`internal-underscore-interface.1 1`] = ` neg.internal-underscore-interface.1.ts:3:3 - error JSII8005: Members marked with @internal must have a name starting with "_". Rename "propertyWithInternalButNotUnderscorePrefix" to "_propertyWithInternalButNotUnderscorePrefix" 3 propertyWithInternalButNotUnderscorePrefix: string; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `; exports[`internal-underscore-interface.2 1`] = ` neg.internal-underscore-interface.2.ts:2:3 - error JSII8006: Members with a name starting with "_" (e.g: "_propertyWithUnderscoreButNoInternal") must be marked @internal 2 _propertyWithUnderscoreButNoInternal: string; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `; exports[`internal-underscore-interface.3 1`] = ` neg.internal-underscore-interface.3.ts:3:3 - error JSII8005: Members marked with @internal must have a name starting with "_". Rename "methodWithInternalButNoUnderscore" to "_methodWithInternalButNoUnderscore" 3 methodWithInternalButNoUnderscore(): string; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `; exports[`internal-underscore-interface.4 1`] = ` neg.internal-underscore-interface.4.ts:2:10 - error JSII8006: Members with a name starting with "_" (e.g: "_methodWithUnderscoreButNoInternal") must be marked @internal 2 public _methodWithUnderscoreButNoInternal() { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `; exports[`member-named-after-type 1`] = ` neg.member-named-after-type.ts:14:12 - warning JSII5019: The property name "myStruct" conflicts with the declaring interface "MyStruct". This will result in renaming the interface to "_MyStruct" in C#. Consider renaming "myStruct". 14 readonly myStruct: string; ~~~~~~~~ neg.member-named-after-type.ts:13:18 13 export interface MyStruct { ~~~~~~~~ The declaring interface is introduced here neg.member-named-after-type.ts:4:19 - warning JSII5019: The property name "typeName" conflicts with the declaring class "TypeName". This will result in renaming the class to "_TypeName" in C#. Consider renaming "typeName". 4 public readonly typeName = 1337; ~~~~~~~~ neg.member-named-after-type.ts:3:14 3 export class TypeName { ~~~~~~~~ The declaring class is introduced here neg.member-named-after-type.ts:8:10 - warning JSII5019: The method name "otherType" conflicts with the declaring class "OtherType". This will result in renaming the class to "_OtherType" in C#. Consider renaming "otherType". 8 public otherType() { ~~~~~~~~~ neg.member-named-after-type.ts:7:14 7 export class OtherType { ~~~~~~~~~ The declaring class is introduced here `; exports[`method-name.1 1`] = ` error JSII8002: Method and property (unless they are static readonly) names must use camelCase. Rename "jsii.MyClass.METHOD" to "method" `; exports[`method-name.2 1`] = ` error JSII8002: Method and property (unless they are static readonly) names must use camelCase. Rename "jsii.MyClass.hello_world" to "helloWorld" `; exports[`method-name.3 1`] = ` error JSII5000: Methods and properties cannot have names like "getXxx": those conflict with Java property getters. Rename "MyClass.getFoo" `; exports[`method-name.4 1`] = ` error JSII5001: Methods and properties cannot have names like "setXxx": those conflict with Java property setters. Rename "MyClass.setFoo" `; exports[`mix-datatype-and-arg-name 1`] = ` neg.mix-datatype-and-arg-name.ts:10:3 - error JSII5017: Parameter name "dontWorry" is also the name of a property in a struct parameter. Rename the positional parameter. 10 public dance(dontWorry: string, lyrics: Lyrics) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 11 return \`\${dontWorry}: \${lyrics.beHappy}\`; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12 } ~~~ `; exports[`mutable-datatype 1`] = ` neg.mutable-datatype.ts:3:3 - error JSII3008: The "notOkay" property of struct "jsii.DataType" must be "readonly". Rename "jsii.DataType" to "IDataType" if it is meant to be a behavioral interface. 3 notOkay: number; // properties should be "readonly" ~~~~~~~ `; exports[`non-optional-after-optional-ctor 1`] = ` neg.non-optional-after-optional-ctor.ts:2:3 - error JSII3009: Parameter "_arg2" cannot be optional, as it precedes required parameter "_arg3" 2 constructor(_arg1: string, _arg2 = 'hello', _arg3: string) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3 return; ~~~~~~~~~~~ 4 } ~~~ `; exports[`non-optional-after-optional-method 1`] = ` neg.non-optional-after-optional-method.ts:2:3 - error JSII3009: Parameter "_arg2" cannot be optional, as it precedes required parameter "_argX" 2 public foo(_arg1: string, _arg2 = 'hello', _argX: string, _arg4?: boolean) { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3 return; ~~~~~~~~~~~ 4 } ~~~ `; exports[`omit.1 1`] = ` neg.omit.1.ts:7:33 - error JSII3004: Illegal extends clause for an exported API: MappedType 7 export interface BarBaz extends Omit { ~~~~~~~~~~~~~~~~~~~ `; exports[`omit.2 1`] = ` neg.omit.2.ts:7:32 - error JSII3004: Illegal implements clause for an exported API: MappedType 7 export class BarBaz implements Omit { ~~~~~~~~~~~~~~~~~~~ `; exports[`omit.3 1`] = ` neg.omit.3.ts:8:10 - error JSII1003: Only string-indexed map types are supported 8 bar(): Omit; ~~~~~~~~~~~~~~~~~~~ `; exports[`omit.4 1`] = ` neg.omit.4.ts:8:13 - error JSII1003: Only string-indexed map types are supported 8 bar(opts: Omit): void; ~~~~~~~~~~~~~~~~~~~ `; exports[`override-changes-visibility 1`] = ` neg.override-changes-visibility.ts:14:3 - error JSII5002: "jsii.ChildClass#property" changes visibility to public when overriding jsii.BaseClass. Change it to protected 14 public readonly property?: string; ~~~~~~ neg.override-changes-visibility.ts:5:3 5 protected readonly property?: string; ~~~~~~~~~ The implemented delcaration is here. error JSII5002: "jsii.ChildClass#method" changes visibility to public when overriding jsii.BaseClass. Change it to protected `; exports[`prohibited-member-name 1`] = ` neg.prohibited-member-name.ts:4:10 - error JSII5016: Members cannot be named "equals" as it conflicts with synthetic declarations in some languages. 4 public equals(): boolean { ~~~~~~ `; exports[`property-name.1 1`] = ` error JSII8002: Method and property (unless they are static readonly) names must use camelCase. Rename "jsii.MyClass.PROP" to "prop" `; exports[`property-name.2 1`] = ` error JSII8002: Method and property (unless they are static readonly) names must use camelCase. Rename "jsii.MyClass.my_Prop" to "myProp" `; exports[`property-name.3 1`] = ` error JSII5000: Methods and properties cannot have names like "getXxx": those conflict with Java property getters. Rename "MyClass.getFoo" `; exports[`reserved.emits-warning 1`] = ` neg.reserved.emits-warning.ts:2:14 - warning JSII5018: "None" is a reserved word in Python. Using this name may cause problems when generating language bindings. Consider a different name. 2 export class None { ~~~~ neg.reserved.emits-warning.ts:3:19 - warning JSII5018: "do" is a reserved word in C#, Java. Using this name may cause problems when generating language bindings. Consider a different name. 3 public readonly do: boolean = true; ~~ neg.reserved.emits-warning.ts:5:10 - warning JSII5018: "assert" is a reserved word in Java, Python. Using this name may cause problems when generating language bindings. Consider a different name. 5 public assert(_internal: boolean): void { ~~~~~~ `; exports[`separate-write-type 1`] = ` neg.separate-write-type.ts:8:26 - error JSII1005: Visible property signatures cannot use a separate write type. Use the same type as the getter. 8 public set size(value: string | number | boolean) { ~~~~~~~~~~~~~~~~~~~~~~~~~ neg.separate-write-type.ts:4:22 4 public get size(): number { ~~~~~~ The getter signature is declared here `; exports[`static-const-name 1`] = ` error JSII8003: Static constant names must use ALL_CAPS, PascalCase, or camelCase. Rename "MyClass.snake_case" to "SNAKE_CASE" `; exports[`static-member-mixing.1 1`] = ` neg.static-member-mixing.1.ts:11:1 - error JSII5014: Instance member "funFunction" of class "jsii.Sub" conflicts with static member in ancestor "jsii.SuperDuper" 11 export class Sub extends Super { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12 public funFunction() { ~~~~~~~~~~~~~~~~~~~~~~~~ ... 14 } ~~~ 15 } ~ `; exports[`static-member-mixing.2 1`] = ` neg.static-member-mixing.2.ts:1:1 - error JSII5013: Member "funFunction" of class "jsii.TheClass" has both a static and an instance delcaration 1 export class TheClass { ~~~~~~~~~~~~~~~~~~~~~~~ 2 public static funFunction() { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... 8 } ~~~ 9 } ~ `; exports[`static-method-name 1`] = ` error JSII8002: Method and property (unless they are static readonly) names must use camelCase. Rename "jsii.MyClass.METHOD" to "method" `; exports[`static-method-name.1 1`] = ` error JSII8002: Method and property (unless they are static readonly) names must use camelCase. Rename "jsii.MyClass.MethodIsNotCamelCase" to "methodIsNotCamelCase" `; exports[`static-nested-conflict 1`] = ` neg.static-nested-conflict.ts:5:3 - error JSII5020: The static member "ParentClass.nestedStruct" has the same PascalCased representation as nested type "ParentClass.NestedStruct". This would result in invalid code in Go. 5 public static nestedStruct(): boolean { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 6 return false; ~~~~~~~~~~~~~~~~~ 7 } ~~~ neg.static-nested-conflict.ts:13:3 13 export interface NestedStruct { ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 14 readonly field: number; ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 15 } ~~~ This is the conflicting nested type declaration `; exports[`static-prop-name.1 1`] = ` error JSII8002: Method and property (unless they are static readonly) names must use camelCase. Rename "jsii.MyClass.Prop" to "prop" `; exports[`static-prop-name.2 1`] = ` error JSII8002: Method and property (unless they are static readonly) names must use camelCase. Rename "jsii.MyClass.PROP" to "prop" `; exports[`stripped-deprecated 1`] = ` neg.stripped-deprecated.ts:11:25 - error JSII3000: Exported APIs cannot use un-exported type "jsii.DeprecatedInterface" 11 public bad(parameter: DeprecatedInterface): DeprecatedInterface { ~~~~~~~~~~~~~~~~~~~ neg.stripped-deprecated.ts:11:25 - error JSII3999: Parameter has @deprecated type jsii.DeprecatedInterface, and it is erased by --strip-deprecated. 11 public bad(parameter: DeprecatedInterface): DeprecatedInterface { ~~~~~~~~~~~~~~~~~~~ neg.stripped-deprecated.ts:4:18 4 export interface DeprecatedInterface {} ~~~~~~~~~~~~~~~~~~~ The @deprecated type is declared here neg.stripped-deprecated.ts:11:47 - error JSII3000: Exported APIs cannot use un-exported type "jsii.DeprecatedInterface" 11 public bad(parameter: DeprecatedInterface): DeprecatedInterface { ~~~~~~~~~~~~~~~~~~~ neg.stripped-deprecated.ts:11:47 - error JSII3999: Method has @deprecated type jsii.DeprecatedInterface, and it is erased by --strip-deprecated. 11 public bad(parameter: DeprecatedInterface): DeprecatedInterface { ~~~~~~~~~~~~~~~~~~~ neg.stripped-deprecated.ts:4:18 4 export interface DeprecatedInterface {} ~~~~~~~~~~~~~~~~~~~ The @deprecated type is declared here neg.stripped-deprecated.ts:7:17 - error JSII3000: Exported APIs cannot use un-exported type "jsii.DeprecatedInterface" 7 public ouch?: DeprecatedInterface; ~~~~~~~~~~~~~~~~~~~ neg.stripped-deprecated.ts:7:17 - error JSII3999: Property has @deprecated type jsii.DeprecatedInterface, and it is erased by --strip-deprecated. 7 public ouch?: DeprecatedInterface; ~~~~~~~~~~~~~~~~~~~ neg.stripped-deprecated.ts:4:18 4 export interface DeprecatedInterface {} ~~~~~~~~~~~~~~~~~~~ The @deprecated type is declared here neg.stripped-deprecated.ts:9:42 - error JSII3000: Exported APIs cannot use un-exported type "jsii.DeprecatedInterface" 9 public constructor(public readonly no: DeprecatedInterface) {} ~~~~~~~~~~~~~~~~~~~ neg.stripped-deprecated.ts:9:42 - error JSII3999: Parameter has @deprecated type jsii.DeprecatedInterface, and it is erased by --strip-deprecated. 9 public constructor(public readonly no: DeprecatedInterface) {} ~~~~~~~~~~~~~~~~~~~ neg.stripped-deprecated.ts:4:18 4 export interface DeprecatedInterface {} ~~~~~~~~~~~~~~~~~~~ The @deprecated type is declared here neg.stripped-deprecated.ts:9:42 - error JSII3999: Property has @deprecated type jsii.DeprecatedInterface, and it is erased by --strip-deprecated. 9 public constructor(public readonly no: DeprecatedInterface) {} ~~~~~~~~~~~~~~~~~~~ neg.stripped-deprecated.ts:4:18 4 export interface DeprecatedInterface {} ~~~~~~~~~~~~~~~~~~~ The @deprecated type is declared here `; exports[`struct-extends-interface 1`] = ` neg.struct-extends-interface.ts:6:18 - error JSII8007: Interface contains behavior. Rename "Struct" to "IStruct" 6 export interface Struct extends IInterface { ~~~~~~ `; exports[`struct-hint-on-class 1`] = ` neg.struct-hint-on-class.ts:4:4 - error JSII7001: Illegal use of "@struct" hint. It is only valid on interfaces with only readonly properties. 4 * @struct ~~~~~~~ 5 */ ~ neg.struct-hint-on-class.ts:6:14 6 export class ClassName { } ~~~~~~~~~ The annotated declaration is here `; exports[`struct-hint-on-enum 1`] = ` neg.struct-hint-on-enum.ts:4:4 - error JSII7001: Illegal use of "@struct" hint. It is only valid on interfaces with only readonly properties. 4 * @struct ~~~~~~~ 5 */ ~ neg.struct-hint-on-enum.ts:6:13 6 export enum EnumName { A, B } ~~~~~~~~ The annotated declaration is here `; exports[`struct-hint-with-methods 1`] = ` neg.struct-hint-with-methods.ts:4:4 - error JSII7001: Illegal use of "@struct" hint. It is only valid on interfaces with only readonly properties. 4 * @struct ~~~~~~~ 5 */ ~ neg.struct-hint-with-methods.ts:6:18 6 export interface INotAStruct { ~~~~~~~~~~~ The annotated declartion is here neg.struct-hint-with-methods.ts:7:3 7 method(): void; ~~~~~~ A method is declared here `; exports[`submodules-cannot-have-colliding-names 1`] = ` neg.submodules-cannot-have-colliding-names.ts:3:14 - error JSII5011: Submodule "ns1" conflicts with "Ns1, as different languages could represent it as: "ns1", "Ns1"" 3 export class Ns1 { ~~~ neg.submodules-cannot-have-colliding-names.ts:1:13 1 export * as ns1 from './namespaced'; ~~~ This is the conflicting submodule declaration `; exports[`submodules-cannot-share-symbols 1`] = ` namespaced/index.ts:1:14 - error JSII3003: Symbol is exported under two distinct submodules: ns1 and ns2 1 export class Declaration { ~~~~~~~~~~~ neg.submodules-cannot-share-symbols.ts:1:8 1 export * as ns1 from './namespaced'; ~~~~~~~~ Symbol is exported under the "ns1" submodule neg.submodules-cannot-share-symbols.ts:2:8 2 export * as ns2 from './namespaced'; ~~~~~~~~ Symbol is exported under the "ns2" submodule `; exports[`submodules-must-be-camel-cased 1`] = ` neg.submodules-must-be-camel-cased.ts:1:13 - error JSII8004: Submodule namespaces must be camelCased or snake_cased. Rename "Ns1" to ns1 1 export * as Ns1 from './namespaced'; ~~~ `; exports[`tuple 1`] = ` neg.tuple.ts:2:26 - error JSII1999: Tuple types are not supported in jsii APIs. Consider using arrays instead. 2 readonly stringNumber: [string, number]; ~~~~~~~~~~~~~~~~ neg.tuple.ts:3:26 - error JSII1999: Tuple types are not supported in jsii APIs. Consider using arrays instead. 3 readonly stringString: [string, string]; ~~~~~~~~~~~~~~~~ neg.tuple.ts:4:27 - error JSII1999: Tuple types are not supported in jsii APIs. Consider using arrays instead. 4 readonly stringNumbers: [string, ...number[]]; ~~~~~~~~~~~~~~~~~~~~~ neg.tuple.ts:5:24 - error JSII1999: Tuple types are not supported in jsii APIs. Consider using arrays instead. 5 readonly namedTuple: [first: string, second: number, ...rest: boolean[]]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `;