diff options
| author | Michael Williamson <mike@zwobble.org> | 2024-12-11 00:49:43 +0000 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2024-12-11 00:50:50 +0000 |
| commit | 082e7a06ed147d3bce1116d48b0911119b43af71 (patch) | |
| tree | a5d484c552241391e8d48a81d77a803a531b5ca1 /src/test/java | |
| parent | 1b56846cfdf7e25408920bdeb4f46edb721a218f (diff) | |
Compile Patio code for positional structs
Diffstat (limited to 'src/test/java')
5 files changed, 28 insertions, 5 deletions
diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/Amd64ExampleTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/Amd64ExampleTests.java index 9ddf4aea..206f37b9 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/Amd64ExampleTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/Amd64ExampleTests.java @@ -23,7 +23,6 @@ public class Amd64ExampleTests extends ExampleTests { } private static final Set<String> DISABLED = Set.of( - "16-struct-positional-fields", "36-extensions" ); diff --git a/src/test/java/org/shedlang/compiler/backends/llvm/I686ExampleTests.java b/src/test/java/org/shedlang/compiler/backends/llvm/I686ExampleTests.java index 91ab47d3..b4d2a763 100644 --- a/src/test/java/org/shedlang/compiler/backends/llvm/I686ExampleTests.java +++ b/src/test/java/org/shedlang/compiler/backends/llvm/I686ExampleTests.java @@ -23,7 +23,6 @@ public class I686ExampleTests extends ExampleTests { } private static final Set<String> DISABLED = Set.of( - "16-struct-positional-fields", "36-extensions" ); diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/Wasm32ExampleTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/Wasm32ExampleTests.java index 11011341..b1ffd742 100644 --- a/src/test/java/org/shedlang/compiler/backends/wasm/Wasm32ExampleTests.java +++ b/src/test/java/org/shedlang/compiler/backends/wasm/Wasm32ExampleTests.java @@ -23,7 +23,6 @@ public class Wasm32ExampleTests extends ExampleTests { } private static final Set<String> DISABLED = Set.of( - "16-struct-positional-fields", "36-extensions" ); diff --git a/src/test/java/org/shedlang/compiler/backends/wasm/Wasm64ExampleTests.java b/src/test/java/org/shedlang/compiler/backends/wasm/Wasm64ExampleTests.java index a855ffb7..3f94a2bd 100644 --- a/src/test/java/org/shedlang/compiler/backends/wasm/Wasm64ExampleTests.java +++ b/src/test/java/org/shedlang/compiler/backends/wasm/Wasm64ExampleTests.java @@ -23,7 +23,6 @@ public class Wasm64ExampleTests extends ExampleTests { } private static final Set<String> DISABLED = Set.of( - "16-struct-positional-fields", "36-extensions" ); diff --git a/src/test/java/org/shedlang/compiler/shidtopatio/ShidToPatioDefineStructTests.java b/src/test/java/org/shedlang/compiler/shidtopatio/ShidToPatioDefineStructTests.java index 4b409c74..b363cbb8 100644 --- a/src/test/java/org/shedlang/compiler/shidtopatio/ShidToPatioDefineStructTests.java +++ b/src/test/java/org/shedlang/compiler/shidtopatio/ShidToPatioDefineStructTests.java @@ -20,7 +20,7 @@ import static org.zwobble.precisely.Matchers.equalTo; @ExtendWith({SnapshotResolver.class}) public class ShidToPatioDefineStructTests { @Test - public void canGenerateCodeForDefineStruct(Snapshotter snapshotter) throws IOException { + public void canGenerateCodeForDefineStructNonPositional(Snapshotter snapshotter) throws IOException { var structType = Types.struct(NamespaceName.of("Example", "Project"), "User"); var instruction = Shid.defineStruct( structType, @@ -35,6 +35,33 @@ public class ShidToPatioDefineStructTests { StructTypeInfo.builder() .addField("name", Types.STRING) .addField("isActive", Types.BOOL) + .withFieldsArePositional(false) + .build() + ); + var context = ShidToPatioContext.forTypeInfos(typeInfos); + + var result = ShidToPatio.generateInstruction(instruction, context); + + snapshotter.assertSnapshot(serialize(result)); + } + + @Test + public void canGenerateCodeForDefineStructPositional(Snapshotter snapshotter) throws IOException { + var structType = Types.struct(NamespaceName.of("Example", "Project"), "User"); + var instruction = Shid.defineStruct( + structType, + List.of( + Shid.defineStructField("name"), + Shid.defineStructField("isActive") + ) + ); + var typeInfos = TypeInfos.EMPTY + .addStructTypeInfo( + structType, + StructTypeInfo.builder() + .addField("name", Types.STRING) + .addField("isActive", Types.BOOL) + .withFieldsArePositional(true) .build() ); var context = ShidToPatioContext.forTypeInfos(typeInfos); |
