diff --git a/interface/definition b/interface/definition index 9220a9a0e..2dcd4025b 100644 --- a/interface/definition +++ b/interface/definition @@ -14,8 +14,8 @@ Definition returnType: Type ClassLike definitionType: DefinitionType - selfType: Type - structure: Structure + selfType: ~Type + structure: ~Structure TypeMember TypeAlias tpe: Type diff --git a/interface/other b/interface/other index 3ef1d4461..bba27dc7f 100644 --- a/interface/other +++ b/interface/other @@ -20,13 +20,11 @@ Qualifier Modifiers isAbstract: Boolean - isDeferred: Boolean isOverride: Boolean isFinal: Boolean isSealed: Boolean isImplicit: Boolean isLazy: Boolean - isSynthetic: Boolean ParameterList parameters: MethodParameter* diff --git a/interface/src/main/java/xsbti/api/Lazy.java b/interface/src/main/java/xsbti/api/Lazy.java new file mode 100644 index 000000000..4a5642a01 --- /dev/null +++ b/interface/src/main/java/xsbti/api/Lazy.java @@ -0,0 +1,9 @@ +/* sbt -- Simple Build Tool + * Copyright 2008, 2009 Mark Harrah + */ +package xsbti.api; + +public interface Lazy +{ + T get(); +} \ No newline at end of file diff --git a/interface/type b/interface/type index c516b62b9..a605f4cd4 100644 --- a/interface/type +++ b/interface/type @@ -3,7 +3,7 @@ Type SimpleType Projection prefix : SimpleType - id : String + id: String ParameterRef id: Int Singleton @@ -16,9 +16,9 @@ Type baseType : SimpleType annotations : Annotation* Structure - parents : Type* - declared: Definition* - inherited: Definition* + parents : ~Type* + declared: ~Definition* + inherited: ~Definition* Existential baseType : Type clause: TypeParameter* diff --git a/util/collection/Relation.scala b/util/collection/Relation.scala index ed6046f6e..a282bf7e2 100644 --- a/util/collection/Relation.scala +++ b/util/collection/Relation.scala @@ -38,7 +38,9 @@ trait Relation[A,B] def _1s: collection.Set[A] /** Returns the set of all _2s such that (_1, _2) is in this relation. */ def _2s: collection.Set[B] - + /** Returns the number of pairs in this relation */ + def size: Int + /** Returns all pairs in this relation.*/ def all: Traversable[(A,B)] @@ -57,6 +59,8 @@ private final class MRelation[A,B](fwd: Map[A, Set[B]], rev: Map[B, Set[A]]) ext def _1s = fwd.keySet def _2s = rev.keySet + + def size = fwd.size def all: Traversable[(A,B)] = fwd.iterator.flatMap { case (a, bs) => bs.iterator.map( b => (a,b) ) }.toTraversable