Make EmptyExpression.INSTANCE immutable further

(cherry picked from commit 9e15bed)


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/60be70ae
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/60be70ae
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/60be70ae

Branch: refs/heads/GROOVY_2_6_X
Commit: 60be70ae1946e6cbcca96444d50772014b9a9206
Parents: ba3ad3a
Author: sunlan <sun...@apache.org>
Authored: Sat Jun 24 16:10:56 2017 +0800
Committer: sunlan <sun...@apache.org>
Committed: Sat Jun 24 16:41:01 2017 +0800

----------------------------------------------------------------------
 .../groovy/ast/expr/EmptyExpression.java        | 53 ++++++++++++++++++++
 1 file changed, 53 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/60be70ae/src/main/org/codehaus/groovy/ast/expr/EmptyExpression.java
----------------------------------------------------------------------
diff --git a/src/main/org/codehaus/groovy/ast/expr/EmptyExpression.java 
b/src/main/org/codehaus/groovy/ast/expr/EmptyExpression.java
index 6c3daf1..7b6d9e7 100644
--- a/src/main/org/codehaus/groovy/ast/expr/EmptyExpression.java
+++ b/src/main/org/codehaus/groovy/ast/expr/EmptyExpression.java
@@ -18,11 +18,14 @@
  */
 package org.codehaus.groovy.ast.expr;
 
+import org.codehaus.groovy.ast.ASTNode;
 import org.codehaus.groovy.ast.AnnotationNode;
 import org.codehaus.groovy.ast.ClassNode;
 import org.codehaus.groovy.ast.GroovyCodeVisitor;
+import org.codehaus.groovy.ast.NodeMetaDataHandler;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * This class is a place holder for an empty expression. 
@@ -65,6 +68,56 @@ public class EmptyExpression extends Expression {
             throw createUnsupportedOperationException();
         }
 
+        @Override
+        public void setLineNumber(int lineNumber) {
+            throw createUnsupportedOperationException();
+        }
+
+        @Override
+        public void setColumnNumber(int columnNumber) {
+            throw createUnsupportedOperationException();
+        }
+
+        @Override
+        public void setLastLineNumber(int lastLineNumber) {
+            throw createUnsupportedOperationException();
+        }
+
+        @Override
+        public void setLastColumnNumber(int lastColumnNumber) {
+            throw createUnsupportedOperationException();
+        }
+
+        @Override
+        public void setSourcePosition(ASTNode node) {
+            throw createUnsupportedOperationException();
+        }
+
+        @Override
+        public void copyNodeMetaData(NodeMetaDataHandler other) {
+            throw createUnsupportedOperationException();
+        }
+
+        @Override
+        public void setNodeMetaData(Object key, Object value) {
+            throw createUnsupportedOperationException();
+        }
+
+        @Override
+        public Object putNodeMetaData(Object key, Object value) {
+            throw createUnsupportedOperationException();
+        }
+
+        @Override
+        public void removeNodeMetaData(Object key) {
+            throw createUnsupportedOperationException();
+        }
+
+        @Override
+        public void setMetaDataMap(Map<?, ?> metaDataMap) {
+            throw createUnsupportedOperationException();
+        }
+
         private UnsupportedOperationException 
createUnsupportedOperationException() {
             return new UnsupportedOperationException("EmptyExpression.INSTANCE 
is immutable");
         }

Reply via email to