From 284be00c81407735cc8ddec1f1353b867b2deffd Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sun, 19 Jan 2025 16:33:32 +0200 Subject: improve export model --- tests/exports/defines.ek | 10 ++++++++++ tests/exports/exports.ek | 10 ++++++++++ tests/exports/reexports.ek | 11 +++++++++++ tests/exports/source.mk | 1 + 4 files changed, 32 insertions(+) create mode 100644 tests/exports/defines.ek create mode 100644 tests/exports/exports.ek create mode 100644 tests/exports/reexports.ek create mode 100644 tests/exports/source.mk (limited to 'tests') diff --git a/tests/exports/defines.ek b/tests/exports/defines.ek new file mode 100644 index 0000000..d816af7 --- /dev/null +++ b/tests/exports/defines.ek @@ -0,0 +1,10 @@ +pub typedef i27 {} /* struct def */ +pub typedef int i27; /* alias def */ +pub define reexported_trait {} /* trait def */ +pub define reexported_macro() {} /* macro def */ +pub reexported_func(i27 v) {} /* func def */ +pub enum reexported_enum : int { + SOME_ENUM = 10 +} +// pub int reexported_var = 10; +// global vars not currently supported due to missing constexpr checking I guess diff --git a/tests/exports/exports.ek b/tests/exports/exports.ek new file mode 100644 index 0000000..4487009 --- /dev/null +++ b/tests/exports/exports.ek @@ -0,0 +1,10 @@ +import "reexports.ek" + +main() +{ + reexported_func(20); + + mut p = exported_struct![i27]{}; + + reexported_macro!(p); +} diff --git a/tests/exports/reexports.ek b/tests/exports/reexports.ek new file mode 100644 index 0000000..a9b3167 --- /dev/null +++ b/tests/exports/reexports.ek @@ -0,0 +1,11 @@ +pub import "defines.ek" + +pub typedef exported_struct[reexported_trait T] {} + +priv_func() { + reexported_func(10); + + mut p = exported_struct![i27] {}; + + reexported_macro!(p); +} diff --git a/tests/exports/source.mk b/tests/exports/source.mk new file mode 100644 index 0000000..92a377e --- /dev/null +++ b/tests/exports/source.mk @@ -0,0 +1 @@ +SIMPLE += exports -- cgit v1.3