svoid test_tok_recordDecls() {
LS tok = jtok("record $HappensBefore$(A event1, B event2) extends Fact {}");
tok_recordDecls(tok);
print(join(tok));
assertTrueVerbose(jMatchStart([[
class $HappensBefore$ extends Fact implements IFieldsToList {
A event1;
B event2;
]], tok));
test_tok_recordDecls_2();
}
// we can omit the field types if the type is Object
svoid test_tok_recordDecls_2() {
LS tok = jtok("record Blubb(a, b) {}");
tok_recordDecls(tok);
print(join(tok));
assertTrueVerbose(jMatchStart([[
class Blubb implements IFieldsToList {
Object a;
Object b;
]], tok));
test_tok_recordDecls_3();
}
// handle existing "implements"
svoid test_tok_recordDecls_3() {
LS tok = jtok("record Blubb implements Bla {}");
tok_recordDecls(tok);
print(join(tok));
assertTrueVerbose(jMatchStart([[
class Blubb implements Bla, IFieldsToList {
]], tok));
test_tok_recordDecls_4();
}
svoid test_tok_recordDecls_4() {
LS tok = jtok("record Blubb extends Bla {}");
tok_recordDecls(tok);
print(join(tok));
assertTrueVerbose(jMatchStart([[
class Blubb extends Bla implements IFieldsToList {
]], tok));
}