// Phase 2 step 2.2 (PLAN-FFI.md): xfail then green for the instance // method body item inside a `#jni_class` declaration. // // `name :: (self: *Self, args...) -> Ret;` is the shape — semicolon // terminated (foreign declaration, no body). The 2.1 parser only // accepts an empty body; step 2.2 extends `parseJniClassDecl` to // loop over body items and collect method declarations. #import "modules/std.sx"; // `Self` here refers to the enclosing `View` type — resolved at // 2.x sema, not at parse time. View :: #foreign #jni_class("android/view/View") { getId :: (self: *Self) -> s32; } main :: () -> s32 { print("parse-only ok\n"); 0; }