summaryrefslogtreecommitdiffstats
path: root/configgen
diff options
context:
space:
mode:
authorgjoranv <gjoranv@gmail.com>2017-06-08 11:00:19 +0200
committerGitHub <noreply@github.com>2017-06-08 11:00:19 +0200
commitab131f2a48628dd7ed86e112819860c67e8df75b (patch)
treecaef54ee2f0bb0ec22a00009b24ce90a34ad0d7b /configgen
parent7231a4c39505b0a317162bbfa98942dc6ae82123 (diff)
parent6ae4f4540e5d9214714b9d9e41d1454447602b98 (diff)
Merge pull request #2445 from yahoo/gjoranv/remove-default-ctor4
Gjoranv/remove default ctor4
Diffstat (limited to 'configgen')
-rw-r--r--configgen/src/main/scala/com/yahoo/config/codegen/ConfigGenerator.scala12
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);