Remove redundant fields and reduce the visibility of lazy nodes
diff --git a/src/main/java/org/codehaus/groovy/ast/decompiled/LazyConstructorNode.java b/src/main/java/org/codehaus/groovy/ast/decompiled/LazyConstructorNode.java
index a4b08b4..50bef15 100644
--- a/src/main/java/org/codehaus/groovy/ast/decompiled/LazyConstructorNode.java
+++ b/src/main/java/org/codehaus/groovy/ast/decompiled/LazyConstructorNode.java
@@ -41,23 +41,20 @@
*
* @since 2.5.9
*/
-public class LazyConstructorNode extends ConstructorNode {
+class LazyConstructorNode extends ConstructorNode {
private final Supplier<ConstructorNode> constructorNodeSupplier;
private ConstructorNode delegate;
- private boolean initialized;
public LazyConstructorNode(Supplier<ConstructorNode> constructorNodeSupplier) {
this.constructorNodeSupplier = constructorNodeSupplier;
}
private void init() {
- if (initialized) return;
+ if (null != delegate) return;
delegate = constructorNodeSupplier.get();
ClassNode declaringClass = super.getDeclaringClass();
if (null != declaringClass) delegate.setDeclaringClass(declaringClass);
-
- initialized = true;
}
@Override
diff --git a/src/main/java/org/codehaus/groovy/ast/decompiled/LazyFieldNode.java b/src/main/java/org/codehaus/groovy/ast/decompiled/LazyFieldNode.java
index 4dea774..94d2ed5 100644
--- a/src/main/java/org/codehaus/groovy/ast/decompiled/LazyFieldNode.java
+++ b/src/main/java/org/codehaus/groovy/ast/decompiled/LazyFieldNode.java
@@ -38,10 +38,9 @@
*
* @since 2.5.9
*/
-public class LazyFieldNode extends FieldNode {
+class LazyFieldNode extends FieldNode {
private final Supplier<FieldNode> fieldNodeSupplier;
private FieldNode delegate;
- private boolean initialized;
private String name;
@@ -51,7 +50,7 @@
}
private void init() {
- if (initialized) return;
+ if (null != delegate) return;
delegate = fieldNodeSupplier.get();
ClassNode declaringClass = super.getDeclaringClass();
@@ -59,8 +58,6 @@
ClassNode owner = super.getOwner();
if (null != owner) delegate.setOwner(owner);
-
- initialized = true;
}
@Override
diff --git a/src/main/java/org/codehaus/groovy/ast/decompiled/LazyMethodNode.java b/src/main/java/org/codehaus/groovy/ast/decompiled/LazyMethodNode.java
index 2cd8fd0..11f12da 100644
--- a/src/main/java/org/codehaus/groovy/ast/decompiled/LazyMethodNode.java
+++ b/src/main/java/org/codehaus/groovy/ast/decompiled/LazyMethodNode.java
@@ -41,10 +41,9 @@
*
* @since 2.5.9
*/
-public class LazyMethodNode extends MethodNode {
+class LazyMethodNode extends MethodNode {
private final Supplier<MethodNode> methodNodeSupplier;
private MethodNode delegate;
- private boolean initialized;
private String name;
@@ -54,13 +53,11 @@
}
private void init() {
- if (initialized) return;
+ if (null != delegate) return;
delegate = methodNodeSupplier.get();
ClassNode declaringClass = super.getDeclaringClass();
if (null != declaringClass) delegate.setDeclaringClass(declaringClass);
-
- initialized = true;
}
@Override