You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by em...@apache.org on 2022/11/15 16:07:47 UTC

[groovy] branch master updated: improve `getText()` for `ASTNode` and `BytecodeExpression`

This is an automated email from the ASF dual-hosted git repository.

emilles pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/master by this push:
     new c51a9f3fe3 improve `getText()` for `ASTNode` and `BytecodeExpression`
c51a9f3fe3 is described below

commit c51a9f3fe317970386833b56ef3a519f70b0f542
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Tue Nov 15 09:50:51 2022 -0600

    improve `getText()` for `ASTNode` and `BytecodeExpression`
---
 src/main/java/org/codehaus/groovy/ast/ASTNode.java   | 20 +++++++++++---------
 .../codehaus/groovy/classgen/BytecodeExpression.java |  5 +++++
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/ast/ASTNode.java b/src/main/java/org/codehaus/groovy/ast/ASTNode.java
index 989cc08fb7..3de425dc5d 100644
--- a/src/main/java/org/codehaus/groovy/ast/ASTNode.java
+++ b/src/main/java/org/codehaus/groovy/ast/ASTNode.java
@@ -48,19 +48,21 @@ public class ASTNode implements NodeMetaDataHandler {
 
     private Map<?, ?> metaDataMap;
 
-    public void visit(GroovyCodeVisitor visitor) {
+    public void visit(final GroovyCodeVisitor visitor) {
         throw new RuntimeException("No visit() method implemented for class: " + getClass().getName());
     }
 
     public String getText() {
-        return "<not implemented yet for class: " + getClass().getName() + ">";
+        Class<?> nodeType = getClass();
+        if (nodeType.isAnonymousClass()) nodeType = nodeType.getSuperclass();
+        return "<not implemented yet for class: " + nodeType.getName() + ">";
     }
 
     public int getLineNumber() {
         return lineNumber;
     }
 
-    public void setLineNumber(int lineNumber) {
+    public void setLineNumber(final int lineNumber) {
         this.lineNumber = lineNumber;
     }
 
@@ -68,7 +70,7 @@ public class ASTNode implements NodeMetaDataHandler {
         return columnNumber;
     }
 
-    public void setColumnNumber(int columnNumber) {
+    public void setColumnNumber(final int columnNumber) {
         this.columnNumber = columnNumber;
     }
 
@@ -76,7 +78,7 @@ public class ASTNode implements NodeMetaDataHandler {
         return lastLineNumber;
     }
 
-    public void setLastLineNumber(int lastLineNumber) {
+    public void setLastLineNumber(final int lastLineNumber) {
         this.lastLineNumber = lastLineNumber;
     }
 
@@ -84,7 +86,7 @@ public class ASTNode implements NodeMetaDataHandler {
         return lastColumnNumber;
     }
 
-    public void setLastColumnNumber(int lastColumnNumber) {
+    public void setLastColumnNumber(final int lastColumnNumber) {
         this.lastColumnNumber = lastColumnNumber;
     }
 
@@ -96,7 +98,7 @@ public class ASTNode implements NodeMetaDataHandler {
      *
      * @param node - the node used to configure the position information
      */
-    public void setSourcePosition(ASTNode node) {
+    public void setSourcePosition(final ASTNode node) {
         this.lineNumber = node.getLineNumber();
         this.columnNumber = node.getColumnNumber();
         this.lastLineNumber = node.getLastLineNumber();
@@ -107,7 +109,7 @@ public class ASTNode implements NodeMetaDataHandler {
      * Copies all node metadata from the other node to this one
      * @param other - the other node
      */
-    public void copyNodeMetaData(ASTNode other) {
+    public void copyNodeMetaData(final ASTNode other) {
         copyNodeMetaData((NodeMetaDataHandler) other);
     }
 
@@ -117,7 +119,7 @@ public class ASTNode implements NodeMetaDataHandler {
     }
 
     @Override
-    public void setMetaDataMap(Map<?, ?> metaDataMap) {
+    public void setMetaDataMap(final Map<?, ?> metaDataMap) {
         this.metaDataMap = metaDataMap;
     }
 }
diff --git a/src/main/java/org/codehaus/groovy/classgen/BytecodeExpression.java b/src/main/java/org/codehaus/groovy/classgen/BytecodeExpression.java
index 282e771627..805a83ac2a 100644
--- a/src/main/java/org/codehaus/groovy/classgen/BytecodeExpression.java
+++ b/src/main/java/org/codehaus/groovy/classgen/BytecodeExpression.java
@@ -43,6 +43,11 @@ public abstract class BytecodeExpression extends Expression {
         setType(type);
     }
 
+    @Override
+    public String getText() {
+        return "<bytecode sequence>";
+    }
+
     public abstract void visit(MethodVisitor visitor);
 
     @Override