diff --git a/compiler/2014/Java_CodeGen.jrag b/compiler/2014/Java_CodeGen.jrag index 3dd853eddaccffdbedce61828e0a08070c0adf61..97f7c294fd9b78d17e17a5c0377d4a74beef9eb2 100644 --- a/compiler/2014/Java_CodeGen.jrag +++ b/compiler/2014/Java_CodeGen.jrag @@ -499,7 +499,7 @@ aspect Java_Class { public void Decl.Java_emitDispatcher(Java_env env, boolean isSample) { // String genericStr = ""; //env.versionHasMetaData()?"<"+getName()+">":""; String genericStr = "<"+getName()+">"; - env.println("public static final Dispatcher dispatcher = new Dispatcher();"); + env.println("private static Dispatcher dispatcher = new Dispatcher();"); env.println(); env.println("public SampleDispatcher getDispatcher() {"); env.indent(); @@ -507,6 +507,12 @@ aspect Java_Class { env.unindent(); env.println("}"); env.println(); + env.println("public static SampleDispatcher staticGetDispatcher() {"); + env.indent(); + env.println("return dispatcher;"); + env.unindent(); + env.println("}"); + env.println(); env.println("private static class Dispatcher implements SampleDispatcher "+genericStr+"{"); env.indent(); env.println(); diff --git a/examples/Makefile b/examples/Makefile index a6f964bba08cfb1835964fc377664afbf7ad2efc..b7e70d3fad4092dceb17b295c8dd0cab9986ba32 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -1,6 +1,6 @@ SUBDIRS=duck_typing dynamic jgrafchart robot simple tcp \ - twoway wiki_example -# user_types # Disabled until typeefs are reimplemented in library + twoway wiki_example user_types +# user_types # Disabled until typedefs are reimplemented in library .PHONY: all @@ -14,11 +14,11 @@ UNAME_S=$(shell uname -s) test: echo More to be done... ifeq ($(UNAME_S),Darwin) -# $(MAKE) -C user_types all + $(MAKE) -C user_types test else cd simple ; sh compile.sh && sh run.sh $(MAKE) -C wiki_example test -# $(MAKE) -C user_types test + $(MAKE) -C user_types test endif $(MAKE) -C duck_typing test $(MAKE) -C twoway test diff --git a/examples/user_types/Encoder.java b/examples/user_types/Encoder.java index 9c66661fe778654ea1127fa3cff1443d884ce19e..3aa3058f5beb0c7f18ebc1f46312e3389e1a24ca 100644 --- a/examples/user_types/Encoder.java +++ b/examples/user_types/Encoder.java @@ -31,7 +31,7 @@ public class Encoder intAndRef iar = new intAndRef(); iar.x = 17; - iar.reference = doavoid.dispatcher; + iar.reference = doavoid.staticGetDispatcher(); System.out.println("Encoding intAndRef"); intAndRef.encode(encoder, iar);