[infinispan-issues] [JBoss JIRA] (IPROTO-113) Generated marshallers for Interface enums don't compile

Nistor Adrian (Jira) issues at jboss.org
Mon Sep 23 05:41:07 EDT 2019


     [ https://issues.jboss.org/browse/IPROTO-113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nistor Adrian updated IPROTO-113:
---------------------------------
        Status: Resolved  (was: Pull Request Sent)
    Resolution: Done


integrated in master

> Generated marshallers for Interface enums don't compile
> -------------------------------------------------------
>
>                 Key: IPROTO-113
>                 URL: https://issues.jboss.org/browse/IPROTO-113
>             Project: Infinispan ProtoStream
>          Issue Type: Bug
>    Affects Versions: 4.3.0.Alpha11
>            Reporter: Ryan Emerson
>            Assignee: Nistor Adrian
>            Priority: Major
>             Fix For: 4.3.0.Alpha12
>
>
> For example:
> {code:java}
> public interface User {
>    enum Gender {
>       @ProtoEnumValue(number = 1)
>       MALE,
>       @ProtoEnumValue(number = 2)
>       FEMALE
>    }
> }
> {code}
> The generated marshaller does not compile as it tries to access Gender via '$' instead of '.'.
> {code:java}
> public final class Gender$___Marshaller_50930fab395a4317bcf1c7a7787bb360b5248d1517560bce47017d9c5477c52a implements org.infinispan.protostream.EnumMarshaller<org.infinispan.query.dsl.embedded.testdomain.User.Gender> {
>    @Override
>    public Class<org.infinispan.query.dsl.embedded.testdomain.User.Gender> getJavaClass() { return org.infinispan.query.dsl.embedded.testdomain.User.Gender.class; }
>    
>    @Override
>    public String getTypeName() { return "org.infinispan.test.query.Gender"; }
>    
>    @Override
>    public org.infinispan.query.dsl.embedded.testdomain.User.Gender decode(int $1) {
>       switch ($1) {
>          case 1: return org.infinispan.query.dsl.embedded.testdomain.User$Gender.MALE;
>          case 2: return org.infinispan.query.dsl.embedded.testdomain.User$Gender.FEMALE;
>          default: return null;
>       }
>    }
>    
>    @Override
>    public int encode(org.infinispan.query.dsl.embedded.testdomain.User.Gender $1) throws IllegalArgumentException {
>       switch ($1.ordinal()) {
>          case 0: return 1;
>          case 1: return 2;
>          default: throw new IllegalArgumentException("Unexpected org.infinispan.query.dsl.embedded.testdomain.User.Gender enum value : " + $1.name());
>       }
>    }
> {code}



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the infinispan-issues mailing list