Skip to content

Commit 07a8ff1

Browse files
java2swift: add non-optional as function for superclassess
to `JavaClassMacro` - enhance the docs
1 parent 66b960e commit 07a8ff1

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

Sources/JavaKitMacros/JavaClassMacro.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,9 @@ extension JavaClassMacro: MemberMacro {
8888
"""
8989

9090
let nonOptionalAs: DeclSyntax = """
91-
/// It's not checking anything.
92-
public func `as`<OtherClass: AnyJavaObject>(_: OtherClass.Type) -> OtherClass {
93-
return OtherClass(javaHolder: javaHolder)
91+
/// Casting to <\(raw: superclass)> will never be nil because <\(raw: className.split(separator: ".").last!)> extends it.
92+
public func `as`(_: \(raw: superclass)) -> \(raw: superclass) {
93+
return \(raw: superclass)(javaHolder: javaHolder)
9494
}
9595
"""
9696

Tests/JavaKitMacroTests/JavaClassMacroTests.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,9 @@ class JavaKitMacroTests: XCTestCase {
7979
self.javaHolder = javaHolder
8080
}
8181
82-
/// It's not checking anything.
83-
public func `as`<OtherClass: AnyJavaObject>(_: OtherClass.Type) -> OtherClass {
84-
return OtherClass(javaHolder: javaHolder)
82+
/// Casting to <JavaObject> will never be nil because <HelloWorld> extends it.
83+
public func `as`(_: JavaObject) -> JavaObject {
84+
return JavaObject(javaHolder: javaHolder)
8585
}
8686
}
8787
""",

0 commit comments

Comments
 (0)