[jira] [Commented] (GROOVY-8247) AIOOBE in StaticTypeCheckingVisitor with SAM and explicit closure parameter
[ https://issues.apache.org/jira/browse/GROOVY-8247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16166011#comment-16166011 ] ASF GitHub Bot commented on GROOVY-8247: GitHub user paulk-asert opened a pull request: https://github.com/apache/groovy/pull/600 GROOVY-8247: AIOOBE in StaticTypeCheckingVisitor with SAM and explici… …t closure parameter You can merge this pull request into a Git repository by running: $ git pull https://github.com/paulk-asert/groovy groovy8247 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/600.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #600 commit afb5302b0f447e73adbda62aa22c4d63ff1d4c48 Author: paulkDate: 2017-09-14T09:38:17Z GROOVY-8247: AIOOBE in StaticTypeCheckingVisitor with SAM and explicit closure parameter > AIOOBE in StaticTypeCheckingVisitor with SAM and explicit closure parameter > --- > > Key: GROOVY-8247 > URL: https://issues.apache.org/jira/browse/GROOVY-8247 > Project: Groovy > Issue Type: Bug > Components: Static compilation, Static Type Checker >Affects Versions: 2.4.10 >Reporter: Daniil Ovchinnikov > > {code} > def runnable(Runnable r) { > r.run() > } > @CompileStatic > def foo() { > runnable { it -> // note explicit it > println it > } > } > foo() > {code} > {noformat} > org.codehaus.groovy.control.MultipleCompilationErrorsException: startup > failed: > General error during instruction selection: 0 > java.lang.ArrayIndexOutOfBoundsException: 0 > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.inferSAMType(StaticTypeCheckingVisitor.java:2424) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.inferClosureParameterTypes(StaticTypeCheckingVisitor.java:2362) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2326) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3030) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:358) > at > org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:66) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:196) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:166) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:104) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:115) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitConstructorOrMethod(StaticTypeCheckingVisitor.java:1816) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:126) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.startMethodInference(StaticTypeCheckingVisitor.java:2151) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethod(StaticTypeCheckingVisitor.java:2110) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethod(StaticCompilationVisitor.java:185) > at > org.codehaus.groovy.transform.sc.StaticCompileTransformation.visit(StaticCompileTransformation.java:76) > at > org.codehaus.groovy.transform.ASTTransformationVisitor.visitClass(ASTTransformationVisitor.java:134) > at > org.codehaus.groovy.transform.ASTTransformationVisitor$2.call(ASTTransformationVisitor.java:178) > at > org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1065) > at > org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603) > at > org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581) > at > org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558) > at >
[GitHub] groovy pull request #601: GROOVY-8246: AIOOBE in StaticTypeCheckingVisitor w...
GitHub user paulk-asert opened a pull request: https://github.com/apache/groovy/pull/601 GROOVY-8246: AIOOBE in StaticTypeCheckingVisitor with SAM You can merge this pull request into a Git repository by running: $ git pull https://github.com/paulk-asert/groovy groovy8246 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/601.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #601 commit 9d084e2980c4379efa2fee6ec5bb929bca9f31a0 Author: paulkDate: 2017-09-14T09:41:00Z GROOVY-8246: AIOOBE in StaticTypeCheckingVisitor with SAM ---
[jira] [Commented] (GROOVY-8247) AIOOBE in StaticTypeCheckingVisitor with SAM and explicit closure parameter
[ https://issues.apache.org/jira/browse/GROOVY-8247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16166046#comment-16166046 ] ASF GitHub Bot commented on GROOVY-8247: Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/600 > AIOOBE in StaticTypeCheckingVisitor with SAM and explicit closure parameter > --- > > Key: GROOVY-8247 > URL: https://issues.apache.org/jira/browse/GROOVY-8247 > Project: Groovy > Issue Type: Bug > Components: Static compilation, Static Type Checker >Affects Versions: 2.4.10 >Reporter: Daniil Ovchinnikov > > {code} > def runnable(Runnable r) { > r.run() > } > @CompileStatic > def foo() { > runnable { it -> // note explicit it > println it > } > } > foo() > {code} > {noformat} > org.codehaus.groovy.control.MultipleCompilationErrorsException: startup > failed: > General error during instruction selection: 0 > java.lang.ArrayIndexOutOfBoundsException: 0 > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.inferSAMType(StaticTypeCheckingVisitor.java:2424) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.inferClosureParameterTypes(StaticTypeCheckingVisitor.java:2362) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2326) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3030) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:358) > at > org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:66) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:196) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:166) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:104) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:115) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitConstructorOrMethod(StaticTypeCheckingVisitor.java:1816) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:126) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.startMethodInference(StaticTypeCheckingVisitor.java:2151) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethod(StaticTypeCheckingVisitor.java:2110) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethod(StaticCompilationVisitor.java:185) > at > org.codehaus.groovy.transform.sc.StaticCompileTransformation.visit(StaticCompileTransformation.java:76) > at > org.codehaus.groovy.transform.ASTTransformationVisitor.visitClass(ASTTransformationVisitor.java:134) > at > org.codehaus.groovy.transform.ASTTransformationVisitor$2.call(ASTTransformationVisitor.java:178) > at > org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1065) > at > org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603) > at > org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581) > at > org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558) > at > groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298) > at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268) > at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688) > at groovy.lang.GroovyShell.run(GroovyShell.java:517) > at groovy.lang.GroovyShell.run(GroovyShell.java:507) > at groovy.ui.GroovyMain.processOnce(GroovyMain.java:653) > at groovy.ui.GroovyMain.run(GroovyMain.java:384) > at groovy.ui.GroovyMain.process(GroovyMain.java:370) > at groovy.ui.GroovyMain.processArgs(GroovyMain.java:129) > at groovy.ui.GroovyMain.main(GroovyMain.java:109) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at >
[jira] [Commented] (GROOVY-8246) AIOOBE in StaticTypeCheckingVisitor with SAM
[ https://issues.apache.org/jira/browse/GROOVY-8246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16166012#comment-16166012 ] ASF GitHub Bot commented on GROOVY-8246: GitHub user paulk-asert opened a pull request: https://github.com/apache/groovy/pull/601 GROOVY-8246: AIOOBE in StaticTypeCheckingVisitor with SAM You can merge this pull request into a Git repository by running: $ git pull https://github.com/paulk-asert/groovy groovy8246 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/groovy/pull/601.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #601 commit 9d084e2980c4379efa2fee6ec5bb929bca9f31a0 Author: paulkDate: 2017-09-14T09:41:00Z GROOVY-8246: AIOOBE in StaticTypeCheckingVisitor with SAM > AIOOBE in StaticTypeCheckingVisitor with SAM > - > > Key: GROOVY-8246 > URL: https://issues.apache.org/jira/browse/GROOVY-8246 > Project: Groovy > Issue Type: Bug > Components: Static compilation, Static Type Checker >Affects Versions: 2.4.10 >Reporter: Daniil Ovchinnikov > > {code} > def runnable(Runnable r) { > r.run() > } > @CompileStatic > def foo() { > runnable { > println it > } > } > foo() > {code} > {noformat} > org.codehaus.groovy.control.MultipleCompilationErrorsException: startup > failed: > General error during instruction selection: 0 > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.getType(StaticTypeCheckingVisitor.java:3996) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.getArgumentTypes(StaticTypeCheckingVisitor.java:1956) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:2829) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:358) > at > org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:66) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:196) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:166) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:176) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClosureExpression(StaticTypeCheckingVisitor.java:2021) > at > org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:45) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2329) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3030) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:358) > at > org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:66) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:196) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:166) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:104) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:115) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitConstructorOrMethod(StaticTypeCheckingVisitor.java:1816) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:126) > at >
[GitHub] groovy pull request #601: GROOVY-8246: AIOOBE in StaticTypeCheckingVisitor w...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/601 ---
[jira] [Commented] (GROOVY-8246) AIOOBE in StaticTypeCheckingVisitor with SAM
[ https://issues.apache.org/jira/browse/GROOVY-8246?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16166045#comment-16166045 ] ASF GitHub Bot commented on GROOVY-8246: Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/601 > AIOOBE in StaticTypeCheckingVisitor with SAM > - > > Key: GROOVY-8246 > URL: https://issues.apache.org/jira/browse/GROOVY-8246 > Project: Groovy > Issue Type: Bug > Components: Static compilation, Static Type Checker >Affects Versions: 2.4.10 >Reporter: Daniil Ovchinnikov > > {code} > def runnable(Runnable r) { > r.run() > } > @CompileStatic > def foo() { > runnable { > println it > } > } > foo() > {code} > {noformat} > org.codehaus.groovy.control.MultipleCompilationErrorsException: startup > failed: > General error during instruction selection: 0 > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.getType(StaticTypeCheckingVisitor.java:3996) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.getArgumentTypes(StaticTypeCheckingVisitor.java:1956) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:2829) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:358) > at > org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:66) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:196) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:166) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:176) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClosureExpression(StaticTypeCheckingVisitor.java:2021) > at > org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:45) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2329) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3030) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:358) > at > org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:66) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:196) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:166) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:104) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:115) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitConstructorOrMethod(StaticTypeCheckingVisitor.java:1816) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:126) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.startMethodInference(StaticTypeCheckingVisitor.java:2151) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethod(StaticTypeCheckingVisitor.java:2110) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethod(StaticCompilationVisitor.java:185) > at > org.codehaus.groovy.transform.sc.StaticCompileTransformation.visit(StaticCompileTransformation.java:76) > at > org.codehaus.groovy.transform.ASTTransformationVisitor.visitClass(ASTTransformationVisitor.java:134) > at > org.codehaus.groovy.transform.ASTTransformationVisitor$2.call(ASTTransformationVisitor.java:178) > at >
[GitHub] groovy pull request #600: GROOVY-8247: AIOOBE in StaticTypeCheckingVisitor w...
Github user asfgit closed the pull request at: https://github.com/apache/groovy/pull/600 ---
[jira] [Resolved] (GROOVY-8247) AIOOBE in StaticTypeCheckingVisitor with SAM and explicit closure parameter
[ https://issues.apache.org/jira/browse/GROOVY-8247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Paul King resolved GROOVY-8247. --- Resolution: Fixed Assignee: Paul King Fix Version/s: 2.4.13 Proposed PR merged. Thanks for spotting the issue. > AIOOBE in StaticTypeCheckingVisitor with SAM and explicit closure parameter > --- > > Key: GROOVY-8247 > URL: https://issues.apache.org/jira/browse/GROOVY-8247 > Project: Groovy > Issue Type: Bug > Components: Static compilation, Static Type Checker >Affects Versions: 2.4.10 >Reporter: Daniil Ovchinnikov >Assignee: Paul King > Fix For: 2.4.13 > > > {code} > def runnable(Runnable r) { > r.run() > } > @CompileStatic > def foo() { > runnable { it -> // note explicit it > println it > } > } > foo() > {code} > {noformat} > org.codehaus.groovy.control.MultipleCompilationErrorsException: startup > failed: > General error during instruction selection: 0 > java.lang.ArrayIndexOutOfBoundsException: 0 > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.inferSAMType(StaticTypeCheckingVisitor.java:2424) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.inferClosureParameterTypes(StaticTypeCheckingVisitor.java:2362) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2326) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3030) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:358) > at > org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:66) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:196) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:166) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:104) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:115) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitConstructorOrMethod(StaticTypeCheckingVisitor.java:1816) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:126) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.startMethodInference(StaticTypeCheckingVisitor.java:2151) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethod(StaticTypeCheckingVisitor.java:2110) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethod(StaticCompilationVisitor.java:185) > at > org.codehaus.groovy.transform.sc.StaticCompileTransformation.visit(StaticCompileTransformation.java:76) > at > org.codehaus.groovy.transform.ASTTransformationVisitor.visitClass(ASTTransformationVisitor.java:134) > at > org.codehaus.groovy.transform.ASTTransformationVisitor$2.call(ASTTransformationVisitor.java:178) > at > org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1065) > at > org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603) > at > org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581) > at > org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558) > at > groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298) > at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268) > at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688) > at groovy.lang.GroovyShell.run(GroovyShell.java:517) > at groovy.lang.GroovyShell.run(GroovyShell.java:507) > at groovy.ui.GroovyMain.processOnce(GroovyMain.java:653) > at groovy.ui.GroovyMain.run(GroovyMain.java:384) > at groovy.ui.GroovyMain.process(GroovyMain.java:370) > at groovy.ui.GroovyMain.processArgs(GroovyMain.java:129) > at groovy.ui.GroovyMain.main(GroovyMain.java:109) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at >
[jira] [Resolved] (GROOVY-8246) AIOOBE in StaticTypeCheckingVisitor with SAM
[ https://issues.apache.org/jira/browse/GROOVY-8246?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Paul King resolved GROOVY-8246. --- Resolution: Fixed Assignee: Paul King Fix Version/s: 2.4.13 Proposed PR merged. Thanks for spotting the issue. > AIOOBE in StaticTypeCheckingVisitor with SAM > - > > Key: GROOVY-8246 > URL: https://issues.apache.org/jira/browse/GROOVY-8246 > Project: Groovy > Issue Type: Bug > Components: Static compilation, Static Type Checker >Affects Versions: 2.4.10 >Reporter: Daniil Ovchinnikov >Assignee: Paul King > Fix For: 2.4.13 > > > {code} > def runnable(Runnable r) { > r.run() > } > @CompileStatic > def foo() { > runnable { > println it > } > } > foo() > {code} > {noformat} > org.codehaus.groovy.control.MultipleCompilationErrorsException: startup > failed: > General error during instruction selection: 0 > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.getType(StaticTypeCheckingVisitor.java:3996) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.getArgumentTypes(StaticTypeCheckingVisitor.java:1956) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:2829) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:358) > at > org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:66) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:196) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:166) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitClosureExpression(CodeVisitorSupport.java:176) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitClosureExpression(StaticTypeCheckingVisitor.java:2021) > at > org.codehaus.groovy.ast.expr.ClosureExpression.visit(ClosureExpression.java:45) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallArguments(StaticTypeCheckingVisitor.java:2329) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethodCallExpression(StaticTypeCheckingVisitor.java:3030) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethodCallExpression(StaticCompilationVisitor.java:358) > at > org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:66) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitExpressionStatement(CodeVisitorSupport.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitExpressionStatement(ClassCodeVisitorSupport.java:196) > at > org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:42) > at > org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:37) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:166) > at > org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:71) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:104) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:115) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitConstructorOrMethod(StaticTypeCheckingVisitor.java:1816) > at > org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:126) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.startMethodInference(StaticTypeCheckingVisitor.java:2151) > at > org.codehaus.groovy.transform.stc.StaticTypeCheckingVisitor.visitMethod(StaticTypeCheckingVisitor.java:2110) > at > org.codehaus.groovy.transform.sc.StaticCompilationVisitor.visitMethod(StaticCompilationVisitor.java:185) > at > org.codehaus.groovy.transform.sc.StaticCompileTransformation.visit(StaticCompileTransformation.java:76) > at > org.codehaus.groovy.transform.ASTTransformationVisitor.visitClass(ASTTransformationVisitor.java:134) > at >
[jira] [Commented] (GROOVY-8318) Implement Groovy Template Engine For Spring 5
[ https://issues.apache.org/jira/browse/GROOVY-8318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167367#comment-16167367 ] Jason Yu commented on GROOVY-8318: -- Thanks for your suggestion. I may open a own project for it. So you can close this issue. > Implement Groovy Template Engine For Spring 5 > - > > Key: GROOVY-8318 > URL: https://issues.apache.org/jira/browse/GROOVY-8318 > Project: Groovy > Issue Type: Wish >Reporter: Jason Yu >Priority: Minor > > I have created a relative [issue|https://jira.spring.io/browse/SPR-15850] on > Spring's Jira. But they recommend that template engines support their own > infrastructure ([this > comment|https://jira.spring.io/browse/SPR-15850?focusedCommentId=154052=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-154052]). > Could Groovy provide corresponding package just like > [thymeleaf-spring5|http://www.thymeleaf.org/apidocs/thymeleaf-spring5/3.0.6.M4/overview-summary.html]? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (GROOVY-8318) Implement Groovy Template Engine For Spring 5
[ https://issues.apache.org/jira/browse/GROOVY-8318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167313#comment-16167313 ] Daniel Sun commented on GROOVY-8318: Jason, maybe it is better to create an independent project like Grails. > Implement Groovy Template Engine For Spring 5 > - > > Key: GROOVY-8318 > URL: https://issues.apache.org/jira/browse/GROOVY-8318 > Project: Groovy > Issue Type: Wish >Reporter: Jason Yu >Priority: Minor > > I have created a relative [issue|https://jira.spring.io/browse/SPR-15850] on > Spring's Jira. But they recommend that template engines support their own > infrastructure ([this > comment|https://jira.spring.io/browse/SPR-15850?focusedCommentId=154052=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-154052]). > Could Groovy provide corresponding package just like > [thymeleaf-spring5|http://www.thymeleaf.org/apidocs/thymeleaf-spring5/3.0.6.M4/overview-summary.html]? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (GROOVY-8318) Implement Groovy Template Engine For Spring 5
[ https://issues.apache.org/jira/browse/GROOVY-8318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16167177#comment-16167177 ] Jason Yu commented on GROOVY-8318: -- I'm sorry that I didn't explained. Spring 5 announce WebFlux module. It has MVC architecture just similar to WebMVC module. But it based on reactive programming (Reactor 3), unlike WebMVC has official support for several kinds of template engines (see [this link|https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc/src/main/java/org/springframework/web/servlet/view]). The WebFlux only keep Freemarker support as a reference implementation (see [this link|https://github.com/spring-projects/spring-framework/tree/master/spring-webflux/src/main/java/org/springframework/web/reactive/result/view]). I have tried to migrate groovy template's implementation from WebMVC to WebFlux and open PR for [this issue|https://jira.spring.io/browse/SPR-15850]. But Spring team want to reduce third-party dependencies (see [this comment|https://jira.spring.io/browse/SPR-13795?focusedCommentId=130460=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-130460]). They recommend me moving my PR implementation to its own project. Just like Thymleaf thrive without an "official" support provided by the Framework itself. I'm not sure that Groovy itself may not be the best place for this implementation. > Implement Groovy Template Engine For Spring 5 > - > > Key: GROOVY-8318 > URL: https://issues.apache.org/jira/browse/GROOVY-8318 > Project: Groovy > Issue Type: Wish >Reporter: Jason Yu >Priority: Minor > > I have created a relative [issue|https://jira.spring.io/browse/SPR-15850] on > Spring's Jira. But they recommend that template engines support their own > infrastructure ([this > comment|https://jira.spring.io/browse/SPR-15850?focusedCommentId=154052=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-154052]). > Could Groovy provide corresponding package just like > [thymeleaf-spring5|http://www.thymeleaf.org/apidocs/thymeleaf-spring5/3.0.6.M4/overview-summary.html]? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (GROOVY-8318) Implement Groovy Template Engine For Spring 5
[ https://issues.apache.org/jira/browse/GROOVY-8318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16166748#comment-16166748 ] Jochen Theodorou commented on GROOVY-8318: -- In http://www.baeldung.com/spring-template-engines chapter 6 it explains how to use the Groovy Markup Template Engine... Can you explain the difference between that and what this issue is about? For example: Would that approach not work in Spring 5? Would we not want this? > Implement Groovy Template Engine For Spring 5 > - > > Key: GROOVY-8318 > URL: https://issues.apache.org/jira/browse/GROOVY-8318 > Project: Groovy > Issue Type: Wish >Reporter: Jason Yu >Priority: Minor > > I have created a relative [issue|https://jira.spring.io/browse/SPR-15850] on > Spring's Jira. But they recommend that template engines support their own > infrastructure ([this > comment|https://jira.spring.io/browse/SPR-15850?focusedCommentId=154052=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-154052]). > Could Groovy provide corresponding package just like > [thymeleaf-spring5|http://www.thymeleaf.org/apidocs/thymeleaf-spring5/3.0.6.M4/overview-summary.html]? -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (GROOVY-7859) Erroneous method pointer expressions pass STC
[ https://issues.apache.org/jira/browse/GROOVY-7859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16165804#comment-16165804 ] Paul King edited comment on GROOVY-7859 at 9/14/17 6:20 AM: The corresponding method reference equivalents using the Parrot parser suffer from the same errors: {code} x = 'abc'::bar x = String::length x = String::size {code} This is to be expected given the current implementation. was (Author: paulk): The corresponding method reference equivalent using the Parrot parser suffer from the same errors: {code} x = 'abc'::bar x = String::length x = String::size {code} This is to be expected given the current implementation. > Erroneous method pointer expressions pass STC > - > > Key: GROOVY-7859 > URL: https://issues.apache.org/jira/browse/GROOVY-7859 > Project: Groovy > Issue Type: Bug > Components: Static Type Checker >Affects Versions: 2.4.7 >Reporter: Shil Sinha >Assignee: Shil Sinha > > Method pointer expressions are not type checked (with STC enabled). The > following example should not compile for a number of reasons: > {code} > @groovy.transform.TypeChecked > void test() { > def x = 'abc'. //bar is not a String method > x() // groovy.lang.MissingMethodException > x = String. //length is a non-static method > x() // java.lang.IllegalArgumentException: object is not an instance of > declaring class > x = String. //size is a non-static extension method > x() // java.lang.ClassCastException: java.lang.Class cannot be cast to > java.lang.String > } > test() > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (GROOVY-7859) Erroneous method pointer expressions pass STC
[ https://issues.apache.org/jira/browse/GROOVY-7859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16165804#comment-16165804 ] Paul King commented on GROOVY-7859: --- The corresponding method reference equivalent using the Parrot parser suffer from the same errors: {code} x = 'abc'::bar x = String::length x = String::size {code} This is to be expected given the current implementation. > Erroneous method pointer expressions pass STC > - > > Key: GROOVY-7859 > URL: https://issues.apache.org/jira/browse/GROOVY-7859 > Project: Groovy > Issue Type: Bug > Components: Static Type Checker >Affects Versions: 2.4.7 >Reporter: Shil Sinha >Assignee: Shil Sinha > > Method pointer expressions are not type checked (with STC enabled). The > following example should not compile for a number of reasons: > {code} > @groovy.transform.TypeChecked > void test() { > def x = 'abc'. //bar is not a String method > x() // groovy.lang.MissingMethodException > x = String. //length is a non-static method > x() // java.lang.IllegalArgumentException: object is not an instance of > declaring class > x = String. //size is a non-static extension method > x() // java.lang.ClassCastException: java.lang.Class cannot be cast to > java.lang.String > } > test() > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)