diff options
author | gjoranv <gjoranv@gmail.com> | 2017-06-08 11:00:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-08 11:00:19 +0200 |
commit | ab131f2a48628dd7ed86e112819860c67e8df75b (patch) | |
tree | caef54ee2f0bb0ec22a00009b24ce90a34ad0d7b /configgen/src | |
parent | 7231a4c39505b0a317162bbfa98942dc6ae82123 (diff) | |
parent | 6ae4f4540e5d9214714b9d9e41d1454447602b98 (diff) |
Merge pull request #2445 from yahoo/gjoranv/remove-default-ctor4
Gjoranv/remove default ctor4
Diffstat (limited to 'configgen/src')
-rw-r--r-- | configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala b/configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala index 716f2a60c33..533b9b2be23 100644 --- a/configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala +++ b/configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala @@ -180,8 +180,14 @@ object ConfigGenerator { } } - // TODO: The default ctor can be removed if the config library uses builders to set values from payload, but ... - // a default ctor is also needed for all innerArrays, because of InnerNodeVector.createNew() + // TODO: The default ctor is possibly still needed for innerArrays, because of InnerNodeVector.createNew() + def defaultConstructorIfArray = { + inner match { + case array: InnerCNode if inner.isArray => defaultConstructor + case scalar: InnerCNode => "" + } + } + def defaultConstructor = { // TODO @link gives javadoc warnings, although the syntax seems to be valid //def link = "{@link " + {nodeClass(inner)} + "#" + {nodeClass(inner)} + "(Builder)}" @@ -202,7 +208,7 @@ object ConfigGenerator { // TODO: merge these two constructors into one when the config library uses builders to set values from payload. <code> - |{defaultConstructor} + |{defaultConstructorIfArray} | |public {nodeClass(inner)}(Builder builder) {{ | this(builder, true); |