You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by "Drew Nuttall-Smith (Jira)" <ji...@apache.org> on 2023/05/26 01:06:00 UTC

[jira] [Commented] (TINKERPOP-2952) Error when overriding DSL methods

    [ https://issues.apache.org/jira/browse/TINKERPOP-2952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17726435#comment-17726435 ] 

Drew Nuttall-Smith commented on TINKERPOP-2952:
-----------------------------------------------

Hey Stephen, thanks for your response.

This is how I've defined it:

{{    @Override}}
{{    public default <E2> GraphTraversal<S, ? extends Property<E2>> properties(final String... propertyKeys) {}}{{    ...}}{{    }}}

 

Where can I find your example?

> Error when overriding DSL methods
> ---------------------------------
>
>                 Key: TINKERPOP-2952
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-2952
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: process
>    Affects Versions: 3.6.2
>            Reporter: Drew Nuttall-Smith
>            Priority: Major
>
> I'm implementing a custom gremlin DSL in java, and due to some interesting requirements, I'm trying to override the `properties` method from the GraphTraversal class.
>  
> Doing so results in a compilation error (see below) due to the method already being defined. It looks like the DSL code generation is loading in the custom methods, and then loading in the built in methods and the `@Override` annotation is ignored.
>  
>  
> Error:
> {{[ERROR] /Users/drewnuttall-smith/Documents/work/projects/compliance/dm-mettle-nextgen-compliance/target/generated-sources/annotations/com/datamigrators/mettle/compliance/gremlin/dsl/DatastageTraversal.java:[223,62] method <E2>properties(java.lang.String...) is already defined in interface com.datamigrators.mettle.compliance.gremlin.dsl.DatastageTraversal}}
> {{[ERROR] /Users/drewnuttall-smith/Documents/work/projects/compliance/dm-mettle-nextgen-compliance/target/generated-sources/annotations/com/datamigrators/mettle/compliance/gremlin/dsl/__.java:[192,85] name clash: <A,B>properties(java.lang.String...) and <E2,S>properties(java.lang.String...) have the same erasure}}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)