Skip to content

Commit 76b9290

Browse files
authored
Psi/XmlDocBlockNodeType: move from FSharpTokenType (#517)
1 parent 7c593f9 commit 76b9290

File tree

6 files changed

+25
-16
lines changed

6 files changed

+25
-16
lines changed

ReSharper.FSharp/src/FSharp.Psi.Features/src/Parsing/FSharpImplTreeBuilder.fs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ open FSharp.Compiler.SyntaxTrivia
77
open FSharp.Compiler.Text
88
open JetBrains.Diagnostics
99
open JetBrains.ReSharper.Plugins.FSharp.Psi.Features.Parsing
10+
open JetBrains.ReSharper.Plugins.FSharp.Psi.Impl.DocComments
1011
open JetBrains.ReSharper.Plugins.FSharp.Psi.Impl.Tree
1112
open JetBrains.ReSharper.Plugins.FSharp.Psi.Parsing
1213
open JetBrains.ReSharper.Plugins.FSharp.Util
@@ -179,7 +180,7 @@ type FSharpImplTreeBuilder(lexer, document, decls, lifetime, path, projectedOffs
179180
let mark =
180181
if xmlDoc.HasDeclaration then
181182
let mark = x.Mark(xmlDoc.Range)
182-
x.MarkAndDone(xmlDoc.Range, FSharpTokenType.XML_DOC_BLOCK)
183+
x.MarkAndDone(xmlDoc.Range, DocCommentBlockNodeType.Instance)
183184
mark
184185
else x.Mark()
185186

ReSharper.FSharp/src/FSharp.Psi.Features/src/Parsing/FSharpTreeBuilderBase.fs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ open JetBrains.Application.Environment.Helpers
1111
open JetBrains.Diagnostics
1212
open JetBrains.DocumentModel
1313
open JetBrains.ReSharper.Plugins.FSharp.Psi.Features.Parsing.FcsSyntaxTreeUtil
14+
open JetBrains.ReSharper.Plugins.FSharp.Psi.Impl.DocComments
1415
open JetBrains.ReSharper.Plugins.FSharp.Psi.Impl.Tree
1516
open JetBrains.ReSharper.Plugins.FSharp.Psi.Parsing
1617
open JetBrains.ReSharper.Plugins.FSharp.Psi.Tree
@@ -126,7 +127,7 @@ type FSharpTreeBuilderBase(lexer, document: IDocument, lifetime, path: VirtualFi
126127
member x.MarkXmlDocOwner(xmlDoc: XmlDoc, expectedType: TokenNodeType, declarationRange: range) =
127128
let mark = x.MarkTokenOrRange(expectedType, declarationRange)
128129
if xmlDoc.HasDeclaration then
129-
x.MarkAndDone(xmlDoc.Range, FSharpTokenType.XML_DOC_BLOCK)
130+
x.MarkAndDone(xmlDoc.Range, DocCommentBlockNodeType.Instance)
130131
mark
131132

132133
member x.ProcessReferenceName(lid: Ident list) =

ReSharper.FSharp/src/FSharp.Psi/src/CodeFormatter/FSharpCodeFormatterInfoProvider.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using JetBrains.Application.Threading;
88
using JetBrains.Lifetimes;
99
using JetBrains.ProjectModel;
10+
using JetBrains.ReSharper.Plugins.FSharp.Psi.Impl.DocComments;
1011
using JetBrains.ReSharper.Plugins.FSharp.Psi.Impl.Tree;
1112
using JetBrains.ReSharper.Plugins.FSharp.Psi.Parsing;
1213
using JetBrains.ReSharper.Plugins.FSharp.Psi.Tree;
@@ -144,7 +145,7 @@ private void Indenting()
144145
.Name("ContinuousIndent")
145146
.Where(Node().In(continuousIndentNodes.Union(ElementType.PREFIX_APP_EXPR)).Satisfies((node, _) =>
146147
node.Node is not IPrefixAppExpr || node.Parent.NodeOrNull is not IPrefixAppExpr))
147-
.AddException(Node().In(ElementType.ATTRIBUTE_LIST, FSharpTokenType.XML_DOC_BLOCK))
148+
.AddException(Node().In(ElementType.ATTRIBUTE_LIST, DocCommentBlockNodeType.Instance))
148149
.AddException(Node().In(FSharpTokenType.LINE_COMMENT).Satisfies((node, _) => node.NodeOrNull is DocComment))
149150
.AddException(
150151
// todo: add setting
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using JetBrains.ReSharper.Plugins.FSharp.Psi.Impl.Tree;
2+
using JetBrains.ReSharper.Plugins.FSharp.Psi.Tree;
3+
using JetBrains.ReSharper.Psi.ExtensionsAPI.Tree;
4+
5+
namespace JetBrains.ReSharper.Plugins.FSharp.Psi.Impl.DocComments
6+
{
7+
public class DocCommentBlockNodeType : FSharpCompositeNodeType
8+
{
9+
public static readonly CompositeNodeType Instance = new DocCommentBlockNodeType();
10+
11+
private DocCommentBlockNodeType() : base("XML_DOC_BLOCK", 1900)
12+
{
13+
}
14+
15+
public override CompositeElement Create() => new XmlDocBlock();
16+
}
17+
}

ReSharper.FSharp/src/FSharp.Psi/src/Impl/Tree/FSharpComment.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using JetBrains.Annotations;
2+
using JetBrains.ReSharper.Plugins.FSharp.Psi.Impl.DocComments;
23
using JetBrains.ReSharper.Plugins.FSharp.Psi.Parsing;
34
using JetBrains.ReSharper.Psi;
45
using JetBrains.ReSharper.Psi.ExtensionsAPI.Tree;
@@ -99,6 +100,6 @@ public DocComment([NotNull] TokenNodeType nodeType, [NotNull] string text) : bas
99100
public partial class XmlDocBlock : FSharpCompositeElement
100101
{
101102
public override bool IsFiltered() => true;
102-
public override NodeType NodeType => FSharpTokenType.XML_DOC_BLOCK;
103+
public override NodeType NodeType => DocCommentBlockNodeType.Instance;
103104
}
104105
}

ReSharper.FSharp/src/FSharp.Psi/src/Parsing/FSharpTokenType.cs

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -134,15 +134,6 @@ public BlockCommentNodeType(int nodeTypeIndex) : base("BLOCK_COMMENT", nodeTypeI
134134
public override LeafElementBase Create(string text) => new FSharpComment(this, text);
135135
}
136136

137-
private sealed class XmlDocBlockNodeType : FSharpCompositeNodeType
138-
{
139-
public XmlDocBlockNodeType(int nodeTypeIndex) : base("XML_DOC_BLOCK", nodeTypeIndex)
140-
{
141-
}
142-
143-
public override CompositeElement Create() => new XmlDocBlock();
144-
}
145-
146137
public const int WHITESPACE_NODE_TYPE_INDEX = LAST_GENERATED_TOKEN_TYPE_INDEX + 1;
147138
public static readonly TokenNodeType WHITESPACE = new WhitespaceNodeType(WHITESPACE_NODE_TYPE_INDEX);
148139

@@ -158,9 +149,6 @@ public XmlDocBlockNodeType(int nodeTypeIndex) : base("XML_DOC_BLOCK", nodeTypeIn
158149
public const int CHAMELEON_NODE_TYPE_INDEX = LAST_GENERATED_TOKEN_TYPE_INDEX + 5;
159150
public static readonly TokenNodeType CHAMELEON = new FSharpTokenNodeType("CHAMELEON", CHAMELEON_NODE_TYPE_INDEX);
160151

161-
public const int XML_DOC_BLOCK_NODE_TYPE_INDEX = LAST_GENERATED_TOKEN_TYPE_INDEX + 6;
162-
public static readonly CompositeNodeType XML_DOC_BLOCK = new XmlDocBlockNodeType(XML_DOC_BLOCK_NODE_TYPE_INDEX);
163-
164152
public static readonly NodeTypeSet RightBraces;
165153
public static readonly NodeTypeSet LeftBraces;
166154
public static readonly NodeTypeSet AccessModifiersKeywords;

0 commit comments

Comments
 (0)