Skip to content

Commit 3c875c2

Browse files
authored
Merge pull request #2991 from FirelyTeam/spike/implement-sourcenode-on-base
Implement ISourceNode on Base
2 parents a73ae97 + 9d002d6 commit 3c875c2

File tree

31 files changed

+443
-335
lines changed

31 files changed

+443
-335
lines changed

src/Benchmarks/SerializationBenchmarks.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,17 @@ public string XmlDictionarySerializer()
4444
[Benchmark]
4545
public string TypedElementSerializerJson()
4646
{
47+
#pragma warning disable SDK0001
4748
return Patient.ToTypedElement().ToJson();
49+
#pragma warning restore SDK0001
4850
}
4951

5052
[Benchmark]
5153
public string TypedElementSerializerXml()
5254
{
55+
#pragma warning disable SDK0001
5356
return Patient.ToTypedElement().ToXml();
57+
#pragma warning restore SDK0001
5458
}
5559
}
5660
}

src/Hl7.Fhir.Base/ElementModel/PocoBuilderExtensions.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
using Hl7.Fhir.Introspection;
1111
using Hl7.Fhir.Model;
1212
using Hl7.Fhir.Serialization;
13+
using Hl7.Fhir.Utility;
1314
using System;
15+
using System.Diagnostics.CodeAnalysis;
1416

1517
namespace Hl7.Fhir.ElementModel
1618
{
@@ -28,8 +30,12 @@ public static T ToPoco<T>(this ITypedElement element, ModelInspector inspector,
2830
public static Base ToPoco(this ITypedElement element, ModelInspector inspector, PocoBuilderSettings settings = null) =>
2931
new NewPocoBuilder(inspector, settings ?? new PocoBuilderSettings()).BuildFrom(element);
3032

31-
public static ISourceNode ToSourceNode(this Base @base, ModelInspector inspector, string rootName = null) =>
32-
@base.ToTypedElement(inspector, rootName).ToSourceNode();
33-
33+
public static ISourceNode ToSourceNode(this Base @base, ModelInspector inspector, string rootName = null)
34+
{
35+
var node = @base.ToElementNode(rootName);
36+
((IAnnotatable)node).AddAnnotation(inspector);
37+
38+
return node;
39+
}
3440
}
3541
}

src/Hl7.Fhir.Base/ElementModel/PocoElementNode2.cs

Lines changed: 0 additions & 211 deletions
This file was deleted.

0 commit comments

Comments
 (0)