diff --git a/interface/definition b/interface/definition new file mode 100644 index 000000000..33cb55aec --- /dev/null +++ b/interface/definition @@ -0,0 +1,110 @@ +Type + SimpleType + Projection + prefix : SimpleType + id : String + ParameterRef + id: Int + Singleton + path: Path + EmptyType + Parameterized + baseType : SimpleType + typeArguments: SimpleType* + Annotated + baseType : SimpleType + annotations : Annotation* + Structure + parents : Type* + declarations: Definition* + Existential + baseType : Type + clause: TypeParameter* + +Source + packages : Package* + definitions: Definition* + +Package + name: String + +Definition + name: String + access: Access + modifiers: Modifiers + FieldLike + tpe : Type + Val + Var + ParameterizedDefinition + typeParameters: TypeParameter* + Def + valueParameters: ParameterList* + returnType: Type + ClassLike + definitionType: DefinitionType + selfType: Type + structure: Structure + TypeMember + TypeAlias + tpe: Type + TypeDeclaration + upperBound: Type + lowerBound: Type + +Access + Public + Qualified + qualifier: Qualifier + Protected + Private + Pkg + +Qualifier + Unqualified + ThisQualifier + IdQualifier + value: String + +Modifiers + isAbstract: Boolean + isDeferred: Boolean + isOverride: Boolean + isFinal: Boolean + isSealed: Boolean + isImplicit: Boolean + isLazy: Boolean + +ParameterList + parameters: MethodParameter* + isImplicit: Boolean +MethodParameter + name: String + tpe: Type + hasDefault: Boolean + modifier: ParameterModifier + +TypeParameter + id: Int + typeParameters : TypeParameter* + variance: Variance + lowerBound: Type + upperBound: Type + +Annotation + base: SimpleType + arguments: String* + +enum Variance : Contravariant, Covariant, Invariant +enum ParameterModifier : Repeated, Plain, ByName +enum DefinitionType : Trait, ClassDef, Module, PackageModule + +Path + components: PathComponent* + +PathComponent + Super + qualifier: Path + This + Id + id: String \ No newline at end of file diff --git a/interface/src/main/java/xsbti/AnalysisCallback.java b/interface/src/main/java/xsbti/AnalysisCallback.java index 70870965c..4c7bb8689 100644 --- a/interface/src/main/java/xsbti/AnalysisCallback.java +++ b/interface/src/main/java/xsbti/AnalysisCallback.java @@ -34,4 +34,6 @@ public interface AnalysisCallback public void endSource(File sourcePath); /** Called when a module with a public 'main' method with the right signature is found.*/ public void foundApplication(File source, String className); + + public void api(File sourceFile, xsbti.api.Source source); } \ No newline at end of file