From a2afc0cccf85d1ac17e33e726affbf5d6ab153f7 Mon Sep 17 00:00:00 2001 From: Johannes Mey <johannes.mey@tu-dresden.de> Date: Sat, 2 Mar 2019 22:15:00 +0100 Subject: [PATCH] make add/set methods return the object (adresses issue #8) --- src/main/jastadd/Backend.jadd | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/jastadd/Backend.jadd b/src/main/jastadd/Backend.jadd index 7b3de41..e6ae314 100644 --- a/src/main/jastadd/Backend.jadd +++ b/src/main/jastadd/Backend.jadd @@ -176,12 +176,13 @@ aspect BackendDirectedAPI { generateGetOne(sb); // Set - sb.append(ind(1) + "public void " + toTypeDecl()); + sb.append(ind(1) + "public " + toTypeDecl() + " " + toTypeDecl()); sb.append(".set" + nameCapitalized() + "(" + ofTypeDecl() + " o) {\n"); if (!optional) { sb.append(ind(2) + "assertNotNull(o);\n"); } sb.append(ind(2) + "set" + getImplAttributeName() + "(o);\n"); + sb.append(ind(2) + "return this;\n"); sb.append(ind(1) + "}\n"); } @@ -324,7 +325,7 @@ aspect BackendBidirectionalAPI { generateGetOne(sb); // Set - sb.append(ind(1) + "public void " + toTypeDecl()); + sb.append(ind(1) + "public " + toTypeDecl() + " " + toTypeDecl()); sb.append(".set" + nameCapitalized() + "(" + ofTypeDecl() + " o) {\n"); if (!isOpt) { sb.append(ind(2) + "assertNotNull(o);\n"); @@ -361,6 +362,7 @@ aspect BackendBidirectionalAPI { } } + sb.append(ind(2) + "return this;\n"); sb.append(ind(1) + "}\n"); if (isOpt) { @@ -559,7 +561,7 @@ aspect BackendBidirectionalAPI { generateGetOne(sb); // Set - sb.append(ind(1) + "public void " + toTypeDecl() + ".set" + nameCapitalized() + sb.append(ind(1) + "public " + toTypeDecl() + " " + toTypeDecl() + ".set" + nameCapitalized() + "(" + ofTypeDecl() + " o) {\n"); if (!isOpt) { sb.append(ind(2) + "assertNotNull(o);\n"); @@ -587,6 +589,7 @@ aspect BackendBidirectionalAPI { if (isOpt) { sb.append(ind(2) + "}\n"); } + sb.append(ind(2) + "return this;\n"); sb.append(ind(1) + "}\n"); if (isOpt) { -- GitLab