You must import a declaration file for the Annotations:
package whatever_package_you_like;
public class MergeSmali
{
/* Use to mark classes as modifying an existing class */
public @interface Modify { String value() default ""; }
/* Use to mark classes, methods or fields as require to be present */
public @interface Require { String value() default ""; }
/* Use to mark new classes, methods or fields to replace existing */
public @interface Replace { String value() default ""; }
/* Use to mark new classes, methods or fields to be inserted */
public @interface Insert { String value() default ""; }
/* Use to mark existing classes, methods or fields to be deleted as unused */
public @interface Delete { String value() default ""; }
/* Use to mark dummy constructors as not relevant */
public @interface Ignore { String value() default ""; }
}
Here is an example of how you would markup your source Java for the patch:
import whatever_package_you_like.MergeSmali.*;
@Modify
public class Heatsink
{
@Require
public static final double IDLE = 1e6;
@Ignore
public Heatsink() {}
@Replace
double getPowerLoss(int time)
{
return(IDLE);
}
}