package ceylon.language;

import com.redhat.ceylon.compiler.java.metadata.Annotation;
import com.redhat.ceylon.compiler.java.metadata.Annotations;
import com.redhat.ceylon.compiler.java.metadata.Ceylon;
import com.redhat.ceylon.compiler.java.metadata.Name;
import com.redhat.ceylon.compiler.java.metadata.TypeInfo;

@Ceylon(major = 3)
public interface Closeable {

    @Annotations(@Annotation("formal"))
    void open();

    @Annotations(@Annotation("formal"))
    void close(@Name("exception") 
    @TypeInfo("ceylon.language.Nothing|ceylon.language.Exception") 
    java.lang.Throwable exception);
}

@@ -406,70 +406,170 @@
     
-void open();%0A%0A    @Annotations(@Annotation(%22formal%22))%0A    void
+@TypeInfo(%22ceylon.language.Void%22)%0A    java.lang.Object open();%0A%0A    @Annotations(@Annotation(%22formal%22))%0A    @TypeInfo(%22ceylon.language.Void%22)%0A    java.lang.Object
  clo

Fix the void-ness of Closeable, see ceylon/ceylon-compiler#704