From c2ba658ef8e70b6aaf2545639eed87233140225a Mon Sep 17 00:00:00 2001
From: Anders Blomdell <anders.blomdell@control.lth.se>
Date: Fri, 7 Aug 2015 20:17:48 +0200
Subject: [PATCH] Re-enable user_types test, made dispatcher private again

---
 compiler/2014/Java_CodeGen.jrag  | 8 +++++++-
 examples/Makefile                | 8 ++++----
 examples/user_types/Encoder.java | 2 +-
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/compiler/2014/Java_CodeGen.jrag b/compiler/2014/Java_CodeGen.jrag
index 3dd853e..97f7c29 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 a6f964b..b7e70d3 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 9c66661..3aa3058 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);
-- 
GitLab