Skip to content

Commit 0a3ecbf

Browse files
committed
polymorph
1 parent 359ca14 commit 0a3ecbf

File tree

2 files changed

+178
-18
lines changed

2 files changed

+178
-18
lines changed

.github/actions/polymorph_codegen/action.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,11 @@ runs:
116116
# run: |
117117
# make polymorph_rust ${{ steps.dependencies.outputs.PROJECT_DEPENDENCIES }}
118118

119-
- name: Regenerate Go code using smithy-dafny
120-
working-directory: ./${{ inputs.library }}
121-
shell: bash
122-
run: |
123-
make polymorph_go
119+
# - name: Regenerate Go code using smithy-dafny
120+
# working-directory: ./${{ inputs.library }}
121+
# shell: bash
122+
# run: |
123+
# make polymorph_go
124124

125125
- name: Check regenerated code against commited code
126126
# Composite action inputs seem to not actually support booleans properly for some reason

TestVectors/runtimes/net/Generated/TestVectors/TypeConversion.cs

Lines changed: 173 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,6 @@ public static software.amazon.cryptography.encryptionsdk.internaldafny.types._IA
2525
AWS.Cryptography.EncryptionSDK.NetV4_0_0_RetryPolicy var_netV4_0_0_RetryPolicy = value.IsSetNetV4__0__0__RetryPolicy() ? value.NetV4__0__0__RetryPolicy : (AWS.Cryptography.EncryptionSDK.NetV4_0_0_RetryPolicy)null;
2626
return new software.amazon.cryptography.encryptionsdk.internaldafny.types.AwsEncryptionSdkConfig(ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S22_AwsEncryptionSdkConfig__M16_commitmentPolicy(var_commitmentPolicy), ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S22_AwsEncryptionSdkConfig__M20_maxEncryptedDataKeys(var_maxEncryptedDataKeys), ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S22_AwsEncryptionSdkConfig__M21_netV4_0_0_RetryPolicy(var_netV4_0_0_RetryPolicy));
2727
}
28-
29-
[Obsolete]
3028
public static AWS.Cryptography.EncryptionSDK.AwsEncryptionSdkException FromDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S25_AwsEncryptionSdkException(software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_AwsEncryptionSdkException value)
3129
{
3230
return new AWS.Cryptography.EncryptionSDK.AwsEncryptionSdkException(
@@ -40,8 +38,6 @@ public static software.amazon.cryptography.encryptionsdk.internaldafny.types.Err
4038
ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S25_AwsEncryptionSdkException__M7_message(value.Message)
4139
);
4240
}
43-
44-
[Obsolete]
4541
public static AWS.Cryptography.EncryptionSDK.DecryptInput FromDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S12_DecryptInput(software.amazon.cryptography.encryptionsdk.internaldafny.types._IDecryptInput value)
4642
{
4743
software.amazon.cryptography.encryptionsdk.internaldafny.types.DecryptInput concrete = (software.amazon.cryptography.encryptionsdk.internaldafny.types.DecryptInput)value; AWS.Cryptography.EncryptionSDK.DecryptInput converted = new AWS.Cryptography.EncryptionSDK.DecryptInput(); converted.Ciphertext = (System.IO.MemoryStream)FromDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S12_DecryptInput__M10_ciphertext(concrete._ciphertext);
@@ -57,8 +53,6 @@ public static software.amazon.cryptography.encryptionsdk.internaldafny.types._ID
5753
System.Collections.Generic.Dictionary<string, string> var_encryptionContext = value.IsSetEncryptionContext() ? value.EncryptionContext : (System.Collections.Generic.Dictionary<string, string>)null;
5854
return new software.amazon.cryptography.encryptionsdk.internaldafny.types.DecryptInput(ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S12_DecryptInput__M10_ciphertext(value.Ciphertext), ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S12_DecryptInput__M16_materialsManager(var_materialsManager), ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S12_DecryptInput__M7_keyring(var_keyring), ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S12_DecryptInput__M17_encryptionContext(var_encryptionContext));
5955
}
60-
61-
[Obsolete]
6256
public static AWS.Cryptography.EncryptionSDK.DecryptOutput FromDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S13_DecryptOutput(software.amazon.cryptography.encryptionsdk.internaldafny.types._IDecryptOutput value)
6357
{
6458
software.amazon.cryptography.encryptionsdk.internaldafny.types.DecryptOutput concrete = (software.amazon.cryptography.encryptionsdk.internaldafny.types.DecryptOutput)value; AWS.Cryptography.EncryptionSDK.DecryptOutput converted = new AWS.Cryptography.EncryptionSDK.DecryptOutput(); converted.Plaintext = (System.IO.MemoryStream)FromDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S13_DecryptOutput__M9_plaintext(concrete._plaintext);
@@ -71,8 +65,6 @@ public static software.amazon.cryptography.encryptionsdk.internaldafny.types._ID
7165

7266
return new software.amazon.cryptography.encryptionsdk.internaldafny.types.DecryptOutput(ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S13_DecryptOutput__M9_plaintext(value.Plaintext), ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S13_DecryptOutput__M17_encryptionContext(value.EncryptionContext), ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S13_DecryptOutput__M16_algorithmSuiteId(value.AlgorithmSuiteId));
7367
}
74-
75-
[Obsolete]
7668
public static AWS.Cryptography.EncryptionSDK.EncryptInput FromDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S12_EncryptInput(software.amazon.cryptography.encryptionsdk.internaldafny.types._IEncryptInput value)
7769
{
7870
software.amazon.cryptography.encryptionsdk.internaldafny.types.EncryptInput concrete = (software.amazon.cryptography.encryptionsdk.internaldafny.types.EncryptInput)value; AWS.Cryptography.EncryptionSDK.EncryptInput converted = new AWS.Cryptography.EncryptionSDK.EncryptInput(); converted.Plaintext = (System.IO.MemoryStream)FromDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S12_EncryptInput__M9_plaintext(concrete._plaintext);
@@ -92,8 +84,6 @@ public static software.amazon.cryptography.encryptionsdk.internaldafny.types._IE
9284
long? var_frameLength = value.IsSetFrameLength() ? value.FrameLength : (long?)null;
9385
return new software.amazon.cryptography.encryptionsdk.internaldafny.types.EncryptInput(ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S12_EncryptInput__M9_plaintext(value.Plaintext), ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S12_EncryptInput__M17_encryptionContext(var_encryptionContext), ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S12_EncryptInput__M16_materialsManager(var_materialsManager), ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S12_EncryptInput__M7_keyring(var_keyring), ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S12_EncryptInput__M16_algorithmSuiteId(var_algorithmSuiteId), ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S12_EncryptInput__M11_frameLength(var_frameLength));
9486
}
95-
96-
[Obsolete]
9787
public static AWS.Cryptography.EncryptionSDK.EncryptOutput FromDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S13_EncryptOutput(software.amazon.cryptography.encryptionsdk.internaldafny.types._IEncryptOutput value)
9888
{
9989
software.amazon.cryptography.encryptionsdk.internaldafny.types.EncryptOutput concrete = (software.amazon.cryptography.encryptionsdk.internaldafny.types.EncryptOutput)value; AWS.Cryptography.EncryptionSDK.EncryptOutput converted = new AWS.Cryptography.EncryptionSDK.EncryptOutput(); converted.Ciphertext = (System.IO.MemoryStream)FromDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S13_EncryptOutput__M10_ciphertext(concrete._ciphertext);
@@ -379,8 +369,6 @@ public static software.amazon.cryptography.materialproviders.internaldafny.types
379369
// Therefore it defers to the dependant module for conversion
380370
return AWS.Cryptography.MaterialProviders.TypeConversion.ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S16_KeyringReference(value);
381371
}
382-
383-
[Obsolete]
384372
public static System.Collections.Generic.Dictionary<string, string> FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S17_EncryptionContext(Dafny.IMap<Dafny.ISequence<byte>, Dafny.ISequence<byte>> value)
385373
{
386374
return value.ItemEnumerable.ToDictionary(pair => FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S17_EncryptionContext__M3_key(pair.Car), pair => FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S17_EncryptionContext__M5_value(pair.Cdr));
@@ -509,6 +497,90 @@ public static Dafny.ISequence<byte> ToDafny_N3_aws__N12_cryptography__N17_materi
509497

510498
[Obsolete]
511499

500+
/* Unmerged change from project 'ESDKTestVectors(net48)'
501+
Before:
502+
public static string FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S17_EncryptionContext__M5_value(Dafny.ISequence<byte> value)
503+
{
504+
return FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_Utf8Bytes(value);
505+
}
506+
public static Dafny.ISequence<byte> ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S17_EncryptionContext__M5_value(string value)
507+
{
508+
return ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_Utf8Bytes(value);
509+
}
510+
511+
[Obsolete]
512+
public static string FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_Utf8Bytes(Dafny.ISequence<byte> value)
513+
{
514+
System.Text.UTF8Encoding utf8 = new System.Text.UTF8Encoding(false, true);
515+
return utf8.GetString(value.Elements);
516+
}
517+
public static Dafny.ISequence<byte> ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_Utf8Bytes(string value)
518+
{
519+
System.Text.UTF8Encoding utf8 = new System.Text.UTF8Encoding(false, true);
520+
return Dafny.Sequence<byte>.FromArray(utf8.GetBytes(value));
521+
}
522+
523+
[Obsolete]
524+
public static System.Exception FromDafny_CommonError(software.amazon.cryptography.encryptionsdk.internaldafny.types._IError value)
525+
{
526+
switch (value)
527+
{
528+
case software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_AwsCryptographyMaterialProviders dafnyVal:
529+
return AWS.Cryptography.MaterialProviders.TypeConversion.FromDafny_CommonError(
530+
dafnyVal._AwsCryptographyMaterialProviders
531+
);
532+
case software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_AwsCryptographyPrimitives dafnyVal:
533+
return AWS.Cryptography.Primitives.TypeConversion.FromDafny_CommonError(
534+
dafnyVal._AwsCryptographyPrimitives
535+
);
536+
case software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_AwsEncryptionSdkException dafnyVal:
537+
return FromDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S25_AwsEncryptionSdkException(dafnyVal);
538+
case software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_CollectionOfErrors dafnyVal:
539+
return new CollectionOfErrors(
540+
new System.Collections.Generic.List<Exception>(dafnyVal.dtor_list.CloneAsArray()
541+
.Select(x => TypeConversion.FromDafny_CommonError(x))),
542+
new string(dafnyVal.dtor_message.Elements));
543+
case software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_Opaque dafnyVal:
544+
return new OpaqueError(dafnyVal._obj);
545+
default:
546+
// The switch MUST be complete for _IError, so `value` MUST NOT be an _IError. (How did you get here?)
547+
return new OpaqueError();
548+
}
549+
}
550+
public static software.amazon.cryptography.encryptionsdk.internaldafny.types._IError ToDafny_CommonError(System.Exception value)
551+
{
552+
switch (value.GetType().Namespace)
553+
{
554+
case "AWS.Cryptography.MaterialProviders":
555+
return software.amazon.cryptography.encryptionsdk.internaldafny.types.Error.create_AwsCryptographyMaterialProviders(
556+
AWS.Cryptography.MaterialProviders.TypeConversion.ToDafny_CommonError(value)
557+
);
558+
}
559+
switch (value)
560+
{
561+
case AWS.Cryptography.EncryptionSDK.AwsEncryptionSdkException exception:
562+
return ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S25_AwsEncryptionSdkException(exception);
563+
case CollectionOfErrors collectionOfErrors:
564+
return new software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_CollectionOfErrors(
565+
Dafny.Sequence<software.amazon.cryptography.encryptionsdk.internaldafny.types._IError>
566+
.FromArray(
567+
collectionOfErrors.list.Select
568+
(x => TypeConversion.ToDafny_CommonError(x))
569+
.ToArray()),
570+
Dafny.Sequence<char>.FromString(collectionOfErrors.Message)
571+
);
572+
// OpaqueError is redundant, but listed for completeness.
573+
case OpaqueError exception:
574+
return new software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_Opaque(exception);
575+
case System.Exception exception:
576+
return new software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_Opaque(exception);
577+
default:
578+
// The switch MUST be complete for System.Exception, so `value` MUST NOT be an System.Exception. (How did you get here?)
579+
return new software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_Opaque(value);
580+
}
581+
}
582+
}
583+
After:
512584
[Obsolete]
513585
public static string FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S17_EncryptionContext__M5_value(Dafny.ISequence<byte> value)
514586
{
@@ -518,6 +590,15 @@ public static Dafny.ISequence<byte> ToDafny_N3_aws__N12_cryptography__N17_materi
518590
{
519591
return ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_Utf8Bytes(value);
520592
}
593+
*/
594+
public static string FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S17_EncryptionContext__M5_value(Dafny.ISequence<byte> value)
595+
{
596+
return FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_Utf8Bytes(value);
597+
}
598+
public static Dafny.ISequence<byte> ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S17_EncryptionContext__M5_value(string value)
599+
{
600+
return ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_Utf8Bytes(value);
601+
}
521602

522603
[Obsolete]
523604
public static string FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_Utf8Bytes(Dafny.ISequence<byte> value)
@@ -531,6 +612,86 @@ public static Dafny.ISequence<byte> ToDafny_N3_aws__N12_cryptography__N17_materi
531612
return Dafny.Sequence<byte>.FromArray(utf8.GetBytes(value));
532613
}
533614

615+
/* Unmerged change from project 'ESDKTestVectors(net48)'
616+
Before:
617+
public static string FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_Utf8Bytes (Dafny.ISequence<byte> value) {
618+
After:
619+
public static string FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_Utf8Bytes(Dafny.ISequence<byte> value)
620+
{
621+
System.Text.UTF8Encoding utf8 = new System.Text.UTF8Encoding(false, true);
622+
return utf8.GetString(value.Elements);
623+
}
624+
public static Dafny.ISequence<byte> ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_Utf8Bytes(string value)
625+
{
626+
System.Text.UTF8Encoding utf8 = new System.Text.UTF8Encoding(false, true);
627+
return Dafny.Sequence<byte>.FromArray(utf8.GetBytes(value));
628+
}
629+
630+
[Obsolete]
631+
public static System.Exception FromDafny_CommonError(software.amazon.cryptography.encryptionsdk.internaldafny.types._IError value)
632+
{
633+
switch (value)
634+
{
635+
case software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_AwsCryptographyMaterialProviders dafnyVal:
636+
return AWS.Cryptography.MaterialProviders.TypeConversion.FromDafny_CommonError(
637+
dafnyVal._AwsCryptographyMaterialProviders
638+
);
639+
case software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_AwsCryptographyPrimitives dafnyVal:
640+
return AWS.Cryptography.Primitives.TypeConversion.FromDafny_CommonError(
641+
dafnyVal._AwsCryptographyPrimitives
642+
);
643+
case software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_AwsEncryptionSdkException dafnyVal:
644+
return FromDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S25_AwsEncryptionSdkException(dafnyVal);
645+
case software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_CollectionOfErrors dafnyVal:
646+
return new CollectionOfErrors(
647+
new System.Collections.Generic.List<Exception>(dafnyVal.dtor_list.CloneAsArray()
648+
.Select(x => TypeConversion.FromDafny_CommonError(x))),
649+
new string(dafnyVal.dtor_message.Elements));
650+
case software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_Opaque dafnyVal:
651+
return new OpaqueError(dafnyVal._obj);
652+
default:
653+
// The switch MUST be complete for _IError, so `value` MUST NOT be an _IError. (How did you get here?)
654+
return new OpaqueError();
655+
}
656+
}
657+
public static software.amazon.cryptography.encryptionsdk.internaldafny.types._IError ToDafny_CommonError(System.Exception value)
658+
{
659+
switch (value.GetType().Namespace)
660+
{
661+
case "AWS.Cryptography.MaterialProviders":
662+
return software.amazon.cryptography.encryptionsdk.internaldafny.types.Error.create_AwsCryptographyMaterialProviders(
663+
AWS.Cryptography.MaterialProviders.TypeConversion.ToDafny_CommonError(value)
664+
);
665+
}
666+
switch (value)
667+
{
668+
case AWS.Cryptography.EncryptionSDK.AwsEncryptionSdkException exception:
669+
return ToDafny_N3_aws__N12_cryptography__N13_encryptionSdk__S25_AwsEncryptionSdkException(exception);
670+
case CollectionOfErrors collectionOfErrors:
671+
return new software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_CollectionOfErrors(
672+
Dafny.Sequence<software.amazon.cryptography.encryptionsdk.internaldafny.types._IError>
673+
.FromArray(
674+
collectionOfErrors.list.Select
675+
(x => TypeConversion.ToDafny_CommonError(x))
676+
.ToArray()),
677+
Dafny.Sequence<char>.FromString(collectionOfErrors.Message)
678+
);
679+
// OpaqueError is redundant, but listed for completeness.
680+
case OpaqueError exception:
681+
return new software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_Opaque(exception);
682+
case System.Exception exception:
683+
return new software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_Opaque(exception);
684+
default:
685+
// The switch MUST be complete for System.Exception, so `value` MUST NOT be an System.Exception. (How did you get here?)
686+
return new software.amazon.cryptography.encryptionsdk.internaldafny.types.Error_Opaque(value);
687+
}
688+
}
689+
}
690+
691+
[Obsolete]
692+
public static string FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_Utf8Bytes (Dafny.ISequence<byte> value) {
693+
*/
694+
534695
[Obsolete]
535696
public static System.Exception FromDafny_CommonError(software.amazon.cryptography.encryptionsdk.internaldafny.types._IError value)
536697
{
@@ -664,4 +825,3 @@ public static software.amazon.cryptography.encryptionsdk.internaldafny.types._IE
664825
}
665826
}
666827
}
667-
}

0 commit comments

Comments
 (0)