diff --git a/src/Examples.java b/src/Examples.java index 3cd7728..71e79d9 100644 --- a/src/Examples.java +++ b/src/Examples.java @@ -1,4 +1,4 @@ -import generator.Gen; +import generator.gen.Gen; public class Examples { // public static Gen parse(String str){ diff --git a/src/Lexer.java b/src/Lexer.java index 82a066b..9bc3787 100644 --- a/src/Lexer.java +++ b/src/Lexer.java @@ -1,4 +1,4 @@ -import generator.Gen; +import generator.gen.Gen; public class Lexer { public sealed interface Token{} diff --git a/src/Main.java b/src/Main.java index 4f46b88..440d093 100644 --- a/src/Main.java +++ b/src/Main.java @@ -1,5 +1,5 @@ import generator.Fun; -import generator.Gen; +import generator.gen.Gen; public class Main implements Runnable { public static void main(String[] args) { diff --git a/src/generator/future/Future.java b/src/generator/future/Future.java new file mode 100644 index 0000000..d1c2c06 --- /dev/null +++ b/src/generator/future/Future.java @@ -0,0 +1,18 @@ +package generator.future; + +public interface Future { + + @SuppressWarnings("unchecked") + default R poll(Waker waker){ + return (R) Pending.INSTANCE; + } + + default R await(){ + throw new RuntimeException(); + } + + final class Pending{ + private static final Pending INSTANCE = new Pending(); + private Pending(){} + } +} diff --git a/src/generator/future/Waker.java b/src/generator/future/Waker.java new file mode 100644 index 0000000..f525dcd --- /dev/null +++ b/src/generator/future/Waker.java @@ -0,0 +1,5 @@ +package generator.future; + +public interface Waker { + void wake(); +} diff --git a/src/generator/Gen.java b/src/generator/gen/Gen.java similarity index 96% rename from src/generator/Gen.java rename to src/generator/gen/Gen.java index e3d53ba..18c4104 100644 --- a/src/generator/Gen.java +++ b/src/generator/gen/Gen.java @@ -1,4 +1,4 @@ -package generator; +package generator.gen; public interface Gen { Res next(); diff --git a/src/generator/runtime/GeneratorBuilder.java b/src/generator/runtime/GeneratorBuilder.java index 0938771..287b232 100644 --- a/src/generator/runtime/GeneratorBuilder.java +++ b/src/generator/runtime/GeneratorBuilder.java @@ -1,6 +1,6 @@ package generator.runtime; -import generator.Gen; +import generator.gen.Gen; import java.lang.classfile.*; import java.lang.classfile.attribute.InnerClassInfo; diff --git a/src/generator/runtime/GeneratorClassLoader.java b/src/generator/runtime/GeneratorClassLoader.java index 1d0e3f0..c7c9ee5 100644 --- a/src/generator/runtime/GeneratorClassLoader.java +++ b/src/generator/runtime/GeneratorClassLoader.java @@ -1,7 +1,7 @@ package generator.runtime; import generator.Fun; -import generator.Gen; +import generator.gen.Gen; import java.io.IOException; import java.lang.classfile.*;