diff --git a/ICSharpCode.NRefactory/TypeSystem/IAnnotatable.cs b/ICSharpCode.NRefactory/TypeSystem/IAnnotatable.cs
index e6552b79bf..c7f8e7c238 100644
--- a/ICSharpCode.NRefactory/TypeSystem/IAnnotatable.cs
+++ b/ICSharpCode.NRefactory/TypeSystem/IAnnotatable.cs
@@ -21,7 +21,8 @@ namespace ICSharpCode.NRefactory
}
///
- /// Gets an typed annotation..
+ /// Gets the first annotation of the specified type.
+ /// Returns null if no matching annotation exists.
///
///
/// The type of the annotation.
@@ -29,7 +30,8 @@ namespace ICSharpCode.NRefactory
T Annotation () where T: class;
///
- /// Gets an annotation.
+ /// Gets the first annotation of the specified type.
+ /// Returns null if no matching annotation exists.
///
///
/// The type of the annotation.
@@ -45,15 +47,23 @@ namespace ICSharpCode.NRefactory
void AddAnnotation (object annotation);
///
- /// Removes an annotation from this instance.
+ /// Removes all annotations of the specified type.
///
///
- /// The annotation to remove.
+ /// The type of the annotations to remove.
///
void RemoveAnnotations () where T : class;
+
+ ///
+ /// Removes all annotations of the specified type.
+ ///
+ ///
+ /// The type of the annotations to remove.
+ ///
+ void RemoveAnnotations(Type type);
}
- public abstract class AbstractAnnotatable
+ public abstract class AbstractAnnotatable : IAnnotatable
{
// Annotations: points either null (no annotations), to the single annotation,
// or to an AnnotationList.