package ceylon.language;

import com.redhat.ceylon.compiler.java.metadata.CaseTypes;
import com.redhat.ceylon.compiler.java.metadata.Ceylon;
import com.redhat.ceylon.compiler.java.metadata.Name;
import com.redhat.ceylon.compiler.java.metadata.SatisfiedTypes;
import com.redhat.ceylon.compiler.java.metadata.TypeParameter;
import com.redhat.ceylon.compiler.java.metadata.TypeParameters;

@Ceylon
@TypeParameters(@TypeParameter(value = "Other",
    		satisfies="ceylon.language.Numeric<Other>"))
@SatisfiedTypes({"ceylon.language.Summable<Other>",
		         "ceylon.language.Invertable<Other>"})
@CaseTypes(of = "Other")
public interface Numeric<Other extends Numeric<Other>> 
    extends Summable<Other>, Invertable<Other> {
	
	public Other minus(@Name("other") Other number);
    public Other times(@Name("other") Other number);
    public Other divided(@Name("other") Other number);
    
}

@@ -19,16 +19,137 @@
 guage;%0A%0A
+import com.redhat.ceylon.compiler.java.metadata.Annotation;%0Aimport com.redhat.ceylon.compiler.java.metadata.Annotations;%0A
 import c
@@ -841,16 +841,56 @@
 er%3E %7B%0A%09%0A
+    @Annotations(@Annotation(%22formal%22))%0A
 %09public 
@@ -923,32 +923,77 @@
  Other number);%0A
+    %0A    @Annotations(@Annotation(%22formal%22))%0A
     public Other
@@ -1025,24 +1025,69 @@
 er number);%0A
+    %0A    @Annotations(@Annotation(%22formal%22))%0A
     public O

add missing annotations