summaryrefslogtreecommitdiff
path: root/src/test/smp
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-08-10 11:11:18 -0700
committerCliff Click <cliffc@acm.org>2026-11-12 13:48:30 -0800
commit74dba15abb33dd9deb899c434d5b3b189dd5fb8b (patch)
tree80ccea2024d576a4fb14dd533a222956296fe473 /src/test/smp
parent7a02c1425336a8bd4494a9a39ca2d2fdb98fd73f (diff)
downloadSimple-74dba15abb33dd9deb899c434d5b3b189dd5fb8b.tar.gz
Simple-74dba15abb33dd9deb899c434d5b3b189dd5fb8b.zip
Chapter 28a: Modules and Lazy Class Initialization
Co-authored-by: Hsiang-Ying Fu <66062782+fuhsnn@users.noreply.github.com> Co-authored-by: fuhsnn <66062782+fuhsnn@users.noreply.github.com> Co-authored-by: Symious <14933944+symious@users.noreply.github.com> Co-authored-by: Jun Kawasaki <jun784@gmail.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'src/test/smp')
-rw-r--r--src/test/smp/lazy/App.smp3
-rw-r--r--src/test/smp/lazy/App/Main.smp1
-rw-r--r--src/test/smp/lazy/App/Stats.smp1
-rw-r--r--src/test/smp/lazy/App/Tables.smp4
4 files changed, 9 insertions, 0 deletions
diff --git a/src/test/smp/lazy/App.smp b/src/test/smp/lazy/App.smp
new file mode 100644
index 00000000..caf7b0c1
--- /dev/null
+++ b/src/test/smp/lazy/App.smp
@@ -0,0 +1,3 @@
+val Main=Main;
+val Tables=Tables;
+val Stats=Stats;
diff --git a/src/test/smp/lazy/App/Main.smp b/src/test/smp/lazy/App/Main.smp
new file mode 100644
index 00000000..2444f21b
--- /dev/null
+++ b/src/test/smp/lazy/App/Main.smp
@@ -0,0 +1 @@
+return arg ? Tables.square(3)+Tables.square(4)+100*Stats.builds : Stats.builds;
diff --git a/src/test/smp/lazy/App/Stats.smp b/src/test/smp/lazy/App/Stats.smp
new file mode 100644
index 00000000..e2d9e02e
--- /dev/null
+++ b/src/test/smp/lazy/App/Stats.smp
@@ -0,0 +1 @@
+int builds=0;
diff --git a/src/test/smp/lazy/App/Tables.smp b/src/test/smp/lazy/App/Tables.smp
new file mode 100644
index 00000000..0f32a118
--- /dev/null
+++ b/src/test/smp/lazy/App/Tables.smp
@@ -0,0 +1,4 @@
+Stats.builds++;
+int[] _squares=new int[256];
+for(int i=0; i<256; i++) _squares[i]=i*i;
+val square={u8 n -> _squares[n];};