diff --git a/interface/src/main/java/xsbti/AnalysisCallback.java b/interface/src/main/java/xsbti/AnalysisCallback.java
index 2372a408b..4db5f28c3 100644
--- a/interface/src/main/java/xsbti/AnalysisCallback.java
+++ b/interface/src/main/java/xsbti/AnalysisCallback.java
@@ -9,6 +9,8 @@ public interface AnalysisCallback
{
/** The names of classes that the analyzer should find subclasses of.*/
public String[] superclassNames();
+ /** The names of annotations that the analyzer should look for on methods and classes.*/
+ public String[] annotationNames();
/** Called when the the given superclass could not be found on the classpath by the compiler.*/
public void superclassNotFound(String superclassName);
/** Called before the source at the given location is processed. */
@@ -16,6 +18,8 @@ public interface AnalysisCallback
/** Called when the a subclass of one of the classes given in superclassNames is
* discovered.*/
public void foundSubclass(File source, String subclassName, String superclassName, boolean isModule);
+ /** Called when an annotation with name annotationName is found on a class or one of its methods.*/
+ public void foundAnnotated(File source, String className, String annotationName, boolean isModule);
/** Called to indicate that the source file source depends on the source file
* dependsOn. Note that only source files included in the current compilation will
* passed to this method. Dependencies on classes generated by sources not in the current compilation will