File tree 12 files changed +483
-36
lines changed
jsii-pacmak/test/expected.jsii-calc
dotnet/Amazon.JSII.Tests.CalculatorPackageId
Amazon/JSII/Tests/CalculatorNamespace
java/src/main/java/software/amazon/jsii/tests/calculator
12 files changed +483
-36
lines changed Original file line number Diff line number Diff line change @@ -926,3 +926,16 @@ export class ClassWithPrivateConstructorAndAutomaticProperties implements IInter
926
926
private constructor ( public readonly readOnlyString : string , public readWriteString : string ) {
927
927
}
928
928
}
929
+
930
+ export interface IInterfaceWithMethods {
931
+ readonly value : string ;
932
+ doThings ( ) : void ;
933
+ }
934
+
935
+ /**
936
+ * Even though this interface has only properties, it is disqualified from being a datatype
937
+ * because it inherits from an interface that is not a datatype.
938
+ */
939
+ export interface IInterfaceThatShouldNotBeADataType extends IInterfaceWithMethods {
940
+ readonly otherValue : string ;
941
+ }
Original file line number Diff line number Diff line change 1452
1452
"kind": "interface",
1453
1453
"name": "IFriendlyRandomGenerator"
1454
1454
},
1455
+ "jsii-calc.IInterfaceThatShouldNotBeADataType": {
1456
+ "assembly": "jsii-calc",
1457
+ "docs": {
1458
+ "comment": "Even though this interface has only properties, it is disqualified from being a datatype\nbecause it inherits from an interface that is not a datatype."
1459
+ },
1460
+ "fqn": "jsii-calc.IInterfaceThatShouldNotBeADataType",
1461
+ "interfaces": [
1462
+ {
1463
+ "fqn": "jsii-calc.IInterfaceWithMethods"
1464
+ }
1465
+ ],
1466
+ "kind": "interface",
1467
+ "name": "IInterfaceThatShouldNotBeADataType",
1468
+ "properties": [
1469
+ {
1470
+ "abstract": true,
1471
+ "immutable": true,
1472
+ "name": "otherValue",
1473
+ "type": {
1474
+ "primitive": "string"
1475
+ }
1476
+ }
1477
+ ]
1478
+ },
1479
+ "jsii-calc.IInterfaceWithMethods": {
1480
+ "assembly": "jsii-calc",
1481
+ "fqn": "jsii-calc.IInterfaceWithMethods",
1482
+ "kind": "interface",
1483
+ "methods": [
1484
+ {
1485
+ "abstract": true,
1486
+ "name": "doThings"
1487
+ }
1488
+ ],
1489
+ "name": "IInterfaceWithMethods",
1490
+ "properties": [
1491
+ {
1492
+ "abstract": true,
1493
+ "immutable": true,
1494
+ "name": "value",
1495
+ "type": {
1496
+ "primitive": "string"
1497
+ }
1498
+ }
1499
+ ]
1500
+ },
1455
1501
"jsii-calc.IInterfaceWithProperties": {
1456
1502
"assembly": "jsii-calc",
1457
1503
"datatype": true,
3355
3401
}
3356
3402
},
3357
3403
"version": "0.7.7",
3358
- "fingerprint": "16f4wL/B1M7rOOzyAzBEtqlOi2GYhDAU5rctonoha5Y ="
3404
+ "fingerprint": "vJH1gHlpRxKo77e0kE+6KATwgsZB0VpBcFEo/9OIG7Q ="
3359
3405
}
Original file line number Diff line number Diff line change 1452
1452
"kind": "interface",
1453
1453
"name": "IFriendlyRandomGenerator"
1454
1454
},
1455
+ "jsii-calc.IInterfaceThatShouldNotBeADataType": {
1456
+ "assembly": "jsii-calc",
1457
+ "docs": {
1458
+ "comment": "Even though this interface has only properties, it is disqualified from being a datatype\nbecause it inherits from an interface that is not a datatype."
1459
+ },
1460
+ "fqn": "jsii-calc.IInterfaceThatShouldNotBeADataType",
1461
+ "interfaces": [
1462
+ {
1463
+ "fqn": "jsii-calc.IInterfaceWithMethods"
1464
+ }
1465
+ ],
1466
+ "kind": "interface",
1467
+ "name": "IInterfaceThatShouldNotBeADataType",
1468
+ "properties": [
1469
+ {
1470
+ "abstract": true,
1471
+ "immutable": true,
1472
+ "name": "otherValue",
1473
+ "type": {
1474
+ "primitive": "string"
1475
+ }
1476
+ }
1477
+ ]
1478
+ },
1479
+ "jsii-calc.IInterfaceWithMethods": {
1480
+ "assembly": "jsii-calc",
1481
+ "fqn": "jsii-calc.IInterfaceWithMethods",
1482
+ "kind": "interface",
1483
+ "methods": [
1484
+ {
1485
+ "abstract": true,
1486
+ "name": "doThings"
1487
+ }
1488
+ ],
1489
+ "name": "IInterfaceWithMethods",
1490
+ "properties": [
1491
+ {
1492
+ "abstract": true,
1493
+ "immutable": true,
1494
+ "name": "value",
1495
+ "type": {
1496
+ "primitive": "string"
1497
+ }
1498
+ }
1499
+ ]
1500
+ },
1455
1501
"jsii-calc.IInterfaceWithProperties": {
1456
1502
"assembly": "jsii-calc",
1457
1503
"datatype": true,
3355
3401
}
3356
3402
},
3357
3403
"version": "0.7.7",
3358
- "fingerprint": "16f4wL/B1M7rOOzyAzBEtqlOi2GYhDAU5rctonoha5Y ="
3404
+ "fingerprint": "vJH1gHlpRxKo77e0kE+6KATwgsZB0VpBcFEo/9OIG7Q ="
3359
3405
}
Original file line number Diff line number Diff line change
1
+ using Amazon . JSII . Runtime . Deputy ;
2
+
3
+ namespace Amazon . JSII . Tests . CalculatorNamespace
4
+ {
5
+ /// <summary>
6
+ /// Even though this interface has only properties, it is disqualified from being a datatype
7
+ /// because it inherits from an interface that is not a datatype.
8
+ /// </summary>
9
+ [ JsiiInterface ( typeof ( IIInterfaceThatShouldNotBeADataType ) , "jsii-calc.IInterfaceThatShouldNotBeADataType" ) ]
10
+ public interface IIInterfaceThatShouldNotBeADataType : IIInterfaceWithMethods
11
+ {
12
+ [ JsiiProperty ( "otherValue" , "{\" primitive\" :\" string\" }" ) ]
13
+ string OtherValue
14
+ {
15
+ get ;
16
+ }
17
+ }
18
+ }
Original file line number Diff line number Diff line change
1
+ using Amazon . JSII . Runtime . Deputy ;
2
+
3
+ namespace Amazon . JSII . Tests . CalculatorNamespace
4
+ {
5
+ [ JsiiInterface ( typeof ( IIInterfaceWithMethods ) , "jsii-calc.IInterfaceWithMethods" ) ]
6
+ public interface IIInterfaceWithMethods
7
+ {
8
+ [ JsiiProperty ( "value" , "{\" primitive\" :\" string\" }" ) ]
9
+ string Value
10
+ {
11
+ get ;
12
+ }
13
+
14
+ [ JsiiMethod ( "doThings" , null , "[]" ) ]
15
+ void DoThings ( ) ;
16
+ }
17
+ }
Original file line number Diff line number Diff line change
1
+ using Amazon . JSII . Runtime . Deputy ;
2
+
3
+ namespace Amazon . JSII . Tests . CalculatorNamespace
4
+ {
5
+ /// <summary>
6
+ /// Even though this interface has only properties, it is disqualified from being a datatype
7
+ /// because it inherits from an interface that is not a datatype.
8
+ /// </summary>
9
+ [ JsiiTypeProxy ( typeof ( IIInterfaceThatShouldNotBeADataType ) , "jsii-calc.IInterfaceThatShouldNotBeADataType" ) ]
10
+ internal sealed class IInterfaceThatShouldNotBeADataTypeProxy : DeputyBase , IIInterfaceThatShouldNotBeADataType
11
+ {
12
+ private IInterfaceThatShouldNotBeADataTypeProxy ( ByRefValue reference ) : base ( reference )
13
+ {
14
+ }
15
+
16
+ [ JsiiProperty ( "otherValue" , "{\" primitive\" :\" string\" }" ) ]
17
+ public string OtherValue
18
+ {
19
+ get => GetInstanceProperty < string > ( ) ;
20
+ }
21
+
22
+ [ JsiiProperty ( "value" , "{\" primitive\" :\" string\" }" ) ]
23
+ public string Value
24
+ {
25
+ get => GetInstanceProperty < string > ( ) ;
26
+ }
27
+
28
+ [ JsiiMethod ( "doThings" , null , "[]" ) ]
29
+ public void DoThings ( )
30
+ {
31
+ InvokeInstanceVoidMethod ( new object [ ] { } ) ;
32
+ }
33
+ }
34
+ }
Original file line number Diff line number Diff line change
1
+ using Amazon . JSII . Runtime . Deputy ;
2
+
3
+ namespace Amazon . JSII . Tests . CalculatorNamespace
4
+ {
5
+ [ JsiiTypeProxy ( typeof ( IIInterfaceWithMethods ) , "jsii-calc.IInterfaceWithMethods" ) ]
6
+ internal sealed class IInterfaceWithMethodsProxy : DeputyBase , IIInterfaceWithMethods
7
+ {
8
+ private IInterfaceWithMethodsProxy ( ByRefValue reference ) : base ( reference )
9
+ {
10
+ }
11
+
12
+ [ JsiiProperty ( "value" , "{\" primitive\" :\" string\" }" ) ]
13
+ public string Value
14
+ {
15
+ get => GetInstanceProperty < string > ( ) ;
16
+ }
17
+
18
+ [ JsiiMethod ( "doThings" , null , "[]" ) ]
19
+ public void DoThings ( )
20
+ {
21
+ InvokeInstanceVoidMethod ( new object [ ] { } ) ;
22
+ }
23
+ }
24
+ }
Original file line number Diff line number Diff line change @@ -40,6 +40,8 @@ protected Class<?> resolveClass(final String fqn) throws ClassNotFoundException
40
40
case "jsii-calc.GiveMeStructs" : return software .amazon .jsii .tests .calculator .GiveMeStructs .class ;
41
41
case "jsii-calc.IFriendlier" : return software .amazon .jsii .tests .calculator .IFriendlier .class ;
42
42
case "jsii-calc.IFriendlyRandomGenerator" : return software .amazon .jsii .tests .calculator .IFriendlyRandomGenerator .class ;
43
+ case "jsii-calc.IInterfaceThatShouldNotBeADataType" : return software .amazon .jsii .tests .calculator .IInterfaceThatShouldNotBeADataType .class ;
44
+ case "jsii-calc.IInterfaceWithMethods" : return software .amazon .jsii .tests .calculator .IInterfaceWithMethods .class ;
43
45
case "jsii-calc.IInterfaceWithProperties" : return software .amazon .jsii .tests .calculator .IInterfaceWithProperties .class ;
44
46
case "jsii-calc.IInterfaceWithPropertiesExtension" : return software .amazon .jsii .tests .calculator .IInterfaceWithPropertiesExtension .class ;
45
47
case "jsii-calc.IRandomNumberGenerator" : return software .amazon .jsii .tests .calculator .IRandomNumberGenerator .class ;
Original file line number Diff line number Diff line change
1
+ package software .amazon .jsii .tests .calculator ;
2
+
3
+ /**
4
+ * Even though this interface has only properties, it is disqualified from being a datatype
5
+ * because it inherits from an interface that is not a datatype.
6
+ */
7
+ @ javax .annotation .Generated (value = "jsii-pacmak" )
8
+ public interface IInterfaceThatShouldNotBeADataType extends software .amazon .jsii .JsiiSerializable , software .amazon .jsii .tests .calculator .IInterfaceWithMethods {
9
+ java .lang .String getOtherValue ();
10
+
11
+ /**
12
+ * A proxy class which represents a concrete javascript instance of this type.
13
+ */
14
+ final static class Jsii$Proxy extends software .amazon .jsii .JsiiObject implements software .amazon .jsii .tests .calculator .IInterfaceThatShouldNotBeADataType {
15
+ protected Jsii$Proxy (final software .amazon .jsii .JsiiObject .InitializationMode mode ) {
16
+ super (mode );
17
+ }
18
+
19
+ @ Override
20
+ public java .lang .String getOtherValue () {
21
+ return this .jsiiGet ("otherValue" , java .lang .String .class );
22
+ }
23
+
24
+ @ Override
25
+ public java .lang .String getValue () {
26
+ return this .jsiiGet ("value" , java .lang .String .class );
27
+ }
28
+
29
+ @ Override
30
+ public void doThings () {
31
+ this .jsiiCall ("doThings" , Void .class );
32
+ }
33
+ }
34
+ }
Original file line number Diff line number Diff line change
1
+ package software .amazon .jsii .tests .calculator ;
2
+
3
+ @ javax .annotation .Generated (value = "jsii-pacmak" )
4
+ public interface IInterfaceWithMethods extends software .amazon .jsii .JsiiSerializable {
5
+ java .lang .String getValue ();
6
+ void doThings ();
7
+
8
+ /**
9
+ * A proxy class which represents a concrete javascript instance of this type.
10
+ */
11
+ final static class Jsii$Proxy extends software .amazon .jsii .JsiiObject implements software .amazon .jsii .tests .calculator .IInterfaceWithMethods {
12
+ protected Jsii$Proxy (final software .amazon .jsii .JsiiObject .InitializationMode mode ) {
13
+ super (mode );
14
+ }
15
+
16
+ @ Override
17
+ public java .lang .String getValue () {
18
+ return this .jsiiGet ("value" , java .lang .String .class );
19
+ }
20
+
21
+ @ Override
22
+ public void doThings () {
23
+ this .jsiiCall ("doThings" , Void .class );
24
+ }
25
+ }
26
+ }
You can’t perform that action at this time.
0 commit comments