diff --git a/compiler/CS_CodeGen.jrag b/compiler/CS_CodeGen.jrag index dc273e1fdd66200cf05583a50bafc0212f5ba030..0423e069005fc62ebc0523432c77b8818fccead2 100644 --- a/compiler/CS_CodeGen.jrag +++ b/compiler/CS_CodeGen.jrag @@ -720,6 +720,10 @@ aspect CS_Class { " not declared"); } + public void SampleRefType.CS_emitTypePrefix(CS_env env) { + env.print("Sample"); + } + public void PrimType.CS_emitTypePrefix(CS_env env) { switch (getToken()) { case LABCOMM_STRING: { env.print("String"); } break; @@ -844,6 +848,10 @@ aspect CS_Class { " not declared"); } + public void SampleRefType.CS_emitType(CS_env env) { + env.print("Sample"); + } + public void VoidType.CS_emitType(CS_env env) { env.print("void"); } diff --git a/compiler/Java_CodeGen.jrag b/compiler/Java_CodeGen.jrag index b3444ff181d9aa7c3397617a895b9f1f3e6a163a..cfa38cc6405ce2d6ae01e30bb1debff6e653f2b7 100644 --- a/compiler/Java_CodeGen.jrag +++ b/compiler/Java_CodeGen.jrag @@ -938,6 +938,10 @@ aspect Java_Class { " not declared"); } + public void SampleRefType.Java_emitType(Java_env env) { + env.print("Sample"); + } + public void VoidType.Java_emitType(Java_env env) { env.print("void"); } diff --git a/compiler/Python_CodeGen.jrag b/compiler/Python_CodeGen.jrag index 4d19724b033e5e91b57e5352d2b4db948b59c502..0063b30963b8c172c53a536992dd7fbef4ed1e2f 100644 --- a/compiler/Python_CodeGen.jrag +++ b/compiler/Python_CodeGen.jrag @@ -152,6 +152,10 @@ aspect PythonTypes { " not declared"); } + public void SampleRefType.Python_genSignature(Python_env env) { + env.print("labcomm.SAMPLE_REF()"); + } + public void PrimType.Python_genSignature(Python_env env) { switch (getToken()) { case LABCOMM_BOOLEAN: { env.print("labcomm.BOOLEAN()"); } break; diff --git a/test/Makefile b/test/Makefile index 075d91f72d356a61f214e4381d8178d70dc28dc8..128a5e4fc60a2d157ae98fc96b625bde8a5a2082 100644 --- a/test/Makefile +++ b/test/Makefile @@ -1,4 +1,4 @@ -TESTS=basic simple nested +TESTS=basic simple nested ref LABCOMM_JAR=../compiler/labcomm_compiler.jar LABCOMM=java -jar $(LABCOMM_JAR) diff --git a/test/ref.lc b/test/ref.lc new file mode 100644 index 0000000000000000000000000000000000000000..955d9a70d6da2a56106cd2f73f02e4c24b85ce21 --- /dev/null +++ b/test/ref.lc @@ -0,0 +1,4 @@ +sample sample usedBoth; +sample sample unusedEncoder; +sample sample unusedDecoder; +sample sample sample_list[4];