You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Jordan Martinez (JIRA)" <ji...@apache.org> on 2016/06/19 00:08:05 UTC

[jira] [Created] (GROOVY-7868) Calling super constructor with in-line casted Closure param does not compile: unexpected "constructor call must be first statement" error

Jordan Martinez created GROOVY-7868:
---------------------------------------

             Summary: Calling super constructor with in-line casted Closure param does not compile: unexpected "constructor call must be first statement" error
                 Key: GROOVY-7868
                 URL: https://issues.apache.org/jira/browse/GROOVY-7868
             Project: Groovy
          Issue Type: Bug
          Components: Compiler
         Environment: Linux Mint 17.3
            Reporter: Jordan Martinez
            Priority: Minor


Running the following code in Groovy Console should result "succesfully" with "Could not find matching constructor for 'SomeObject'"

Instead, code fails with issue "Constructor call must be the first statement in a constructor," which is weird because it is...

Code only runs correctly (e.g. fails in the expected way) in 5 cases:
 - "{} as BiConsumer" line in the super constructor is commented out
 - all arguments past Closure-cast line must be commented out 
 - Closure is cast to a different object (say String)
 - the second "Collections.emptyList()" is changed to a different type (say String) but the third remains the same
 - The BiConsumer's second generic type (Collection<String>) is changed to a different type (say String)

--- Code Start ---
import java.util.function.BiConsumer

public class ProblematicObject extends SomeObject {

    public ProblematicObject() {
        super(
            { } as BiConsumer<String, Collection<String>>, 
            
            Collections.emptyList(),
            Collections.emptyList()
        )
    }
    
}

new ProblematicObject()
--- Code End ---



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)