You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by su...@apache.org on 2020/12/17 14:37:11 UTC
[groovy] branch GROOVY_3_0_X updated: GROOVY-9862: General error
during instruction selection: ClassCastException
This is an automated email from the ASF dual-hosted git repository.
sunlan pushed a commit to branch GROOVY_3_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git
The following commit(s) were added to refs/heads/GROOVY_3_0_X by this push:
new 00d346c GROOVY-9862: General error during instruction selection: ClassCastException
00d346c is described below
commit 00d346c16fb52ffa5e28bb3ac04a3483be29d3bf
Author: Daniel Sun <su...@apache.org>
AuthorDate: Thu Dec 17 22:16:18 2020 +0800
GROOVY-9862: General error during instruction selection: ClassCastException
(cherry picked from commit 69ccd11b61d0b143eb7924f56cc5a65de9457939)
---
.../codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java b/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java
index 740e4dd..4f5c4e0 100644
--- a/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java
+++ b/src/main/java/org/codehaus/groovy/classgen/asm/sc/StaticTypesCallSiteWriter.java
@@ -19,6 +19,7 @@
package org.codehaus.groovy.classgen.asm.sc;
import org.codehaus.groovy.GroovyBugError;
+import org.codehaus.groovy.ast.ASTNode;
import org.codehaus.groovy.ast.ClassHelper;
import org.codehaus.groovy.ast.ClassNode;
import org.codehaus.groovy.ast.FieldNode;
@@ -595,8 +596,8 @@ public class StaticTypesCallSiteWriter extends CallSiteWriter implements Opcodes
rType = receiver.getNodeMetaData(StaticTypesMarker.INFERRED_TYPE);
if (receiver instanceof VariableExpression && rType == null) {
// TODO: can STCV be made smarter to avoid this check?
- VariableExpression ve = (VariableExpression) ((VariableExpression)receiver).getAccessedVariable();
- rType = ve.getNodeMetaData(StaticTypesMarker.INFERRED_TYPE);
+ ASTNode node = (ASTNode) ((VariableExpression) receiver).getAccessedVariable();
+ rType = node.getNodeMetaData(StaticTypesMarker.INFERRED_TYPE);
}
if (rType!=null && trySubscript(receiver, message, arguments, rType, aType, safe)) {
return;