You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Daniel Sun (JIRA)" <ji...@apache.org> on 2017/02/08 08:06:41 UTC

[jira] [Updated] (GROOVY-8083) Fails to implement interface

     [ https://issues.apache.org/jira/browse/GROOVY-8083?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Sun updated GROOVY-8083:
-------------------------------
    Description: 
I tried to extend GroovyCodeVisitor to support visiting lambda expression, but AstNodeToScriptVisitor fails to implement the interface GroovyCodeVisitor. 

Even if visitLambdaExpression is implemented by AstNodeToScriptVisitor, but still failed to compile, so I have to provide a default implementation for visitLambdaExpression method...

Error messages( https://travis-ci.org/danielsun1106/groovy/builds/199517082 ):
{code}
/home/travis/build/danielsun1106/groovy/subprojects/groovy-parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/util/AstDumper.groovy: 85: Can't have an abstract method in a non-abstract class. The class 'org.apache.groovy.parser.antlr4.util.AstNodeToScriptVisitor' must be declared abstract or the method 'void visitLambdaExpression(org.codehaus.groovy.ast.expr.LambdaExpression)' must be implemented.

 @ line 85, column 1.

   class AstNodeToScriptVisitor extends CompilationUnit.PrimaryClassNodeOperation implements GroovyCodeVisitor, GroovyClassVisitor {

   ^

1 error

 FAILED
{code}

  was:
I tried to extend GroovyCodeVisitor to support visiting lambda expression, but AstNodeToScriptVisitor fails to implement the interface GroovyCodeVisitor. 

Even if visitLambdaExpression is implemented by AstNodeToScriptVisitor, but still failed to compile, so I have to provide a default implementation for visitLambdaExpression method...

Error messages(https://travis-ci.org/danielsun1106/groovy/builds/199517082):
/home/travis/build/danielsun1106/groovy/subprojects/groovy-parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/util/AstDumper.groovy: 85: Can't have an abstract method in a non-abstract class. The class 'org.apache.groovy.parser.antlr4.util.AstNodeToScriptVisitor' must be declared abstract or the method 'void visitLambdaExpression(org.codehaus.groovy.ast.expr.LambdaExpression)' must be implemented.

 @ line 85, column 1.

   class AstNodeToScriptVisitor extends CompilationUnit.PrimaryClassNodeOperation implements GroovyCodeVisitor, GroovyClassVisitor {

   ^

1 error

 FAILED


> Fails to implement interface
> ----------------------------
>
>                 Key: GROOVY-8083
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8083
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 3.0
>         Environment: java version "1.8.0_121"
>            Reporter: Daniel Sun
>
> I tried to extend GroovyCodeVisitor to support visiting lambda expression, but AstNodeToScriptVisitor fails to implement the interface GroovyCodeVisitor. 
> Even if visitLambdaExpression is implemented by AstNodeToScriptVisitor, but still failed to compile, so I have to provide a default implementation for visitLambdaExpression method...
> Error messages( https://travis-ci.org/danielsun1106/groovy/builds/199517082 ):
> {code}
> /home/travis/build/danielsun1106/groovy/subprojects/groovy-parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/util/AstDumper.groovy: 85: Can't have an abstract method in a non-abstract class. The class 'org.apache.groovy.parser.antlr4.util.AstNodeToScriptVisitor' must be declared abstract or the method 'void visitLambdaExpression(org.codehaus.groovy.ast.expr.LambdaExpression)' must be implemented.
>  @ line 85, column 1.
>    class AstNodeToScriptVisitor extends CompilationUnit.PrimaryClassNodeOperation implements GroovyCodeVisitor, GroovyClassVisitor {
>    ^
> 1 error
>  FAILED
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)