codegen: Fix floating reference regression with Variants
[vala-gnome.git] / tests / asynchronous / bug614294.vala
blob34c50a277a6e092977ced08b0413b6c8bc697885
1 interface IFoo : Object {
2 public abstract async void foo_async () throws Error;
3 public abstract void foo () throws Error;
6 class Bar : Object, IFoo {
7 public virtual async void foo_async () {
9 public virtual void foo () {
13 class SubBar : Bar {
14 public override async void foo_async () {
16 public override void foo () {
20 abstract class AFoo : Object {
21 public abstract async void foo_async () throws Error;
22 public abstract void foo () throws Error;
25 class Baz : AFoo {
26 public override async void foo_async () {
28 public override void foo () {
32 class SubBaz : Baz {
33 public override async void foo_async () {
35 public override void foo () {
39 async void run () {
40 var bar = new Bar ();
41 bar.foo ();
42 yield bar.foo_async ();
44 var subbar = new SubBar ();
45 subbar.foo ();
46 yield subbar.foo_async ();
48 var baz = new Baz ();
49 baz.foo ();
50 yield bar.foo_async ();
52 var subbaz = new SubBaz ();
53 subbaz.foo ();
54 yield subbaz.foo_async ();
57 void main () {
58 run.begin ();