@@ -20,9 +20,9 @@ public class ParsingContext
20
20
private readonly Stack < string > _currentLocation = new Stack < string > ( ) ;
21
21
private readonly Dictionary < string , IOpenApiReferenceable > _referenceStore = new Dictionary < string , IOpenApiReferenceable > ( ) ;
22
22
private readonly Dictionary < string , object > _tempStorage = new Dictionary < string , object > ( ) ;
23
- private readonly List < OpenApiTag > _tags = new List < OpenApiTag > ( ) ;
24
23
private IOpenApiVersionService _versionService ;
25
- private RootNode _rootNode ;
24
+ internal RootNode RootNode { get ; set ; }
25
+ internal List < OpenApiTag > Tags { get ; private set ; } = new List < OpenApiTag > ( ) ;
26
26
27
27
28
28
/// <summary>
@@ -33,48 +33,27 @@ public class ParsingContext
33
33
/// <returns>An OpenApiDocument populated based on the passed yamlDocument </returns>
34
34
internal OpenApiDocument Parse ( YamlDocument yamlDocument , OpenApiDiagnostic diagnostic )
35
35
{
36
- _rootNode = new RootNode ( this , diagnostic , yamlDocument ) ;
36
+ RootNode = new RootNode ( this , diagnostic , yamlDocument ) ;
37
37
38
- var inputVersion = GetVersion ( _rootNode ) ;
38
+ var inputVersion = GetVersion ( RootNode ) ;
39
39
40
40
OpenApiDocument doc ;
41
41
switch ( inputVersion )
42
42
{
43
43
case "2.0" :
44
44
this . ReferenceService = new OpenApiV2VersionService ( ) ;
45
- doc = this . ReferenceService . LoadOpenApi ( _rootNode ) ;
45
+ doc = this . ReferenceService . LoadOpenApi ( RootNode ) ;
46
46
break ;
47
47
48
48
default :
49
49
this . ReferenceService = new OpenApiV3VersionService ( ) ;
50
- doc = this . ReferenceService . LoadOpenApi ( _rootNode ) ;
50
+ doc = this . ReferenceService . LoadOpenApi ( RootNode ) ;
51
51
break ;
52
52
}
53
53
54
54
return doc ;
55
55
}
56
56
57
- internal RootNode RootNode { get
58
- {
59
- return _rootNode ;
60
- }
61
- set
62
- {
63
- {
64
- _rootNode = value ;
65
-
66
- }
67
- }
68
- }
69
-
70
- internal List < OpenApiTag > Tags
71
- {
72
- get
73
- {
74
- return _tags ;
75
- }
76
- }
77
-
78
57
/// <summary>
79
58
/// Gets the version of the Open API document.
80
59
/// </summary>
@@ -97,7 +76,7 @@ private void ComputeTags(List<OpenApiTag> tags, Func<MapNode,OpenApiTag> loadTag
97
76
// Precompute the tags array so that each tag reference does not require a new deserialization.
98
77
var tagListPointer = new JsonPointer ( "#/tags" ) ;
99
78
100
- var tagListNode = _rootNode . Find ( tagListPointer ) ;
79
+ var tagListNode = RootNode . Find ( tagListPointer ) ;
101
80
102
81
if ( tagListNode != null && tagListNode is ListNode )
103
82
{
@@ -112,19 +91,23 @@ private void ComputeTags(List<OpenApiTag> tags, Func<MapNode,OpenApiTag> loadTag
112
91
/// <summary>
113
92
/// Reference service.
114
93
/// </summary>
115
- internal IOpenApiVersionService ReferenceService { get {
94
+ internal IOpenApiVersionService ReferenceService
95
+ {
96
+ get
97
+ {
116
98
return _versionService ;
117
99
}
118
- set {
100
+ set
101
+ {
119
102
_versionService = value ;
120
- ComputeTags ( _tags , ReferenceService . TagLoader ) ;
103
+ ComputeTags ( Tags , ReferenceService . TagLoader ) ;
121
104
}
122
105
}
123
106
124
- /// <summary>
125
- /// End the current object.
126
- /// </summary>
127
- public void EndObject ( )
107
+ /// <summary>
108
+ /// End the current object.
109
+ /// </summary>
110
+ public void EndObject ( )
128
111
{
129
112
_currentLocation . Pop ( ) ;
130
113
}
0 commit comments