diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-08-01 09:17:30 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-08-01 09:17:30 +0100 |
| commit | 4524a8a16574887bfdb0ee66984709c8158470a6 (patch) | |
| tree | c7a171667fa76851d7e61e7f2ead607fb0823a6f | |
| parent | b433dc94a228a89977da9ee6a4739e2f1da69d66 (diff) | |
Add Box type
| -rw-r--r-- | examples/04-box/hobgoblin.json5 (renamed from examples/10-shared/hobgoblin.json5) | 0 | ||||
| -rw-r--r-- | examples/04-box/output/java/.gitignore (renamed from examples/04-inductive-data-types/output/java/.gitignore) | 0 | ||||
| l--------- | examples/04-box/output/java/pom.xml (renamed from examples/04-inductive-data-types/output/java/pom.xml) | 0 | ||||
| -rw-r--r-- | examples/04-box/output/java/src/test/java/org/zwobble/example/PointTests.java | 16 | ||||
| -rw-r--r-- | examples/04-box/output/rust/.gitignore (renamed from examples/04-inductive-data-types/output/rust/.gitignore) | 0 | ||||
| -rw-r--r-- | examples/04-box/output/rust/Cargo.lock (renamed from examples/04-inductive-data-types/output/rust/Cargo.lock) | 0 | ||||
| -rw-r--r-- | examples/04-box/output/rust/Cargo.toml (renamed from examples/04-inductive-data-types/output/rust/Cargo.toml) | 0 | ||||
| -rw-r--r-- | examples/04-box/output/rust/rust-toolchain.toml (renamed from examples/04-inductive-data-types/output/rust/rust-toolchain.toml) | 0 | ||||
| -rw-r--r-- | examples/04-box/output/rust/src/lib.rs | 14 | ||||
| -rw-r--r-- | examples/04-box/output/rust/src/point.rs | 15 | ||||
| -rw-r--r-- | examples/04-box/src/point.hob | 11 | ||||
| -rw-r--r-- | examples/05-inductive-data-types/hobgoblin.json5 (renamed from examples/04-inductive-data-types/hobgoblin.json5) | 0 | ||||
| -rw-r--r-- | examples/05-inductive-data-types/output/java/.gitignore (renamed from examples/05-inductive-data-types-separate-namespaces/output/java/.gitignore) | 0 | ||||
| l--------- | examples/05-inductive-data-types/output/java/pom.xml (renamed from examples/05-inductive-data-types-separate-namespaces/output/java/pom.xml) | 0 | ||||
| -rw-r--r-- | examples/05-inductive-data-types/output/java/src/main/java/org/zwobble/example/Arithmetic.java (renamed from examples/04-inductive-data-types/output/java/src/main/java/org/zwobble/example/Arithmetic.java) | 0 | ||||
| -rw-r--r-- | examples/05-inductive-data-types/output/java/src/test/java/org/zwobble/example/ArithmeticTests.java (renamed from examples/04-inductive-data-types/output/java/src/test/java/org/zwobble/example/ArithmeticTests.java) | 0 | ||||
| -rw-r--r-- | examples/05-inductive-data-types/output/rust/.gitignore (renamed from examples/05-inductive-data-types-separate-namespaces/output/rust/.gitignore) | 0 | ||||
| -rw-r--r-- | examples/05-inductive-data-types/output/rust/Cargo.lock (renamed from examples/05-inductive-data-types-separate-namespaces/output/rust/Cargo.lock) | 0 | ||||
| -rw-r--r-- | examples/05-inductive-data-types/output/rust/Cargo.toml (renamed from examples/05-inductive-data-types-separate-namespaces/output/rust/Cargo.toml) | 0 | ||||
| -rw-r--r-- | examples/05-inductive-data-types/output/rust/rust-toolchain.toml (renamed from examples/05-inductive-data-types-separate-namespaces/output/rust/rust-toolchain.toml) | 0 | ||||
| -rw-r--r-- | examples/05-inductive-data-types/output/rust/src/arithmetic.rs (renamed from examples/04-inductive-data-types/output/rust/src/arithmetic.rs) | 0 | ||||
| -rw-r--r-- | examples/05-inductive-data-types/output/rust/src/lib.rs (renamed from examples/04-inductive-data-types/output/rust/src/lib.rs) | 0 | ||||
| -rw-r--r-- | examples/05-inductive-data-types/src/arithmetic.hob (renamed from examples/04-inductive-data-types/src/arithmetic.hob) | 0 | ||||
| -rw-r--r-- | examples/06-inductive-data-types-separate-namespaces/hobgoblin.json5 (renamed from examples/05-inductive-data-types-separate-namespaces/hobgoblin.json5) | 0 | ||||
| -rw-r--r-- | examples/06-inductive-data-types-separate-namespaces/output/java/.gitignore (renamed from examples/06-enum/output/java/.gitignore) | 0 | ||||
| l--------- | examples/06-inductive-data-types-separate-namespaces/output/java/pom.xml (renamed from examples/06-enum/output/java/pom.xml) | 0 | ||||
| -rw-r--r-- | examples/06-inductive-data-types-separate-namespaces/output/java/src/test/java/org/zwobble/example/DataTests.java (renamed from examples/05-inductive-data-types-separate-namespaces/output/java/src/test/java/org/zwobble/example/DataTests.java) | 0 | ||||
| -rw-r--r-- | examples/06-inductive-data-types-separate-namespaces/output/rust/.gitignore (renamed from examples/06-enum/output/rust/.gitignore) | 0 | ||||
| -rw-r--r-- | examples/06-inductive-data-types-separate-namespaces/output/rust/Cargo.lock (renamed from examples/06-enum/output/rust/Cargo.lock) | 0 | ||||
| -rw-r--r-- | examples/06-inductive-data-types-separate-namespaces/output/rust/Cargo.toml (renamed from examples/06-enum/output/rust/Cargo.toml) | 0 | ||||
| -rw-r--r-- | examples/06-inductive-data-types-separate-namespaces/output/rust/rust-toolchain.toml (renamed from examples/06-enum/output/rust/rust-toolchain.toml) | 0 | ||||
| -rw-r--r-- | examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/a.rs (renamed from examples/05-inductive-data-types-separate-namespaces/output/rust/src/data/a.rs) | 0 | ||||
| -rw-r--r-- | examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/b.rs (renamed from examples/05-inductive-data-types-separate-namespaces/output/rust/src/data/b.rs) | 0 | ||||
| -rw-r--r-- | examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/mod.rs (renamed from examples/05-inductive-data-types-separate-namespaces/output/rust/src/data/mod.rs) | 0 | ||||
| -rw-r--r-- | examples/06-inductive-data-types-separate-namespaces/output/rust/src/lib.rs (renamed from examples/05-inductive-data-types-separate-namespaces/output/rust/src/lib.rs) | 0 | ||||
| -rw-r--r-- | examples/06-inductive-data-types-separate-namespaces/src/data/a.hob (renamed from examples/05-inductive-data-types-separate-namespaces/src/data/a.hob) | 0 | ||||
| -rw-r--r-- | examples/06-inductive-data-types-separate-namespaces/src/data/b.hob (renamed from examples/05-inductive-data-types-separate-namespaces/src/data/b.hob) | 0 | ||||
| -rw-r--r-- | examples/07-enum/hobgoblin.json5 (renamed from examples/06-enum/hobgoblin.json5) | 0 | ||||
| -rw-r--r-- | examples/07-enum/output/java/.gitignore (renamed from examples/07-list/output/java/.gitignore) | 0 | ||||
| l--------- | examples/07-enum/output/java/pom.xml (renamed from examples/07-list/output/java/pom.xml) | 0 | ||||
| -rw-r--r-- | examples/07-enum/output/java/src/main/java/org/zwobble/example/Numbers.java (renamed from examples/06-enum/output/java/src/main/java/org/zwobble/example/Numbers.java) | 0 | ||||
| -rw-r--r-- | examples/07-enum/output/java/src/test/java/org/zwobble/example/NumbersTests.java (renamed from examples/06-enum/output/java/src/test/java/org/zwobble/example/NumbersTests.java) | 0 | ||||
| -rw-r--r-- | examples/07-enum/output/rust/.gitignore (renamed from examples/07-list/output/rust/.gitignore) | 0 | ||||
| -rw-r--r-- | examples/07-enum/output/rust/Cargo.lock (renamed from examples/07-list/output/rust/Cargo.lock) | 0 | ||||
| -rw-r--r-- | examples/07-enum/output/rust/Cargo.toml (renamed from examples/07-list/output/rust/Cargo.toml) | 0 | ||||
| -rw-r--r-- | examples/07-enum/output/rust/rust-toolchain.toml (renamed from examples/07-list/output/rust/rust-toolchain.toml) | 0 | ||||
| -rw-r--r-- | examples/07-enum/output/rust/src/lib.rs (renamed from examples/06-enum/output/rust/src/lib.rs) | 0 | ||||
| -rw-r--r-- | examples/07-enum/output/rust/src/numbers.rs (renamed from examples/06-enum/output/rust/src/numbers.rs) | 0 | ||||
| -rw-r--r-- | examples/07-enum/src/numbers.hob (renamed from examples/06-enum/src/numbers.hob) | 0 | ||||
| -rw-r--r-- | examples/08-list/hobgoblin.json5 (renamed from examples/07-list/hobgoblin.json5) | 0 | ||||
| -rw-r--r-- | examples/08-list/output/java/.gitignore (renamed from examples/08-native-type/output/java/.gitignore) | 0 | ||||
| l--------- | examples/08-list/output/java/pom.xml (renamed from examples/08-native-type/output/java/pom.xml) | 0 | ||||
| -rw-r--r-- | examples/08-list/output/java/src/test/java/org/zwobble/example/PointTests.java (renamed from examples/07-list/output/java/src/test/java/org/zwobble/example/PointTests.java) | 0 | ||||
| -rw-r--r-- | examples/08-list/output/rust/.gitignore (renamed from examples/08-native-type/output/rust/.gitignore) | 0 | ||||
| -rw-r--r-- | examples/08-list/output/rust/Cargo.lock (renamed from examples/08-native-type/output/rust/Cargo.lock) | 0 | ||||
| -rw-r--r-- | examples/08-list/output/rust/Cargo.toml (renamed from examples/08-native-type/output/rust/Cargo.toml) | 0 | ||||
| -rw-r--r-- | examples/08-list/output/rust/rust-toolchain.toml (renamed from examples/08-native-type/output/rust/rust-toolchain.toml) | 0 | ||||
| -rw-r--r-- | examples/08-list/output/rust/src/lib.rs (renamed from examples/07-list/output/rust/src/lib.rs) | 0 | ||||
| -rw-r--r-- | examples/08-list/output/rust/src/point.rs (renamed from examples/07-list/output/rust/src/point.rs) | 0 | ||||
| -rw-r--r-- | examples/08-list/src/point.hob (renamed from examples/07-list/src/point.hob) | 0 | ||||
| -rw-r--r-- | examples/09-native-type/hobgoblin.json5 (renamed from examples/08-native-type/hobgoblin.json5) | 0 | ||||
| -rw-r--r-- | examples/09-native-type/output/java/.gitignore (renamed from examples/09-native-type-custom-config/output/java/.gitignore) | 0 | ||||
| l--------- | examples/09-native-type/output/java/pom.xml (renamed from examples/09-native-type-custom-config/output/java/pom.xml) | 0 | ||||
| -rw-r--r-- | examples/09-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java (renamed from examples/08-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java) | 0 | ||||
| -rw-r--r-- | examples/09-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java (renamed from examples/08-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java) | 0 | ||||
| -rw-r--r-- | examples/09-native-type/output/java/src/test/java/org/zwobble/example/PointTests.java (renamed from examples/08-native-type/output/java/src/test/java/org/zwobble/example/PointTests.java) | 0 | ||||
| -rw-r--r-- | examples/09-native-type/output/rust/.gitignore (renamed from examples/09-native-type-custom-config/output/rust/.gitignore) | 0 | ||||
| -rw-r--r-- | examples/09-native-type/output/rust/Cargo.lock (renamed from examples/09-native-type-custom-config/output/rust/Cargo.lock) | 0 | ||||
| -rw-r--r-- | examples/09-native-type/output/rust/Cargo.toml (renamed from examples/09-native-type-custom-config/output/rust/Cargo.toml) | 0 | ||||
| -rw-r--r-- | examples/09-native-type/output/rust/rust-toolchain.toml (renamed from examples/09-native-type-custom-config/output/rust/rust-toolchain.toml) | 0 | ||||
| -rw-r--r-- | examples/09-native-type/output/rust/src/gen/point.rs (renamed from examples/08-native-type/output/rust/src/gen/point.rs) | 0 | ||||
| -rw-r--r-- | examples/09-native-type/output/rust/src/lib.rs (renamed from examples/08-native-type/output/rust/src/lib.rs) | 0 | ||||
| -rw-r--r-- | examples/09-native-type/output/rust/src/point.rs (renamed from examples/08-native-type/output/rust/src/point.rs) | 0 | ||||
| -rw-r--r-- | examples/09-native-type/src/point.hob (renamed from examples/08-native-type/src/point.hob) | 0 | ||||
| -rw-r--r-- | examples/10-native-type-custom-config/hobgoblin.json5 (renamed from examples/09-native-type-custom-config/hobgoblin.json5) | 0 | ||||
| -rw-r--r-- | examples/10-native-type-custom-config/output/java/.gitignore (renamed from examples/10-shared/output/java/.gitignore) | 0 | ||||
| l--------- | examples/10-native-type-custom-config/output/java/pom.xml (renamed from examples/10-shared/output/java/pom.xml) | 0 | ||||
| -rw-r--r-- | examples/10-native-type-custom-config/output/java/src/main/java/org/zwobble/example/Point.java (renamed from examples/09-native-type-custom-config/output/java/src/main/java/org/zwobble/example/Point.java) | 0 | ||||
| -rw-r--r-- | examples/10-native-type-custom-config/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java (renamed from examples/09-native-type-custom-config/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java) | 0 | ||||
| -rw-r--r-- | examples/10-native-type-custom-config/output/java/src/test/java/org/zwobble/example/PointTests.java (renamed from examples/09-native-type-custom-config/output/java/src/test/java/org/zwobble/example/PointTests.java) | 0 | ||||
| -rw-r--r-- | examples/10-native-type-custom-config/output/rust/.gitignore (renamed from examples/10-shared/output/rust/.gitignore) | 0 | ||||
| -rw-r--r-- | examples/10-native-type-custom-config/output/rust/Cargo.lock (renamed from examples/10-shared/output/rust/Cargo.lock) | 0 | ||||
| -rw-r--r-- | examples/10-native-type-custom-config/output/rust/Cargo.toml (renamed from examples/10-shared/output/rust/Cargo.toml) | 0 | ||||
| -rw-r--r-- | examples/10-native-type-custom-config/output/rust/rust-toolchain.toml (renamed from examples/10-shared/output/rust/rust-toolchain.toml) | 0 | ||||
| -rw-r--r-- | examples/10-native-type-custom-config/output/rust/src/main.rs (renamed from examples/09-native-type-custom-config/output/rust/src/main.rs) | 0 | ||||
| -rw-r--r-- | examples/10-native-type-custom-config/output/rust/src/point.rs (renamed from examples/09-native-type-custom-config/output/rust/src/point.rs) | 0 | ||||
| -rw-r--r-- | examples/10-native-type-custom-config/src/point.hob (renamed from examples/09-native-type-custom-config/src/point.hob) | 0 | ||||
| -rw-r--r-- | examples/11-shared/hobgoblin.json5 | 23 | ||||
| -rw-r--r-- | examples/11-shared/output/java/.gitignore (renamed from examples/11-custom-code/output/java/.gitignore) | 0 | ||||
| l--------- | examples/11-shared/output/java/pom.xml (renamed from examples/11-custom-code/output/java/pom.xml) | 0 | ||||
| -rw-r--r-- | examples/11-shared/output/java/src/test/java/org/zwobble/example/PointTests.java (renamed from examples/10-shared/output/java/src/test/java/org/zwobble/example/PointTests.java) | 0 | ||||
| -rw-r--r-- | examples/11-shared/output/rust/.gitignore (renamed from examples/11-custom-code/output/rust/.gitignore) | 0 | ||||
| -rw-r--r-- | examples/11-shared/output/rust/Cargo.lock (renamed from examples/11-custom-code/output/rust/Cargo.lock) | 0 | ||||
| -rw-r--r-- | examples/11-shared/output/rust/Cargo.toml (renamed from examples/11-custom-code/output/rust/Cargo.toml) | 0 | ||||
| -rw-r--r-- | examples/11-shared/output/rust/rust-toolchain.toml (renamed from examples/11-custom-code/output/rust/rust-toolchain.toml) | 0 | ||||
| -rw-r--r-- | examples/11-shared/output/rust/src/lib.rs (renamed from examples/10-shared/output/rust/src/lib.rs) | 0 | ||||
| -rw-r--r-- | examples/11-shared/output/rust/src/point.rs (renamed from examples/10-shared/output/rust/src/point.rs) | 0 | ||||
| -rw-r--r-- | examples/11-shared/src/point.hob (renamed from examples/10-shared/src/point.hob) | 0 | ||||
| -rw-r--r-- | examples/12-custom-code/hobgoblin.json5 (renamed from examples/11-custom-code/hobgoblin.json5) | 0 | ||||
| -rw-r--r-- | examples/12-custom-code/output/java/.gitignore (renamed from examples/12-imports/output/java/.gitignore) | 0 | ||||
| l--------- | examples/12-custom-code/output/java/pom.xml (renamed from examples/12-imports/output/java/pom.xml) | 0 | ||||
| -rw-r--r-- | examples/12-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java (renamed from examples/11-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java) | 0 | ||||
| -rw-r--r-- | examples/12-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java (renamed from examples/11-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java) | 0 | ||||
| -rw-r--r-- | examples/12-custom-code/output/rust/.gitignore (renamed from examples/12-imports/output/rust/.gitignore) | 0 | ||||
| -rw-r--r-- | examples/12-custom-code/output/rust/Cargo.lock (renamed from examples/12-imports/output/rust/Cargo.lock) | 0 | ||||
| -rw-r--r-- | examples/12-custom-code/output/rust/Cargo.toml (renamed from examples/12-imports/output/rust/Cargo.toml) | 0 | ||||
| -rw-r--r-- | examples/12-custom-code/output/rust/rust-toolchain.toml (renamed from examples/12-imports/output/rust/rust-toolchain.toml) | 0 | ||||
| -rw-r--r-- | examples/12-custom-code/output/rust/src/gen/shapes.rs (renamed from examples/11-custom-code/output/rust/src/gen/shapes.rs) | 0 | ||||
| -rw-r--r-- | examples/12-custom-code/output/rust/src/lib.rs (renamed from examples/11-custom-code/output/rust/src/lib.rs) | 0 | ||||
| -rw-r--r-- | examples/12-custom-code/output/rust/src/shapes.rs (renamed from examples/11-custom-code/output/rust/src/shapes.rs) | 0 | ||||
| -rw-r--r-- | examples/12-custom-code/src/shapes.hob (renamed from examples/11-custom-code/src/shapes.hob) | 0 | ||||
| -rw-r--r-- | examples/13-imports/hobgoblin.json5 (renamed from examples/12-imports/hobgoblin.json5) | 0 | ||||
| -rw-r--r-- | examples/13-imports/output/java/.gitignore | 2 | ||||
| l--------- | examples/13-imports/output/java/pom.xml (renamed from examples/13-transient-0/output/java/pom.xml) | 0 | ||||
| -rw-r--r-- | examples/13-imports/output/java/src/test/java/org/zwobble/example/LineTests.java (renamed from examples/12-imports/output/java/src/test/java/org/zwobble/example/LineTests.java) | 0 | ||||
| -rw-r--r-- | examples/13-imports/output/rust/.gitignore | 1 | ||||
| -rw-r--r-- | examples/13-imports/output/rust/Cargo.lock (renamed from examples/13-transient-0/output/rust/Cargo.lock) | 0 | ||||
| -rw-r--r-- | examples/13-imports/output/rust/Cargo.toml (renamed from examples/13-transient-0/output/rust/Cargo.toml) | 0 | ||||
| -rw-r--r-- | examples/13-imports/output/rust/rust-toolchain.toml (renamed from examples/13-transient-0/output/rust/rust-toolchain.toml) | 0 | ||||
| -rw-r--r-- | examples/13-imports/output/rust/src/lib.rs (renamed from examples/12-imports/output/rust/src/lib.rs) | 0 | ||||
| -rw-r--r-- | examples/13-imports/output/rust/src/line.rs (renamed from examples/12-imports/output/rust/src/line.rs) | 0 | ||||
| -rw-r--r-- | examples/13-imports/output/rust/src/point.rs (renamed from examples/12-imports/output/rust/src/point.rs) | 0 | ||||
| -rw-r--r-- | examples/13-imports/src/line.hob (renamed from examples/12-imports/src/line.hob) | 0 | ||||
| -rw-r--r-- | examples/13-imports/src/point.hob (renamed from examples/12-imports/src/point.hob) | 0 | ||||
| -rw-r--r-- | examples/14-transient-0/hobgoblin.json5 (renamed from examples/13-transient-0/hobgoblin.json5) | 0 | ||||
| -rw-r--r-- | examples/14-transient-0/output/java/.gitignore (renamed from examples/13-transient-0/output/java/.gitignore) | 0 | ||||
| l--------- | examples/14-transient-0/output/java/pom.xml | 1 | ||||
| -rw-r--r-- | examples/14-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java (renamed from examples/13-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java) | 0 | ||||
| -rw-r--r-- | examples/14-transient-0/output/rust/.gitignore (renamed from examples/13-transient-0/output/rust/.gitignore) | 0 | ||||
| -rw-r--r-- | examples/14-transient-0/output/rust/Cargo.lock | 7 | ||||
| -rw-r--r-- | examples/14-transient-0/output/rust/Cargo.toml | 6 | ||||
| -rw-r--r-- | examples/14-transient-0/output/rust/rust-toolchain.toml | 2 | ||||
| -rw-r--r-- | examples/14-transient-0/output/rust/src/data.rs (renamed from examples/13-transient-0/output/rust/src/data.rs) | 0 | ||||
| -rw-r--r-- | examples/14-transient-0/output/rust/src/gen/data.rs (renamed from examples/13-transient-0/output/rust/src/gen/data.rs) | 0 | ||||
| -rw-r--r-- | examples/14-transient-0/output/rust/src/gen/data/transient_0.rs (renamed from examples/13-transient-0/output/rust/src/gen/data/transient_0.rs) | 0 | ||||
| -rw-r--r-- | examples/14-transient-0/output/rust/src/gen/transient_0.rs (renamed from examples/13-transient-0/output/rust/src/gen/transient_0.rs) | 0 | ||||
| -rw-r--r-- | examples/14-transient-0/output/rust/src/lib.rs (renamed from examples/13-transient-0/output/rust/src/lib.rs) | 0 | ||||
| -rw-r--r-- | examples/14-transient-0/output/rust/src/transient_0.rs (renamed from examples/13-transient-0/output/rust/src/transient_0.rs) | 0 | ||||
| -rw-r--r-- | examples/14-transient-0/src/data.hob (renamed from examples/13-transient-0/src/data.hob) | 0 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/HobgoblinCompiler.java | 1 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/builtins/NativeTypes.java | 7 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGenerator.java | 5 | ||||
| -rw-r--r-- | src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java | 1 |
143 files changed, 111 insertions, 1 deletions
diff --git a/examples/10-shared/hobgoblin.json5 b/examples/04-box/hobgoblin.json5 index 19e0f93..19e0f93 100644 --- a/examples/10-shared/hobgoblin.json5 +++ b/examples/04-box/hobgoblin.json5 diff --git a/examples/04-inductive-data-types/output/java/.gitignore b/examples/04-box/output/java/.gitignore index ff511d4..ff511d4 100644 --- a/examples/04-inductive-data-types/output/java/.gitignore +++ b/examples/04-box/output/java/.gitignore diff --git a/examples/04-inductive-data-types/output/java/pom.xml b/examples/04-box/output/java/pom.xml index 445fa65..445fa65 120000 --- a/examples/04-inductive-data-types/output/java/pom.xml +++ b/examples/04-box/output/java/pom.xml diff --git a/examples/04-box/output/java/src/test/java/org/zwobble/example/PointTests.java b/examples/04-box/output/java/src/test/java/org/zwobble/example/PointTests.java new file mode 100644 index 0000000..16f3c62 --- /dev/null +++ b/examples/04-box/output/java/src/test/java/org/zwobble/example/PointTests.java @@ -0,0 +1,16 @@ +package org.zwobble.example; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.jupiter.api.Test; +import org.zwobble.example.types.point.Line; +import org.zwobble.example.types.point.Point; + +public class PointTests { + @Test + public void lineFields() { + var line = new Line( + new Point(10, 25), + new Point(42, 47) + ); + } +} diff --git a/examples/04-inductive-data-types/output/rust/.gitignore b/examples/04-box/output/rust/.gitignore index ea8c4bf..ea8c4bf 100644 --- a/examples/04-inductive-data-types/output/rust/.gitignore +++ b/examples/04-box/output/rust/.gitignore diff --git a/examples/04-inductive-data-types/output/rust/Cargo.lock b/examples/04-box/output/rust/Cargo.lock index 9dc6e3e..9dc6e3e 100644 --- a/examples/04-inductive-data-types/output/rust/Cargo.lock +++ b/examples/04-box/output/rust/Cargo.lock diff --git a/examples/04-inductive-data-types/output/rust/Cargo.toml b/examples/04-box/output/rust/Cargo.toml index 5d4c622..5d4c622 100644 --- a/examples/04-inductive-data-types/output/rust/Cargo.toml +++ b/examples/04-box/output/rust/Cargo.toml diff --git a/examples/04-inductive-data-types/output/rust/rust-toolchain.toml b/examples/04-box/output/rust/rust-toolchain.toml index 4fedb95..4fedb95 100644 --- a/examples/04-inductive-data-types/output/rust/rust-toolchain.toml +++ b/examples/04-box/output/rust/rust-toolchain.toml diff --git a/examples/04-box/output/rust/src/lib.rs b/examples/04-box/output/rust/src/lib.rs new file mode 100644 index 0000000..a324869 --- /dev/null +++ b/examples/04-box/output/rust/src/lib.rs @@ -0,0 +1,14 @@ +mod point; + +#[cfg(test)] +mod test { + use super::point::{Line, Point}; + + #[test] + fn line_fields() { + let line = Line { + start: Box::new(Point { x: 10, y: 25 }), + end: Box::new(Point { x: 42, y: 47 }), + }; + } +} diff --git a/examples/04-box/output/rust/src/point.rs b/examples/04-box/output/rust/src/point.rs new file mode 100644 index 0000000..9629fc1 --- /dev/null +++ b/examples/04-box/output/rust/src/point.rs @@ -0,0 +1,15 @@ +// Generated by hobgoblin. + +/// A straight line from one point to another. +#[derive(Clone, Debug, Hash, PartialEq)] +pub struct Line { + pub start: ::std::boxed::Box::<crate::point::Point>, + pub end: ::std::boxed::Box::<crate::point::Point>, +} + +/// A 2D point. +#[derive(Clone, Debug, Hash, PartialEq)] +pub struct Point { + pub x: ::core::primitive::i32, + pub y: ::core::primitive::i32, +} diff --git a/examples/04-box/src/point.hob b/examples/04-box/src/point.hob new file mode 100644 index 0000000..ba9fa89 --- /dev/null +++ b/examples/04-box/src/point.hob @@ -0,0 +1,11 @@ +/// A straight line from one point to another. +struct Line { + field start: Box[Point]; + field end: Box[Point]; +} + +/// A 2D point. +struct Point { + field x: Int32; + field y: Int32; +} diff --git a/examples/04-inductive-data-types/hobgoblin.json5 b/examples/05-inductive-data-types/hobgoblin.json5 index 12713d4..12713d4 100644 --- a/examples/04-inductive-data-types/hobgoblin.json5 +++ b/examples/05-inductive-data-types/hobgoblin.json5 diff --git a/examples/05-inductive-data-types-separate-namespaces/output/java/.gitignore b/examples/05-inductive-data-types/output/java/.gitignore index ff511d4..ff511d4 100644 --- a/examples/05-inductive-data-types-separate-namespaces/output/java/.gitignore +++ b/examples/05-inductive-data-types/output/java/.gitignore diff --git a/examples/05-inductive-data-types-separate-namespaces/output/java/pom.xml b/examples/05-inductive-data-types/output/java/pom.xml index 445fa65..445fa65 120000 --- a/examples/05-inductive-data-types-separate-namespaces/output/java/pom.xml +++ b/examples/05-inductive-data-types/output/java/pom.xml diff --git a/examples/04-inductive-data-types/output/java/src/main/java/org/zwobble/example/Arithmetic.java b/examples/05-inductive-data-types/output/java/src/main/java/org/zwobble/example/Arithmetic.java index 08cb75c..08cb75c 100644 --- a/examples/04-inductive-data-types/output/java/src/main/java/org/zwobble/example/Arithmetic.java +++ b/examples/05-inductive-data-types/output/java/src/main/java/org/zwobble/example/Arithmetic.java diff --git a/examples/04-inductive-data-types/output/java/src/test/java/org/zwobble/example/ArithmeticTests.java b/examples/05-inductive-data-types/output/java/src/test/java/org/zwobble/example/ArithmeticTests.java index cd4fdd0..cd4fdd0 100644 --- a/examples/04-inductive-data-types/output/java/src/test/java/org/zwobble/example/ArithmeticTests.java +++ b/examples/05-inductive-data-types/output/java/src/test/java/org/zwobble/example/ArithmeticTests.java diff --git a/examples/05-inductive-data-types-separate-namespaces/output/rust/.gitignore b/examples/05-inductive-data-types/output/rust/.gitignore index ea8c4bf..ea8c4bf 100644 --- a/examples/05-inductive-data-types-separate-namespaces/output/rust/.gitignore +++ b/examples/05-inductive-data-types/output/rust/.gitignore diff --git a/examples/05-inductive-data-types-separate-namespaces/output/rust/Cargo.lock b/examples/05-inductive-data-types/output/rust/Cargo.lock index 9dc6e3e..9dc6e3e 100644 --- a/examples/05-inductive-data-types-separate-namespaces/output/rust/Cargo.lock +++ b/examples/05-inductive-data-types/output/rust/Cargo.lock diff --git a/examples/05-inductive-data-types-separate-namespaces/output/rust/Cargo.toml b/examples/05-inductive-data-types/output/rust/Cargo.toml index 5d4c622..5d4c622 100644 --- a/examples/05-inductive-data-types-separate-namespaces/output/rust/Cargo.toml +++ b/examples/05-inductive-data-types/output/rust/Cargo.toml diff --git a/examples/05-inductive-data-types-separate-namespaces/output/rust/rust-toolchain.toml b/examples/05-inductive-data-types/output/rust/rust-toolchain.toml index 4fedb95..4fedb95 100644 --- a/examples/05-inductive-data-types-separate-namespaces/output/rust/rust-toolchain.toml +++ b/examples/05-inductive-data-types/output/rust/rust-toolchain.toml diff --git a/examples/04-inductive-data-types/output/rust/src/arithmetic.rs b/examples/05-inductive-data-types/output/rust/src/arithmetic.rs index 248d2c1..248d2c1 100644 --- a/examples/04-inductive-data-types/output/rust/src/arithmetic.rs +++ b/examples/05-inductive-data-types/output/rust/src/arithmetic.rs diff --git a/examples/04-inductive-data-types/output/rust/src/lib.rs b/examples/05-inductive-data-types/output/rust/src/lib.rs index 3265e69..3265e69 100644 --- a/examples/04-inductive-data-types/output/rust/src/lib.rs +++ b/examples/05-inductive-data-types/output/rust/src/lib.rs diff --git a/examples/04-inductive-data-types/src/arithmetic.hob b/examples/05-inductive-data-types/src/arithmetic.hob index b1ef6e5..b1ef6e5 100644 --- a/examples/04-inductive-data-types/src/arithmetic.hob +++ b/examples/05-inductive-data-types/src/arithmetic.hob diff --git a/examples/05-inductive-data-types-separate-namespaces/hobgoblin.json5 b/examples/06-inductive-data-types-separate-namespaces/hobgoblin.json5 index 12713d4..12713d4 100644 --- a/examples/05-inductive-data-types-separate-namespaces/hobgoblin.json5 +++ b/examples/06-inductive-data-types-separate-namespaces/hobgoblin.json5 diff --git a/examples/06-enum/output/java/.gitignore b/examples/06-inductive-data-types-separate-namespaces/output/java/.gitignore index ff511d4..ff511d4 100644 --- a/examples/06-enum/output/java/.gitignore +++ b/examples/06-inductive-data-types-separate-namespaces/output/java/.gitignore diff --git a/examples/06-enum/output/java/pom.xml b/examples/06-inductive-data-types-separate-namespaces/output/java/pom.xml index 445fa65..445fa65 120000 --- a/examples/06-enum/output/java/pom.xml +++ b/examples/06-inductive-data-types-separate-namespaces/output/java/pom.xml diff --git a/examples/05-inductive-data-types-separate-namespaces/output/java/src/test/java/org/zwobble/example/DataTests.java b/examples/06-inductive-data-types-separate-namespaces/output/java/src/test/java/org/zwobble/example/DataTests.java index f01bf0a..f01bf0a 100644 --- a/examples/05-inductive-data-types-separate-namespaces/output/java/src/test/java/org/zwobble/example/DataTests.java +++ b/examples/06-inductive-data-types-separate-namespaces/output/java/src/test/java/org/zwobble/example/DataTests.java diff --git a/examples/06-enum/output/rust/.gitignore b/examples/06-inductive-data-types-separate-namespaces/output/rust/.gitignore index ea8c4bf..ea8c4bf 100644 --- a/examples/06-enum/output/rust/.gitignore +++ b/examples/06-inductive-data-types-separate-namespaces/output/rust/.gitignore diff --git a/examples/06-enum/output/rust/Cargo.lock b/examples/06-inductive-data-types-separate-namespaces/output/rust/Cargo.lock index 9dc6e3e..9dc6e3e 100644 --- a/examples/06-enum/output/rust/Cargo.lock +++ b/examples/06-inductive-data-types-separate-namespaces/output/rust/Cargo.lock diff --git a/examples/06-enum/output/rust/Cargo.toml b/examples/06-inductive-data-types-separate-namespaces/output/rust/Cargo.toml index 5d4c622..5d4c622 100644 --- a/examples/06-enum/output/rust/Cargo.toml +++ b/examples/06-inductive-data-types-separate-namespaces/output/rust/Cargo.toml diff --git a/examples/06-enum/output/rust/rust-toolchain.toml b/examples/06-inductive-data-types-separate-namespaces/output/rust/rust-toolchain.toml index 4fedb95..4fedb95 100644 --- a/examples/06-enum/output/rust/rust-toolchain.toml +++ b/examples/06-inductive-data-types-separate-namespaces/output/rust/rust-toolchain.toml diff --git a/examples/05-inductive-data-types-separate-namespaces/output/rust/src/data/a.rs b/examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/a.rs index 1ec823f..1ec823f 100644 --- a/examples/05-inductive-data-types-separate-namespaces/output/rust/src/data/a.rs +++ b/examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/a.rs diff --git a/examples/05-inductive-data-types-separate-namespaces/output/rust/src/data/b.rs b/examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/b.rs index 38bf8fc..38bf8fc 100644 --- a/examples/05-inductive-data-types-separate-namespaces/output/rust/src/data/b.rs +++ b/examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/b.rs diff --git a/examples/05-inductive-data-types-separate-namespaces/output/rust/src/data/mod.rs b/examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/mod.rs index 677af14..677af14 100644 --- a/examples/05-inductive-data-types-separate-namespaces/output/rust/src/data/mod.rs +++ b/examples/06-inductive-data-types-separate-namespaces/output/rust/src/data/mod.rs diff --git a/examples/05-inductive-data-types-separate-namespaces/output/rust/src/lib.rs b/examples/06-inductive-data-types-separate-namespaces/output/rust/src/lib.rs index 01aaddf..01aaddf 100644 --- a/examples/05-inductive-data-types-separate-namespaces/output/rust/src/lib.rs +++ b/examples/06-inductive-data-types-separate-namespaces/output/rust/src/lib.rs diff --git a/examples/05-inductive-data-types-separate-namespaces/src/data/a.hob b/examples/06-inductive-data-types-separate-namespaces/src/data/a.hob index 47f1d3c..47f1d3c 100644 --- a/examples/05-inductive-data-types-separate-namespaces/src/data/a.hob +++ b/examples/06-inductive-data-types-separate-namespaces/src/data/a.hob diff --git a/examples/05-inductive-data-types-separate-namespaces/src/data/b.hob b/examples/06-inductive-data-types-separate-namespaces/src/data/b.hob index 4d538fc..4d538fc 100644 --- a/examples/05-inductive-data-types-separate-namespaces/src/data/b.hob +++ b/examples/06-inductive-data-types-separate-namespaces/src/data/b.hob diff --git a/examples/06-enum/hobgoblin.json5 b/examples/07-enum/hobgoblin.json5 index 12713d4..12713d4 100644 --- a/examples/06-enum/hobgoblin.json5 +++ b/examples/07-enum/hobgoblin.json5 diff --git a/examples/07-list/output/java/.gitignore b/examples/07-enum/output/java/.gitignore index ff511d4..ff511d4 100644 --- a/examples/07-list/output/java/.gitignore +++ b/examples/07-enum/output/java/.gitignore diff --git a/examples/07-list/output/java/pom.xml b/examples/07-enum/output/java/pom.xml index 445fa65..445fa65 120000 --- a/examples/07-list/output/java/pom.xml +++ b/examples/07-enum/output/java/pom.xml diff --git a/examples/06-enum/output/java/src/main/java/org/zwobble/example/Numbers.java b/examples/07-enum/output/java/src/main/java/org/zwobble/example/Numbers.java index fc17869..fc17869 100644 --- a/examples/06-enum/output/java/src/main/java/org/zwobble/example/Numbers.java +++ b/examples/07-enum/output/java/src/main/java/org/zwobble/example/Numbers.java diff --git a/examples/06-enum/output/java/src/test/java/org/zwobble/example/NumbersTests.java b/examples/07-enum/output/java/src/test/java/org/zwobble/example/NumbersTests.java index 141d5d1..141d5d1 100644 --- a/examples/06-enum/output/java/src/test/java/org/zwobble/example/NumbersTests.java +++ b/examples/07-enum/output/java/src/test/java/org/zwobble/example/NumbersTests.java diff --git a/examples/07-list/output/rust/.gitignore b/examples/07-enum/output/rust/.gitignore index ea8c4bf..ea8c4bf 100644 --- a/examples/07-list/output/rust/.gitignore +++ b/examples/07-enum/output/rust/.gitignore diff --git a/examples/07-list/output/rust/Cargo.lock b/examples/07-enum/output/rust/Cargo.lock index 9dc6e3e..9dc6e3e 100644 --- a/examples/07-list/output/rust/Cargo.lock +++ b/examples/07-enum/output/rust/Cargo.lock diff --git a/examples/07-list/output/rust/Cargo.toml b/examples/07-enum/output/rust/Cargo.toml index 5d4c622..5d4c622 100644 --- a/examples/07-list/output/rust/Cargo.toml +++ b/examples/07-enum/output/rust/Cargo.toml diff --git a/examples/07-list/output/rust/rust-toolchain.toml b/examples/07-enum/output/rust/rust-toolchain.toml index 4fedb95..4fedb95 100644 --- a/examples/07-list/output/rust/rust-toolchain.toml +++ b/examples/07-enum/output/rust/rust-toolchain.toml diff --git a/examples/06-enum/output/rust/src/lib.rs b/examples/07-enum/output/rust/src/lib.rs index ae0b67c..ae0b67c 100644 --- a/examples/06-enum/output/rust/src/lib.rs +++ b/examples/07-enum/output/rust/src/lib.rs diff --git a/examples/06-enum/output/rust/src/numbers.rs b/examples/07-enum/output/rust/src/numbers.rs index 29483ba..29483ba 100644 --- a/examples/06-enum/output/rust/src/numbers.rs +++ b/examples/07-enum/output/rust/src/numbers.rs diff --git a/examples/06-enum/src/numbers.hob b/examples/07-enum/src/numbers.hob index 125082d..125082d 100644 --- a/examples/06-enum/src/numbers.hob +++ b/examples/07-enum/src/numbers.hob diff --git a/examples/07-list/hobgoblin.json5 b/examples/08-list/hobgoblin.json5 index 12713d4..12713d4 100644 --- a/examples/07-list/hobgoblin.json5 +++ b/examples/08-list/hobgoblin.json5 diff --git a/examples/08-native-type/output/java/.gitignore b/examples/08-list/output/java/.gitignore index ff511d4..ff511d4 100644 --- a/examples/08-native-type/output/java/.gitignore +++ b/examples/08-list/output/java/.gitignore diff --git a/examples/08-native-type/output/java/pom.xml b/examples/08-list/output/java/pom.xml index 445fa65..445fa65 120000 --- a/examples/08-native-type/output/java/pom.xml +++ b/examples/08-list/output/java/pom.xml diff --git a/examples/07-list/output/java/src/test/java/org/zwobble/example/PointTests.java b/examples/08-list/output/java/src/test/java/org/zwobble/example/PointTests.java index e1528b5..e1528b5 100644 --- a/examples/07-list/output/java/src/test/java/org/zwobble/example/PointTests.java +++ b/examples/08-list/output/java/src/test/java/org/zwobble/example/PointTests.java diff --git a/examples/08-native-type/output/rust/.gitignore b/examples/08-list/output/rust/.gitignore index ea8c4bf..ea8c4bf 100644 --- a/examples/08-native-type/output/rust/.gitignore +++ b/examples/08-list/output/rust/.gitignore diff --git a/examples/08-native-type/output/rust/Cargo.lock b/examples/08-list/output/rust/Cargo.lock index 9dc6e3e..9dc6e3e 100644 --- a/examples/08-native-type/output/rust/Cargo.lock +++ b/examples/08-list/output/rust/Cargo.lock diff --git a/examples/08-native-type/output/rust/Cargo.toml b/examples/08-list/output/rust/Cargo.toml index 5d4c622..5d4c622 100644 --- a/examples/08-native-type/output/rust/Cargo.toml +++ b/examples/08-list/output/rust/Cargo.toml diff --git a/examples/08-native-type/output/rust/rust-toolchain.toml b/examples/08-list/output/rust/rust-toolchain.toml index 4fedb95..4fedb95 100644 --- a/examples/08-native-type/output/rust/rust-toolchain.toml +++ b/examples/08-list/output/rust/rust-toolchain.toml diff --git a/examples/07-list/output/rust/src/lib.rs b/examples/08-list/output/rust/src/lib.rs index 907ab8b..907ab8b 100644 --- a/examples/07-list/output/rust/src/lib.rs +++ b/examples/08-list/output/rust/src/lib.rs diff --git a/examples/07-list/output/rust/src/point.rs b/examples/08-list/output/rust/src/point.rs index ebadf95..ebadf95 100644 --- a/examples/07-list/output/rust/src/point.rs +++ b/examples/08-list/output/rust/src/point.rs diff --git a/examples/07-list/src/point.hob b/examples/08-list/src/point.hob index 8dd438c..8dd438c 100644 --- a/examples/07-list/src/point.hob +++ b/examples/08-list/src/point.hob diff --git a/examples/08-native-type/hobgoblin.json5 b/examples/09-native-type/hobgoblin.json5 index a0f60c3..a0f60c3 100644 --- a/examples/08-native-type/hobgoblin.json5 +++ b/examples/09-native-type/hobgoblin.json5 diff --git a/examples/09-native-type-custom-config/output/java/.gitignore b/examples/09-native-type/output/java/.gitignore index ff511d4..ff511d4 100644 --- a/examples/09-native-type-custom-config/output/java/.gitignore +++ b/examples/09-native-type/output/java/.gitignore diff --git a/examples/09-native-type-custom-config/output/java/pom.xml b/examples/09-native-type/output/java/pom.xml index 445fa65..445fa65 120000 --- a/examples/09-native-type-custom-config/output/java/pom.xml +++ b/examples/09-native-type/output/java/pom.xml diff --git a/examples/08-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java b/examples/09-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java index bdb5427..bdb5427 100644 --- a/examples/08-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java +++ b/examples/09-native-type/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java diff --git a/examples/08-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java b/examples/09-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java index cd26290..cd26290 100644 --- a/examples/08-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java +++ b/examples/09-native-type/output/java/src/main/java/org/zwobble/example/types/point/Point.java diff --git a/examples/08-native-type/output/java/src/test/java/org/zwobble/example/PointTests.java b/examples/09-native-type/output/java/src/test/java/org/zwobble/example/PointTests.java index 8482673..8482673 100644 --- a/examples/08-native-type/output/java/src/test/java/org/zwobble/example/PointTests.java +++ b/examples/09-native-type/output/java/src/test/java/org/zwobble/example/PointTests.java diff --git a/examples/09-native-type-custom-config/output/rust/.gitignore b/examples/09-native-type/output/rust/.gitignore index ea8c4bf..ea8c4bf 100644 --- a/examples/09-native-type-custom-config/output/rust/.gitignore +++ b/examples/09-native-type/output/rust/.gitignore diff --git a/examples/09-native-type-custom-config/output/rust/Cargo.lock b/examples/09-native-type/output/rust/Cargo.lock index 9dc6e3e..9dc6e3e 100644 --- a/examples/09-native-type-custom-config/output/rust/Cargo.lock +++ b/examples/09-native-type/output/rust/Cargo.lock diff --git a/examples/09-native-type-custom-config/output/rust/Cargo.toml b/examples/09-native-type/output/rust/Cargo.toml index 5d4c622..5d4c622 100644 --- a/examples/09-native-type-custom-config/output/rust/Cargo.toml +++ b/examples/09-native-type/output/rust/Cargo.toml diff --git a/examples/09-native-type-custom-config/output/rust/rust-toolchain.toml b/examples/09-native-type/output/rust/rust-toolchain.toml index 4fedb95..4fedb95 100644 --- a/examples/09-native-type-custom-config/output/rust/rust-toolchain.toml +++ b/examples/09-native-type/output/rust/rust-toolchain.toml diff --git a/examples/08-native-type/output/rust/src/gen/point.rs b/examples/09-native-type/output/rust/src/gen/point.rs index 8561605..8561605 100644 --- a/examples/08-native-type/output/rust/src/gen/point.rs +++ b/examples/09-native-type/output/rust/src/gen/point.rs diff --git a/examples/08-native-type/output/rust/src/lib.rs b/examples/09-native-type/output/rust/src/lib.rs index 1179cff..1179cff 100644 --- a/examples/08-native-type/output/rust/src/lib.rs +++ b/examples/09-native-type/output/rust/src/lib.rs diff --git a/examples/08-native-type/output/rust/src/point.rs b/examples/09-native-type/output/rust/src/point.rs index 3c763e2..3c763e2 100644 --- a/examples/08-native-type/output/rust/src/point.rs +++ b/examples/09-native-type/output/rust/src/point.rs diff --git a/examples/08-native-type/src/point.hob b/examples/09-native-type/src/point.hob index 7178dcb..7178dcb 100644 --- a/examples/08-native-type/src/point.hob +++ b/examples/09-native-type/src/point.hob diff --git a/examples/09-native-type-custom-config/hobgoblin.json5 b/examples/10-native-type-custom-config/hobgoblin.json5 index f925903..f925903 100644 --- a/examples/09-native-type-custom-config/hobgoblin.json5 +++ b/examples/10-native-type-custom-config/hobgoblin.json5 diff --git a/examples/10-shared/output/java/.gitignore b/examples/10-native-type-custom-config/output/java/.gitignore index ff511d4..ff511d4 100644 --- a/examples/10-shared/output/java/.gitignore +++ b/examples/10-native-type-custom-config/output/java/.gitignore diff --git a/examples/10-shared/output/java/pom.xml b/examples/10-native-type-custom-config/output/java/pom.xml index 445fa65..445fa65 120000 --- a/examples/10-shared/output/java/pom.xml +++ b/examples/10-native-type-custom-config/output/java/pom.xml diff --git a/examples/09-native-type-custom-config/output/java/src/main/java/org/zwobble/example/Point.java b/examples/10-native-type-custom-config/output/java/src/main/java/org/zwobble/example/Point.java index 8862a62..8862a62 100644 --- a/examples/09-native-type-custom-config/output/java/src/main/java/org/zwobble/example/Point.java +++ b/examples/10-native-type-custom-config/output/java/src/main/java/org/zwobble/example/Point.java diff --git a/examples/09-native-type-custom-config/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java b/examples/10-native-type-custom-config/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java index 74ac856..74ac856 100644 --- a/examples/09-native-type-custom-config/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java +++ b/examples/10-native-type-custom-config/output/java/src/main/java/org/zwobble/example/types/point/HobgoblinNativePoint.java diff --git a/examples/09-native-type-custom-config/output/java/src/test/java/org/zwobble/example/PointTests.java b/examples/10-native-type-custom-config/output/java/src/test/java/org/zwobble/example/PointTests.java index ea635ca..ea635ca 100644 --- a/examples/09-native-type-custom-config/output/java/src/test/java/org/zwobble/example/PointTests.java +++ b/examples/10-native-type-custom-config/output/java/src/test/java/org/zwobble/example/PointTests.java diff --git a/examples/10-shared/output/rust/.gitignore b/examples/10-native-type-custom-config/output/rust/.gitignore index ea8c4bf..ea8c4bf 100644 --- a/examples/10-shared/output/rust/.gitignore +++ b/examples/10-native-type-custom-config/output/rust/.gitignore diff --git a/examples/10-shared/output/rust/Cargo.lock b/examples/10-native-type-custom-config/output/rust/Cargo.lock index 9dc6e3e..9dc6e3e 100644 --- a/examples/10-shared/output/rust/Cargo.lock +++ b/examples/10-native-type-custom-config/output/rust/Cargo.lock diff --git a/examples/10-shared/output/rust/Cargo.toml b/examples/10-native-type-custom-config/output/rust/Cargo.toml index 5d4c622..5d4c622 100644 --- a/examples/10-shared/output/rust/Cargo.toml +++ b/examples/10-native-type-custom-config/output/rust/Cargo.toml diff --git a/examples/10-shared/output/rust/rust-toolchain.toml b/examples/10-native-type-custom-config/output/rust/rust-toolchain.toml index 4fedb95..4fedb95 100644 --- a/examples/10-shared/output/rust/rust-toolchain.toml +++ b/examples/10-native-type-custom-config/output/rust/rust-toolchain.toml diff --git a/examples/09-native-type-custom-config/output/rust/src/main.rs b/examples/10-native-type-custom-config/output/rust/src/main.rs index fa127e8..fa127e8 100644 --- a/examples/09-native-type-custom-config/output/rust/src/main.rs +++ b/examples/10-native-type-custom-config/output/rust/src/main.rs diff --git a/examples/09-native-type-custom-config/output/rust/src/point.rs b/examples/10-native-type-custom-config/output/rust/src/point.rs index f25a76f..f25a76f 100644 --- a/examples/09-native-type-custom-config/output/rust/src/point.rs +++ b/examples/10-native-type-custom-config/output/rust/src/point.rs diff --git a/examples/09-native-type-custom-config/src/point.hob b/examples/10-native-type-custom-config/src/point.hob index 7178dcb..7178dcb 100644 --- a/examples/09-native-type-custom-config/src/point.hob +++ b/examples/10-native-type-custom-config/src/point.hob diff --git a/examples/11-shared/hobgoblin.json5 b/examples/11-shared/hobgoblin.json5 new file mode 100644 index 0000000..19e0f93 --- /dev/null +++ b/examples/11-shared/hobgoblin.json5 @@ -0,0 +1,23 @@ +{ + outputs: { + langs: { + java: { + packageName: "org.zwobble.example.types", + }, + }, + generators: [ + { + generator: "java-types", + path: "output/java/src/gen/java", + }, + { + generator: "java-precisely-matchers", + path: "output/java/src/gen/java", + }, + { + generator: "rust-types", + path: "output/rust/src", + }, + ], + } +} diff --git a/examples/11-custom-code/output/java/.gitignore b/examples/11-shared/output/java/.gitignore index ff511d4..ff511d4 100644 --- a/examples/11-custom-code/output/java/.gitignore +++ b/examples/11-shared/output/java/.gitignore diff --git a/examples/11-custom-code/output/java/pom.xml b/examples/11-shared/output/java/pom.xml index 445fa65..445fa65 120000 --- a/examples/11-custom-code/output/java/pom.xml +++ b/examples/11-shared/output/java/pom.xml diff --git a/examples/10-shared/output/java/src/test/java/org/zwobble/example/PointTests.java b/examples/11-shared/output/java/src/test/java/org/zwobble/example/PointTests.java index b4c140d..b4c140d 100644 --- a/examples/10-shared/output/java/src/test/java/org/zwobble/example/PointTests.java +++ b/examples/11-shared/output/java/src/test/java/org/zwobble/example/PointTests.java diff --git a/examples/11-custom-code/output/rust/.gitignore b/examples/11-shared/output/rust/.gitignore index ea8c4bf..ea8c4bf 100644 --- a/examples/11-custom-code/output/rust/.gitignore +++ b/examples/11-shared/output/rust/.gitignore diff --git a/examples/11-custom-code/output/rust/Cargo.lock b/examples/11-shared/output/rust/Cargo.lock index 9dc6e3e..9dc6e3e 100644 --- a/examples/11-custom-code/output/rust/Cargo.lock +++ b/examples/11-shared/output/rust/Cargo.lock diff --git a/examples/11-custom-code/output/rust/Cargo.toml b/examples/11-shared/output/rust/Cargo.toml index 5d4c622..5d4c622 100644 --- a/examples/11-custom-code/output/rust/Cargo.toml +++ b/examples/11-shared/output/rust/Cargo.toml diff --git a/examples/11-custom-code/output/rust/rust-toolchain.toml b/examples/11-shared/output/rust/rust-toolchain.toml index 4fedb95..4fedb95 100644 --- a/examples/11-custom-code/output/rust/rust-toolchain.toml +++ b/examples/11-shared/output/rust/rust-toolchain.toml diff --git a/examples/10-shared/output/rust/src/lib.rs b/examples/11-shared/output/rust/src/lib.rs index af2c87f..af2c87f 100644 --- a/examples/10-shared/output/rust/src/lib.rs +++ b/examples/11-shared/output/rust/src/lib.rs diff --git a/examples/10-shared/output/rust/src/point.rs b/examples/11-shared/output/rust/src/point.rs index 7bc470a..7bc470a 100644 --- a/examples/10-shared/output/rust/src/point.rs +++ b/examples/11-shared/output/rust/src/point.rs diff --git a/examples/10-shared/src/point.hob b/examples/11-shared/src/point.hob index 7b9a8e6..7b9a8e6 100644 --- a/examples/10-shared/src/point.hob +++ b/examples/11-shared/src/point.hob diff --git a/examples/11-custom-code/hobgoblin.json5 b/examples/12-custom-code/hobgoblin.json5 index 1d08a40..1d08a40 100644 --- a/examples/11-custom-code/hobgoblin.json5 +++ b/examples/12-custom-code/hobgoblin.json5 diff --git a/examples/12-imports/output/java/.gitignore b/examples/12-custom-code/output/java/.gitignore index ff511d4..ff511d4 100644 --- a/examples/12-imports/output/java/.gitignore +++ b/examples/12-custom-code/output/java/.gitignore diff --git a/examples/12-imports/output/java/pom.xml b/examples/12-custom-code/output/java/pom.xml index 445fa65..445fa65 120000 --- a/examples/12-imports/output/java/pom.xml +++ b/examples/12-custom-code/output/java/pom.xml diff --git a/examples/11-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java b/examples/12-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java index 69a1ab1..69a1ab1 100644 --- a/examples/11-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java +++ b/examples/12-custom-code/output/java/src/main/java/org/zwobble/example/types/shapes/Square.java diff --git a/examples/11-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java b/examples/12-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java index fba8e6c..fba8e6c 100644 --- a/examples/11-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java +++ b/examples/12-custom-code/output/java/src/test/java/org/zwobble/example/ShapesTests.java diff --git a/examples/12-imports/output/rust/.gitignore b/examples/12-custom-code/output/rust/.gitignore index ea8c4bf..ea8c4bf 100644 --- a/examples/12-imports/output/rust/.gitignore +++ b/examples/12-custom-code/output/rust/.gitignore diff --git a/examples/12-imports/output/rust/Cargo.lock b/examples/12-custom-code/output/rust/Cargo.lock index 9dc6e3e..9dc6e3e 100644 --- a/examples/12-imports/output/rust/Cargo.lock +++ b/examples/12-custom-code/output/rust/Cargo.lock diff --git a/examples/12-imports/output/rust/Cargo.toml b/examples/12-custom-code/output/rust/Cargo.toml index 5d4c622..5d4c622 100644 --- a/examples/12-imports/output/rust/Cargo.toml +++ b/examples/12-custom-code/output/rust/Cargo.toml diff --git a/examples/12-imports/output/rust/rust-toolchain.toml b/examples/12-custom-code/output/rust/rust-toolchain.toml index 4fedb95..4fedb95 100644 --- a/examples/12-imports/output/rust/rust-toolchain.toml +++ b/examples/12-custom-code/output/rust/rust-toolchain.toml diff --git a/examples/11-custom-code/output/rust/src/gen/shapes.rs b/examples/12-custom-code/output/rust/src/gen/shapes.rs index d1582ad..d1582ad 100644 --- a/examples/11-custom-code/output/rust/src/gen/shapes.rs +++ b/examples/12-custom-code/output/rust/src/gen/shapes.rs diff --git a/examples/11-custom-code/output/rust/src/lib.rs b/examples/12-custom-code/output/rust/src/lib.rs index 1825d72..1825d72 100644 --- a/examples/11-custom-code/output/rust/src/lib.rs +++ b/examples/12-custom-code/output/rust/src/lib.rs diff --git a/examples/11-custom-code/output/rust/src/shapes.rs b/examples/12-custom-code/output/rust/src/shapes.rs index f806bbb..f806bbb 100644 --- a/examples/11-custom-code/output/rust/src/shapes.rs +++ b/examples/12-custom-code/output/rust/src/shapes.rs diff --git a/examples/11-custom-code/src/shapes.hob b/examples/12-custom-code/src/shapes.hob index 5dfe833..5dfe833 100644 --- a/examples/11-custom-code/src/shapes.hob +++ b/examples/12-custom-code/src/shapes.hob diff --git a/examples/12-imports/hobgoblin.json5 b/examples/13-imports/hobgoblin.json5 index 12713d4..12713d4 100644 --- a/examples/12-imports/hobgoblin.json5 +++ b/examples/13-imports/hobgoblin.json5 diff --git a/examples/13-imports/output/java/.gitignore b/examples/13-imports/output/java/.gitignore new file mode 100644 index 0000000..ff511d4 --- /dev/null +++ b/examples/13-imports/output/java/.gitignore @@ -0,0 +1,2 @@ +/src/gen/ +/target/ diff --git a/examples/13-transient-0/output/java/pom.xml b/examples/13-imports/output/java/pom.xml index 445fa65..445fa65 120000 --- a/examples/13-transient-0/output/java/pom.xml +++ b/examples/13-imports/output/java/pom.xml diff --git a/examples/12-imports/output/java/src/test/java/org/zwobble/example/LineTests.java b/examples/13-imports/output/java/src/test/java/org/zwobble/example/LineTests.java index c376b19..c376b19 100644 --- a/examples/12-imports/output/java/src/test/java/org/zwobble/example/LineTests.java +++ b/examples/13-imports/output/java/src/test/java/org/zwobble/example/LineTests.java diff --git a/examples/13-imports/output/rust/.gitignore b/examples/13-imports/output/rust/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/examples/13-imports/output/rust/.gitignore @@ -0,0 +1 @@ +/target diff --git a/examples/13-transient-0/output/rust/Cargo.lock b/examples/13-imports/output/rust/Cargo.lock index 9dc6e3e..9dc6e3e 100644 --- a/examples/13-transient-0/output/rust/Cargo.lock +++ b/examples/13-imports/output/rust/Cargo.lock diff --git a/examples/13-transient-0/output/rust/Cargo.toml b/examples/13-imports/output/rust/Cargo.toml index 5d4c622..5d4c622 100644 --- a/examples/13-transient-0/output/rust/Cargo.toml +++ b/examples/13-imports/output/rust/Cargo.toml diff --git a/examples/13-transient-0/output/rust/rust-toolchain.toml b/examples/13-imports/output/rust/rust-toolchain.toml index 4fedb95..4fedb95 100644 --- a/examples/13-transient-0/output/rust/rust-toolchain.toml +++ b/examples/13-imports/output/rust/rust-toolchain.toml diff --git a/examples/12-imports/output/rust/src/lib.rs b/examples/13-imports/output/rust/src/lib.rs index ffbcbf4..ffbcbf4 100644 --- a/examples/12-imports/output/rust/src/lib.rs +++ b/examples/13-imports/output/rust/src/lib.rs diff --git a/examples/12-imports/output/rust/src/line.rs b/examples/13-imports/output/rust/src/line.rs index 8561605..8561605 100644 --- a/examples/12-imports/output/rust/src/line.rs +++ b/examples/13-imports/output/rust/src/line.rs diff --git a/examples/12-imports/output/rust/src/point.rs b/examples/13-imports/output/rust/src/point.rs index 6d9b010..6d9b010 100644 --- a/examples/12-imports/output/rust/src/point.rs +++ b/examples/13-imports/output/rust/src/point.rs diff --git a/examples/12-imports/src/line.hob b/examples/13-imports/src/line.hob index 562d77f..562d77f 100644 --- a/examples/12-imports/src/line.hob +++ b/examples/13-imports/src/line.hob diff --git a/examples/12-imports/src/point.hob b/examples/13-imports/src/point.hob index 87f9953..87f9953 100644 --- a/examples/12-imports/src/point.hob +++ b/examples/13-imports/src/point.hob diff --git a/examples/13-transient-0/hobgoblin.json5 b/examples/14-transient-0/hobgoblin.json5 index 2160c60..2160c60 100644 --- a/examples/13-transient-0/hobgoblin.json5 +++ b/examples/14-transient-0/hobgoblin.json5 diff --git a/examples/13-transient-0/output/java/.gitignore b/examples/14-transient-0/output/java/.gitignore index 2fcf0b8..2fcf0b8 100644 --- a/examples/13-transient-0/output/java/.gitignore +++ b/examples/14-transient-0/output/java/.gitignore diff --git a/examples/14-transient-0/output/java/pom.xml b/examples/14-transient-0/output/java/pom.xml new file mode 120000 index 0000000..445fa65 --- /dev/null +++ b/examples/14-transient-0/output/java/pom.xml @@ -0,0 +1 @@ +../../../templates/java-junit/pom.xml
\ No newline at end of file diff --git a/examples/13-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java b/examples/14-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java index 8161920..8161920 100644 --- a/examples/13-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java +++ b/examples/14-transient-0/output/java/src/test/java/org/zwobble/example/Transient0Tests.java diff --git a/examples/13-transient-0/output/rust/.gitignore b/examples/14-transient-0/output/rust/.gitignore index fc03479..fc03479 100644 --- a/examples/13-transient-0/output/rust/.gitignore +++ b/examples/14-transient-0/output/rust/.gitignore diff --git a/examples/14-transient-0/output/rust/Cargo.lock b/examples/14-transient-0/output/rust/Cargo.lock new file mode 100644 index 0000000..9dc6e3e --- /dev/null +++ b/examples/14-transient-0/output/rust/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "example" +version = "0.1.0" diff --git a/examples/14-transient-0/output/rust/Cargo.toml b/examples/14-transient-0/output/rust/Cargo.toml new file mode 100644 index 0000000..5d4c622 --- /dev/null +++ b/examples/14-transient-0/output/rust/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "example" +version = "0.1.0" +edition = "2024" + +[dependencies] diff --git a/examples/14-transient-0/output/rust/rust-toolchain.toml b/examples/14-transient-0/output/rust/rust-toolchain.toml new file mode 100644 index 0000000..4fedb95 --- /dev/null +++ b/examples/14-transient-0/output/rust/rust-toolchain.toml @@ -0,0 +1,2 @@ +[toolchain] +channel = "1.96" diff --git a/examples/13-transient-0/output/rust/src/data.rs b/examples/14-transient-0/output/rust/src/data.rs index 7a0c4fa..7a0c4fa 100644 --- a/examples/13-transient-0/output/rust/src/data.rs +++ b/examples/14-transient-0/output/rust/src/data.rs diff --git a/examples/13-transient-0/output/rust/src/gen/data.rs b/examples/14-transient-0/output/rust/src/gen/data.rs index 77bcbe8..77bcbe8 100644 --- a/examples/13-transient-0/output/rust/src/gen/data.rs +++ b/examples/14-transient-0/output/rust/src/gen/data.rs diff --git a/examples/13-transient-0/output/rust/src/gen/data/transient_0.rs b/examples/14-transient-0/output/rust/src/gen/data/transient_0.rs index f2bf149..f2bf149 100644 --- a/examples/13-transient-0/output/rust/src/gen/data/transient_0.rs +++ b/examples/14-transient-0/output/rust/src/gen/data/transient_0.rs diff --git a/examples/13-transient-0/output/rust/src/gen/transient_0.rs b/examples/14-transient-0/output/rust/src/gen/transient_0.rs index 6505408..6505408 100644 --- a/examples/13-transient-0/output/rust/src/gen/transient_0.rs +++ b/examples/14-transient-0/output/rust/src/gen/transient_0.rs diff --git a/examples/13-transient-0/output/rust/src/lib.rs b/examples/14-transient-0/output/rust/src/lib.rs index df50cae..df50cae 100644 --- a/examples/13-transient-0/output/rust/src/lib.rs +++ b/examples/14-transient-0/output/rust/src/lib.rs diff --git a/examples/13-transient-0/output/rust/src/transient_0.rs b/examples/14-transient-0/output/rust/src/transient_0.rs index 8b2b800..8b2b800 100644 --- a/examples/13-transient-0/output/rust/src/transient_0.rs +++ b/examples/14-transient-0/output/rust/src/transient_0.rs diff --git a/examples/13-transient-0/src/data.hob b/examples/14-transient-0/src/data.hob index 0744b79..0744b79 100644 --- a/examples/13-transient-0/src/data.hob +++ b/examples/14-transient-0/src/data.hob diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/HobgoblinCompiler.java b/src/main/java/org/zwobble/hobgoblin/compiler/HobgoblinCompiler.java index 6f4c65d..eb78e2a 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/HobgoblinCompiler.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/HobgoblinCompiler.java @@ -48,6 +48,7 @@ public class HobgoblinCompiler { typeCheckerContext.addNativeType(NativeTypes.INT_32); typeCheckerContext.addNativeType(NativeTypes.INT_64); typeCheckerContext.addNativeType(NativeTypes.STRING); + typeCheckerContext.addNativeTypeConstructor(NativeTypes.BOX); typeCheckerContext.addNativeTypeConstructor(NativeTypes.LIST); typeCheckerContext.addNativeTypeConstructor(NativeTypes.OPTION); typeCheckerContext.addNativeTypeConstructor(NativeTypes.SHARED); diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/builtins/NativeTypes.java b/src/main/java/org/zwobble/hobgoblin/compiler/builtins/NativeTypes.java index 58c8143..7f8cf0f 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/builtins/NativeTypes.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/builtins/NativeTypes.java @@ -13,6 +13,13 @@ public class NativeTypes { public static SimpleNativeType INT_64 = SimpleNativeType.builtin("Int64"); public static SimpleNativeType STRING = SimpleNativeType.builtin("String"); + public static final SimpleNativeType BOX_INNER = SimpleNativeType.builtin("Box"); + + public static TypeConstructor<SimpleNativeType> BOX = new TypeConstructor<>( + List.of(new TypeParam("T")), + BOX_INNER + ); + public static final SimpleNativeType LIST_INNER = SimpleNativeType.builtin("List"); public static TypeConstructor<SimpleNativeType> LIST = new TypeConstructor<>( diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGenerator.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGenerator.java index 35bb931..eab31b4 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGenerator.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/java/JavaGenerator.java @@ -210,7 +210,10 @@ public class JavaGenerator { return type; } - if (!constructedNativeType.constructor().equals(NativeTypes.SHARED)) { + if ( + !constructedNativeType.constructor().equals(NativeTypes.SHARED) && + !constructedNativeType.constructor().equals(NativeTypes.BOX) + ) { return type; } diff --git a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java index 13721d4..3f5e4d5 100644 --- a/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java +++ b/src/main/java/org/zwobble/hobgoblin/compiler/output/generators/rust/RustGeneratorConfig.java @@ -57,6 +57,7 @@ public record RustGeneratorConfig( Map.entry(NativeTypes.INT_32, new RustNativeTypeConfig(RustTypes.I32)), Map.entry(NativeTypes.INT_64, new RustNativeTypeConfig(RustTypes.I64)), Map.entry(NativeTypes.STRING, new RustNativeTypeConfig(RustTypes.STRING)), + Map.entry(NativeTypes.BOX_INNER, new RustNativeTypeConfig(RustTypes.BOX)), Map.entry(NativeTypes.LIST_INNER, new RustNativeTypeConfig(RustPath.global("std", "vec", "Vec"))), Map.entry(NativeTypes.OPTION_INNER, new RustNativeTypeConfig(RustPath.global("std", "option", "Option"))), Map.entry(NativeTypes.SHARED_INNER, new RustNativeTypeConfig(RustPath.global("std", "sync", "Arc"))) |
