If the builder was creating a one-node tree, this message would not be
expected to be called.
But the "larger than requested" stuff is totally wrong -- that's a cut
and paste error from fixing a mix-up in this message before (in the last
version of ECJ we'd mixed up TERMINAL and NON-TERMINAL). Oops! Will
fix, ignore that part.
David Robert White wrote:
> I'm confused about the error message below, please could someone explain
> If the builder was creating a one-node tree, surely a terminal would be
> ideal? Why would using a terminal create a tree larger than requested?
> state.output.warnOnce("A GPNodeBuilder has been requested at
> least once to generate a one-node tree with " +
> "a return value type-compatable with a
> certain type; but there is no NON-TERMINAL which is type-compatable " +
> "in this way. As a result, the algorithm
> was forced to use a TERMINAL, making the tree larger than " +
> "requested, and exposing more child slots
> to fill, which if not carefully considered, could " +
> "recursively repeat this problem and
> eventually fill all memory.");