From cacbf93200267473db424a37260f5935fb4c0ee7 Mon Sep 17 00:00:00 2001 From: Gerrit 'Geaz' Gazic Date: Sat, 13 Aug 2016 23:33:30 +0200 Subject: [PATCH] ADded Line Numbers --- .../SharpDox.Model/Repository/SDRegion.cs | 24 +++++++++++++++++++ .../Parser/ProjectParser/EventParser.cs | 2 ++ .../Parser/ProjectParser/FieldParser.cs | 2 ++ .../Parser/ProjectParser/MethodParser.cs | 2 ++ .../Parser/ProjectParser/PropertyParser.cs | 2 ++ .../Parser/ProjectParser/TypeParser.cs | 2 ++ 6 files changed, 34 insertions(+) diff --git a/src/Core/SharpDox.Model/Repository/SDRegion.cs b/src/Core/SharpDox.Model/Repository/SDRegion.cs index e9533f03..2112325a 100644 --- a/src/Core/SharpDox.Model/Repository/SDRegion.cs +++ b/src/Core/SharpDox.Model/Repository/SDRegion.cs @@ -39,6 +39,30 @@ public class SDRegion /// public int End { get; set; } + /// + /// + /// Gets or sets the start line of the region. + /// + /// + /// + /// + /// Setzt oder liefert die Startzeile der Region. + /// + /// + public int StartLine { get; set; } + + /// + /// + /// Gets or sets the end line of the region. + /// + /// + /// + /// + /// Setzt oder liefert die Endzeile der Region. + /// + /// + public int EndLine { get; set; } + /// /// /// Gets or sets the file path within the region is defined. diff --git a/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/EventParser.cs b/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/EventParser.cs index f6ca1af7..7501981a 100644 --- a/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/EventParser.cs +++ b/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/EventParser.cs @@ -43,6 +43,8 @@ private SDEvent GetParsedEvent(IEventSymbol eve) Region = syntaxReference != null ? new SDRegion { Start = syntaxReference.Span.Start, + StartLine = syntaxReference.SyntaxTree.GetLineSpan(syntaxReference.Span).StartLinePosition.Line + 1, + EndLine = syntaxReference.SyntaxTree.GetLineSpan(syntaxReference.Span).EndLinePosition.Line + 1, End = syntaxReference.Span.End, FilePath = syntaxReference.SyntaxTree.FilePath, Filename = Path.GetFileName(syntaxReference.SyntaxTree.FilePath) diff --git a/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/FieldParser.cs b/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/FieldParser.cs index bc482360..c36ed9e1 100644 --- a/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/FieldParser.cs +++ b/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/FieldParser.cs @@ -48,6 +48,8 @@ private SDField GetParsedField(IFieldSymbol field) { Start = syntaxReference.Span.Start, End = syntaxReference.Span.End, + StartLine = syntaxReference.SyntaxTree.GetLineSpan(syntaxReference.Span).StartLinePosition.Line + 1, + EndLine = syntaxReference.SyntaxTree.GetLineSpan(syntaxReference.Span).EndLinePosition.Line + 1, FilePath = syntaxReference.SyntaxTree.FilePath, Filename = Path.GetFileName(syntaxReference.SyntaxTree.FilePath) } : null diff --git a/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/MethodParser.cs b/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/MethodParser.cs index 84814bdf..f02e8f5f 100644 --- a/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/MethodParser.cs +++ b/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/MethodParser.cs @@ -76,6 +76,8 @@ private SDMethod GetParsedMethod(IMethodSymbol method, bool isCtor) { Start = syntaxReference.Span.Start, End = syntaxReference.Span.End, + StartLine = syntaxReference.SyntaxTree.GetLineSpan(syntaxReference.Span).StartLinePosition.Line + 1, + EndLine = syntaxReference.SyntaxTree.GetLineSpan(syntaxReference.Span).EndLinePosition.Line + 1, FilePath = syntaxReference.SyntaxTree.FilePath, Filename = Path.GetFileName(syntaxReference.SyntaxTree.FilePath) } : null diff --git a/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/PropertyParser.cs b/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/PropertyParser.cs index 6378149a..f4ca748c 100644 --- a/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/PropertyParser.cs +++ b/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/PropertyParser.cs @@ -50,6 +50,8 @@ private SDProperty GetParsedProperty(IPropertySymbol property) { Start = syntaxReference.Span.Start, End = syntaxReference.Span.End, + StartLine = syntaxReference.SyntaxTree.GetLineSpan(syntaxReference.Span).StartLinePosition.Line + 1, + EndLine = syntaxReference.SyntaxTree.GetLineSpan(syntaxReference.Span).EndLinePosition.Line + 1, FilePath = syntaxReference.SyntaxTree.FilePath, Filename = Path.GetFileName(syntaxReference.SyntaxTree.FilePath) } : null diff --git a/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/TypeParser.cs b/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/TypeParser.cs index 24a2634a..263a4bb8 100644 --- a/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/TypeParser.cs +++ b/src/Libraries/SharpDox.Build.Roslyn/Parser/ProjectParser/TypeParser.cs @@ -142,6 +142,8 @@ private List GetRegions(INamedTypeSymbol typeSymbol) { Start = reference.Span.Start, End = reference.Span.End, + StartLine = reference.SyntaxTree.GetLineSpan(reference.Span).StartLinePosition.Line + 1, + EndLine = reference.SyntaxTree.GetLineSpan(reference.Span).EndLinePosition.Line + 1, FilePath = reference.SyntaxTree.FilePath, Filename = Path.GetFileName(reference.SyntaxTree.FilePath), Content = File.ReadAllText(reference.SyntaxTree.FilePath)