You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2021/09/09 12:00:39 UTC

[groovy] branch master updated: GROOVY-10218: BUG! exception in phase 'instruction selection' when non-existent method called

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

paulk 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 d8d19fb  GROOVY-10218: BUG! exception in phase 'instruction selection' when non-existent method called
d8d19fb is described below

commit d8d19fb5a0df6eee759e0fc3a035f26762006702
Author: Paul King <pa...@asert.com.au>
AuthorDate: Thu Sep 9 22:00:18 2021 +1000

    GROOVY-10218: BUG! exception in phase 'instruction selection' when non-existent method called
---
 .../org/codehaus/groovy/transform/stc/TraitTypeCheckingExtension.java    | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/main/java/org/codehaus/groovy/transform/stc/TraitTypeCheckingExtension.java b/src/main/java/org/codehaus/groovy/transform/stc/TraitTypeCheckingExtension.java
index f364c1e..87a9483 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/TraitTypeCheckingExtension.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/TraitTypeCheckingExtension.java
@@ -83,6 +83,7 @@ public class TraitTypeCheckingExtension extends AbstractTypeCheckingExtension {
                     candidates.add(type);
                     while (!candidates.isEmpty()) {
                         ClassNode next = candidates.remove(0);
+                        if (!Traits.isTrait(next)) continue;
                         ClassNode helper = Traits.findHelper(next);
                         Parameter[] params = new Parameter[argumentTypes.length + 1];
                         params[0] = new Parameter(ClassHelper.CLASS_Type.getPlainNodeReference(), "staticSelf");