Suppress 'default' modifier on interface method? [message #1809194] |
Thu, 11 July 2019 04:52  |
Eclipse User |
|
|
|
I'm quite new to XText, having just breathed life into my first XText/XBase generator. I'm attempting to generate a Java interface, and it _nearly_ works - great! However it's generating all methods with the 'default' modifier, despite attempting to suppress this by setting the 'default' property to false in the inferrer. I'm doing something like (code annonymised )
acceptor.accept(someType.toInterface("my.package." + someType.name, [])) [
//...
val type = typeRef(String)
val propertyName = "somePropertyName"
val getter = someType.toGetter(propertyName, type)
getter.removeExistingBody()
val setter = someType.toSetter(propertyName, type)
setter.removeExistingBody()
getter.^default = false
setter.^default = false
members += getter
members += setter
System.err.println("members: " + members)
]
]
It appears to set the default property successfully:
members: [JvmOperation: my.package.SomeType.getSomePropertyName() (visibility: PUBLIC, simpleName: getSomePropertyName, identifier: my.package.SomeType.getSomePropertyName(), deprecated: <unset>) (varArgs: false) (static: false, final: false, abstract: false, synchronized: false, default: false, native: false, strictFloatingPoint: false),...
Yet the generated code results in a method with the default modifier:
public default String getSomeProperty();
Can anyone suggest what I'm doing wrong? Thanks in advance for any assistance.
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03139 seconds