linkOriginalGenerator() does not need to modify GeneratorReactor, make
it static, so that we can disconnect the state manipulation.
JIRA: MDSAL-718
Change-Id: I6ef2b81f4645522e2c6388bfcde48c36527e421a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit
d8e53a57837f122540ac6642f76a7531bd30a9f4)
return statement instanceof CopyableNode && ((CopyableNode) statement).isAugmenting();
}
return statement instanceof CopyableNode && ((CopyableNode) statement).isAugmenting();
}
- final void linkOriginalGenerator(final GeneratorContext context) {
+ final void linkOriginalGenerator() {
if (isAddedByUses() || isAugmenting()) {
LOG.trace("Linking {}", this);
prev = getParent().getOriginalChild(getQName());
if (isAddedByUses() || isAugmenting()) {
LOG.trace("Linking {}", this);
prev = getParent().getOriginalChild(getQName());
- private void linkDependencies(final Iterable<? extends Generator> parent) {
+ private static void linkOriginalGenerator(final Iterable<? extends Generator> parent) {
for (Generator child : parent) {
for (Generator child : parent) {
- if (child instanceof AbstractDependentGenerator) {
- ((AbstractDependentGenerator<?>) child).linkDependencies(this);
- } else if (child instanceof AbstractCompositeGenerator) {
- stack.push(child);
- linkDependencies(child);
- stack.pop();
+ if (child instanceof AbstractExplicitGenerator) {
+ ((AbstractExplicitGenerator<?>) child).linkOriginalGenerator();
+ }
+ if (child instanceof AbstractCompositeGenerator) {
+ linkOriginalGenerator(child);
- private void linkOriginalGenerator(final Iterable<? extends Generator> parent) {
+ private void linkDependencies(final Iterable<? extends Generator> parent) {
for (Generator child : parent) {
for (Generator child : parent) {
- if (child instanceof AbstractExplicitGenerator) {
- ((AbstractExplicitGenerator<?>) child).linkOriginalGenerator(this);
- }
- if (child instanceof AbstractCompositeGenerator) {
+ if (child instanceof AbstractDependentGenerator) {
+ ((AbstractDependentGenerator<?>) child).linkDependencies(this);
+ } else if (child instanceof AbstractCompositeGenerator) {
- linkOriginalGenerator(child);
+ linkDependencies(child);