diff options
author | gjoranv <gv@yahoo-inc.com> | 2017-04-24 13:19:43 +0200 |
---|---|---|
committer | gjoranv <gv@yahoo-inc.com> | 2017-05-05 15:36:18 +0200 |
commit | 124e3758ea742754d274e807278a045370496765 (patch) | |
tree | b7638736a11e371837b35d74572f561b2cbd429d /configgen | |
parent | a8ae8dd1340482a0c61649600dfa48b89cbe130b (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')
-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); |