diff options
author | gjoranv <gjoranv@gmail.com> | 2017-05-05 13:51:07 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-05 13:51:07 +0200 |
commit | e09902597b1ed45cd4b32989501c06d18883a7a2 (patch) | |
tree | ce51728976dce5009cb99a58b4a81a353a73eaf5 /configgen/src/main/scala | |
parent | 913b86690746327e0a84bba49c119e79b73d8724 (diff) | |
parent | 84f7fff3eba654449a6398c5042220e22f69fba0 (diff) |
Merge pull request #2247 from yahoo/gjoranv/remove-default-ctor
Remove the default ctor for the generated config classes.
Diffstat (limited to 'configgen/src/main/scala')
-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); |