ffi 2.0: xfail parser test for Foo :: #jni_class(...) { ... }
Today's parser doesn't recognize #jni_class as a hash directive after `::`, so it falls through to expression parsing and errors at the `#` token. Step 2.1 extends parseConstBinding to accept the directive (opaque on empty body) and re-snapshots this file to green.
This commit is contained in:
18
examples/ffi-jni-class-01-empty.sx
Normal file
18
examples/ffi-jni-class-01-empty.sx
Normal file
@@ -0,0 +1,18 @@
|
||||
// Phase 2 step 2.0 (PLAN-FFI.md): xfail parser test for the
|
||||
// type-introducer `Foo :: #jni_class("java/path/Foo") { }` directive.
|
||||
//
|
||||
// Today's parser doesn't recognize `#jni_class` as a known hash
|
||||
// directive after `::`, so it falls through to expression parsing
|
||||
// and fails at the `#` token. Step 2.1 (next commit) extends
|
||||
// `parseConstBinding` to accept the directive, treat an empty body
|
||||
// as an opaque forward declaration, and re-snapshots this file to
|
||||
// capture the green behavior.
|
||||
|
||||
#import "modules/std.sx";
|
||||
|
||||
Foo :: #jni_class("java/path/Foo") { }
|
||||
|
||||
main :: () -> s32 {
|
||||
print("parse-only ok\n");
|
||||
0;
|
||||
}
|
||||
1
tests/expected/ffi-jni-class-01-empty.exit
Normal file
1
tests/expected/ffi-jni-class-01-empty.exit
Normal file
@@ -0,0 +1 @@
|
||||
1
|
||||
1
tests/expected/ffi-jni-class-01-empty.txt
Normal file
1
tests/expected/ffi-jni-class-01-empty.txt
Normal file
@@ -0,0 +1 @@
|
||||
/Users/agra/projects/sx/examples/ffi-jni-class-01-empty.sx:13:8: error: unexpected token in expression
|
||||
Reference in New Issue
Block a user