blob: c808b333ca71671b83d5a35c4ea5f46497f5037c [file] [log] [blame]
library test.name;
// This file tests that all the bindings respect BindingsDenylist, and that the
// attribute works on all declaration kinds. Each binding should include the
// AllBindings constant and one other declaration. The associations are chosen
// to make this work (e.g. libfuzzer needs to have a protocol, only certain
// bindings emit anything for an empty service, etc.).
[BindingsDenylist = "there_are_no_bindings_with_this_name"]
const uint32 AllBindings = 0;
[BindingsDenylist = "cpp, dart, go, libfuzzer, llcpp, rust"]
bits OnlySyzkaller {
A = 1;
};
[BindingsDenylist = "cpp, go, libfuzzer, llcpp, rust, syzkaller"]
enum OnlyDart {
A = 1;
};
[BindingsDenylist = "cpp, dart, libfuzzer, llcpp, rust, syzkaller"]
struct OnlyGo {
};
[BindingsDenylist = "cpp, dart, go, libfuzzer, llcpp, syzkaller"]
table OnlyRust {
};
[BindingsDenylist = "cpp, dart, go, libfuzzer, rust, syzkaller"]
union OnlyLlcpp {
1: uint32 x;
};
[BindingsDenylist = "cpp, dart, go, llcpp, rust, syzkaller"]
protocol OnlyLibfuzzer {
LibfuzzerNeedsNonemptyProtocol() -> ();
};
[BindingsDenylist = "dart, go, libfuzzer, llcpp, rust, syzkaller"]
service OnlyHlcpp {
};