@@ -23,24 +23,35 @@ class JavaKitMacroTests: XCTestCase {
2323 static let javaKitMacros : [ String : any Macro . Type ] = [
2424 " JavaClass " : JavaClassMacro . self,
2525 " JavaMethod " : JavaMethodMacro . self,
26- " JavaField " : JavaFieldMacro . self
26+ " JavaField " : JavaFieldMacro . self,
27+ " JavaStaticField " : JavaFieldMacro . self
2728 ]
2829
2930 func testJavaStaticMethodFailure( ) throws {
3031 assertMacroExpansion (
3132 """
3233 @JavaClass( " org.swift.example.HelloWorld " )
33- public struct HelloWorld {
34- @JavaStaticMethod
35- public init(environment: JNIEnvironment? = nil)
34+ public class HelloWorld {
35+ @JavaStaticField
36+ public var test: String
3637 }
3738 """ ,
3839 expandedSource: """
39-
40- public struct HelloWorld {
40+
41+ public class HelloWorld {
42+ public var test: String
43+
44+ /// The full Java class name for this Swift type.
45+ open override class var fullJavaClassName: String {
46+ " org.swift.example.HelloWorld "
47+ }
48+
49+ public required init(javaHolder: JavaObjectHolder) {
50+ super.init(javaHolder: javaHolder)
51+ }
4152 }
4253 """ ,
43- diagnostics: [ DiagnosticSpec ( message: " " , line: 0 , column: 0 ) ] ,
54+ diagnostics: [ DiagnosticSpec ( message: " Cannot use @JavaStaticField outside of a JavaClass instance " , line: 3 , column: 5 ) ] ,
4455 macros: Self . javaKitMacros
4556 )
4657 }
0 commit comments