45 lines
590 B
Plaintext
45 lines
590 B
Plaintext
# @TEST-EXEC: ${HILTIC} -j %INPUT foo.hlt bar.hlt >output
|
|
# @TEST-EXEC: btest-diff output
|
|
|
|
@TEST-START-FILE foo.hlt
|
|
|
|
module Foo {
|
|
|
|
import hilti;
|
|
|
|
public type E = exception;
|
|
|
|
declare public hook void f1();
|
|
|
|
public hook void f1() &priority=5 { hilti::print("Foo: f1"); }
|
|
|
|
}
|
|
|
|
@TEST-END-FILE
|
|
|
|
@TEST-START-FILE bar.hlt
|
|
|
|
module Bar {
|
|
|
|
import hilti;
|
|
import Foo;
|
|
|
|
hook void Foo::f1() { hilti::print("Bar: f1"); throw Foo::E("Bar::f1"); }
|
|
|
|
}
|
|
|
|
@TEST-END-FILE
|
|
|
|
module Test {
|
|
|
|
import hilti;
|
|
import Foo;
|
|
|
|
try {
|
|
Foo::f1();
|
|
} catch ( Foo::E e ) {
|
|
hilti::print(("Caught: ", e.description()));
|
|
}
|
|
|
|
}
|