Browse Source

Make IParsedFile.LastWriteTime nullable.

Replace IAXmlVisitor interface with AXmlVisitor abstract base class.
newNRvisualizers
Daniel Grunwald 14 years ago
parent
commit
444fe4ebf7
  1. 13
      ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssue.cs
  2. 1
      ICSharpCode.NRefactory.CSharp/Refactoring/DocumentScript.cs
  3. 4
      ICSharpCode.NRefactory.CSharp/TypeSystem/CSharpParsedFile.cs
  4. 2
      ICSharpCode.NRefactory.Xml/AXmlAttribute.cs
  5. 7
      ICSharpCode.NRefactory.Xml/AXmlDocument.cs
  6. 2
      ICSharpCode.NRefactory.Xml/AXmlElement.cs
  7. 2
      ICSharpCode.NRefactory.Xml/AXmlObject.cs
  8. 2
      ICSharpCode.NRefactory.Xml/AXmlTag.cs
  9. 2
      ICSharpCode.NRefactory.Xml/AXmlText.cs
  10. 47
      ICSharpCode.NRefactory.Xml/AXmlVisitor.cs
  11. 2
      ICSharpCode.NRefactory.Xml/ICSharpCode.NRefactory.Xml.csproj
  12. 2
      ICSharpCode.NRefactory/TypeSystem/IParsedFile.cs

13
ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssue.cs

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
//
//
// InspectionIssue.cs
//
//
// Author:
// Mike Krüger <mkrueger@xamarin.com>
//
@ -46,17 +46,20 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -46,17 +46,20 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
private set;
}
public IEnumerable<CodeAction> Actions {
public IList<CodeAction> Actions {
get;
private set;
}
public CodeIssue(string description, TextLocation start, TextLocation end, IEnumerable<CodeAction> action = null)
public CodeIssue(string description, TextLocation start, TextLocation end, IEnumerable<CodeAction> actions = null)
{
Desription = description;
Start = start;
End = end;
Actions = action ?? Enumerable.Empty<CodeAction> ();
if (actions != null)
Actions = actions.ToArray();
else
Actions = EmptyList<CodeAction>.Instance;
}
public CodeIssue(string description, TextLocation start, TextLocation end, CodeAction action) : this (description, start, end, action != null ? new [] { action } : null)

1
ICSharpCode.NRefactory.CSharp/Refactoring/DocumentScript.cs

@ -46,6 +46,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -46,6 +46,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
this.originalDocument = document.CreateDocumentSnapshot();
this.currentDocument = document;
this.options = options;
this.eolMarker = options.EolMarker;
Debug.Assert(currentDocument.Version.CompareAge(originalDocument.Version) == 0);
this.undoGroup = document.OpenUndoGroup();
}

4
ICSharpCode.NRefactory.CSharp/TypeSystem/CSharpParsedFile.cs

@ -73,9 +73,9 @@ namespace ICSharpCode.NRefactory.CSharp.TypeSystem @@ -73,9 +73,9 @@ namespace ICSharpCode.NRefactory.CSharp.TypeSystem
get { return fileName; }
}
DateTime lastWriteTime = DateTime.UtcNow;
DateTime? lastWriteTime;
public DateTime LastWriteTime {
public DateTime? LastWriteTime {
get { return lastWriteTime; }
set {
FreezableHelper.ThrowIfFrozen(this);

2
ICSharpCode.NRefactory.Xml/AXmlAttribute.cs

@ -104,7 +104,7 @@ namespace ICSharpCode.NRefactory.Xml @@ -104,7 +104,7 @@ namespace ICSharpCode.NRefactory.Xml
}
/// <inheritdoc/>
public override void AcceptVisitor(IAXmlVisitor visitor)
public override void AcceptVisitor(AXmlVisitor visitor)
{
visitor.VisitAttribute(this);
}

7
ICSharpCode.NRefactory.Xml/AXmlDocument.cs

@ -45,7 +45,7 @@ namespace ICSharpCode.NRefactory.Xml @@ -45,7 +45,7 @@ namespace ICSharpCode.NRefactory.Xml
}
/// <inheritdoc/>
public override void AcceptVisitor(IAXmlVisitor visitor)
public override void AcceptVisitor(AXmlVisitor visitor)
{
visitor.VisitDocument(this);
}
@ -55,5 +55,10 @@ namespace ICSharpCode.NRefactory.Xml @@ -55,5 +55,10 @@ namespace ICSharpCode.NRefactory.Xml
{
return string.Format(CultureInfo.InvariantCulture, "[{0} Chld:{1}]", base.ToString(), this.Children.Count);
}
/// <summary>
/// Represents an empty document.
/// </summary>
public readonly static AXmlDocument Empty = new AXmlDocument(null, 0, new InternalDocument());
}
}

2
ICSharpCode.NRefactory.Xml/AXmlElement.cs

@ -164,7 +164,7 @@ namespace ICSharpCode.NRefactory.Xml @@ -164,7 +164,7 @@ namespace ICSharpCode.NRefactory.Xml
}
/// <inheritdoc/>
public override void AcceptVisitor(IAXmlVisitor visitor)
public override void AcceptVisitor(AXmlVisitor visitor)
{
visitor.VisitElement(this);
}

2
ICSharpCode.NRefactory.Xml/AXmlObject.cs

@ -179,7 +179,7 @@ namespace ICSharpCode.NRefactory.Xml @@ -179,7 +179,7 @@ namespace ICSharpCode.NRefactory.Xml
#endregion
/// <summary> Call appropriate visit method on the given visitor </summary>
public abstract void AcceptVisitor(IAXmlVisitor visitor);
public abstract void AcceptVisitor(AXmlVisitor visitor);
/// <summary>
/// Gets the start offset of the segment.

2
ICSharpCode.NRefactory.Xml/AXmlTag.cs

@ -84,7 +84,7 @@ namespace ICSharpCode.NRefactory.Xml @@ -84,7 +84,7 @@ namespace ICSharpCode.NRefactory.Xml
public bool IsUnknownBang { get { return internalObject.IsUnknownBang; } }
/// <inheritdoc/>
public override void AcceptVisitor(IAXmlVisitor visitor)
public override void AcceptVisitor(AXmlVisitor visitor)
{
visitor.VisitTag(this);
}

2
ICSharpCode.NRefactory.Xml/AXmlText.cs

@ -49,7 +49,7 @@ namespace ICSharpCode.NRefactory.Xml @@ -49,7 +49,7 @@ namespace ICSharpCode.NRefactory.Xml
}
/// <inheritdoc/>
public override void AcceptVisitor(IAXmlVisitor visitor)
public override void AcceptVisitor(AXmlVisitor visitor)
{
visitor.VisitText(this);
}

47
ICSharpCode.NRefactory.Xml/IAXmlVisitor.cs → ICSharpCode.NRefactory.Xml/AXmlVisitor.cs

@ -1,4 +1,4 @@ @@ -1,4 +1,4 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
// software and associated documentation files (the "Software"), to deal in the Software
@ -17,27 +17,46 @@ @@ -17,27 +17,46 @@
// DEALINGS IN THE SOFTWARE.
using System;
using System.Text;
namespace ICSharpCode.NRefactory.Xml
{
/// <summary>
/// Visitor for the XML tree
/// Derive from this class to create visitor for the XML tree
/// </summary>
public interface IAXmlVisitor
public abstract class AXmlVisitor
{
/// <summary> Visit document </summary>
void VisitDocument(AXmlDocument document);
/// <summary> Visit AXmlDocument </summary>
public virtual void VisitDocument(AXmlDocument document)
{
foreach (AXmlObject child in document.Children)
child.AcceptVisitor(this);
}
/// <summary> Visit tag </summary>
void VisitTag(AXmlTag tag);
/// <summary> Visit AXmlElement </summary>
public virtual void VisitElement(AXmlElement element)
{
foreach (AXmlObject child in element.Children)
child.AcceptVisitor(this);
}
/// <summary> Visit attribute </summary>
void VisitAttribute(AXmlAttribute attribute);
/// <summary> Visit AXmlTag </summary>
public virtual void VisitTag(AXmlTag tag)
{
foreach (AXmlObject child in tag.Children)
child.AcceptVisitor(this);
}
/// <summary> Visit text </summary>
void VisitText(AXmlText text);
/// <summary> Visit AXmlAttribute </summary>
public virtual void VisitAttribute(AXmlAttribute attribute)
{
}
/// <summary> Visit element </summary>
void VisitElement(AXmlElement element);
/// <summary> Visit AXmlText </summary>
public virtual void VisitText(AXmlText text)
{
}
}
}
}

2
ICSharpCode.NRefactory.Xml/ICSharpCode.NRefactory.Xml.csproj

@ -68,8 +68,8 @@ @@ -68,8 +68,8 @@
<Compile Include="AXmlReader.cs" />
<Compile Include="AXmlTag.cs" />
<Compile Include="AXmlText.cs" />
<Compile Include="AXmlVisitor.cs" />
<Compile Include="DocumentationElement.cs" />
<Compile Include="IAXmlVisitor.cs" />
<Compile Include="IncrementalParserState.cs" />
<Compile Include="InternalDocument.cs" />
<Compile Include="ObjectIterator.cs" />

2
ICSharpCode.NRefactory/TypeSystem/IParsedFile.cs

@ -34,7 +34,7 @@ namespace ICSharpCode.NRefactory.TypeSystem @@ -34,7 +34,7 @@ namespace ICSharpCode.NRefactory.TypeSystem
/// <summary>
/// Gets the time when the file was last written.
/// </summary>
DateTime LastWriteTime { get; }
DateTime? LastWriteTime { get; set; }
/// <summary>
/// Gets all top-level type definitions.

Loading…
Cancel
Save