diff options
author | gjoranv <gv@yahoo-inc.com> | 2017-04-24 13:19:43 +0200 |
---|---|---|
committer | gjoranv <gv@yahoo-inc.com> | 2017-04-24 13:36:23 +0200 |
commit | 84f7fff3eba654449a6398c5042220e22f69fba0 (patch) | |
tree | a4fc455c422db9d9e6b0ced9fb0031d74272b171 /configgen/src/main/scala/com/yahoo | |
parent | 7b6ca3c1e2fa23d72a820add54f6ce4d4ac8a882 (diff) |
Remove the default ctor for the generated config classes.
- Removed for all inner nodes that are not arrays, because
InnerNodeVector might still need it.
Diffstat (limited to 'configgen/src/main/scala/com/yahoo')
-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); |