diff --git a/JUST.net/GlobalSuppressions.cs b/JUST.net/GlobalSuppressions.cs new file mode 100644 index 0000000..0a2c2ad --- /dev/null +++ b/JUST.net/GlobalSuppressions.cs @@ -0,0 +1,144 @@ +// This file is used by Code Analysis to maintain SuppressMessage +// attributes that are applied to this project. +// Project-level suppressions either have no target or are given +// a specific target and scoped to a namespace, type, member, etc. + +using System.Diagnostics.CodeAnalysis; + +[assembly: SuppressMessage("Roslynator", "RCS1202:Avoid NullReferenceException.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.AddPostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.BuildArrayToken(Newtonsoft.Json.Linq.JArray,System.Collections.Generic.IEnumerable{System.Object})")] +[assembly: SuppressMessage("Roslynator", "RCS1180:Inline lazy initialization.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.BulkOperations(Newtonsoft.Json.Linq.JEnumerable{Newtonsoft.Json.Linq.JToken},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,System.Collections.Generic.Dictionary{System.String,Newtonsoft.Json.Linq.JToken}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@)")] +[assembly: SuppressMessage("Style", "IDE0011:Add braces", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.BulkOperations(Newtonsoft.Json.Linq.JEnumerable{Newtonsoft.Json.Linq.JToken},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,System.Collections.Generic.Dictionary{System.String,Newtonsoft.Json.Linq.JToken}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@)")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.BulkOperations(Newtonsoft.Json.Linq.JEnumerable{Newtonsoft.Json.Linq.JToken},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,System.Collections.Generic.Dictionary{System.String,Newtonsoft.Json.Linq.JToken}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@)")] +[assembly: SuppressMessage("Style", "IDE0011:Add braces", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.CallCustomFunction(System.Object[])~System.Object")] +[assembly: SuppressMessage("Roslynator", "RCS1036:Remove unnecessary blank line.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.CallCustomFunction(System.Object[])~System.Object")] +[assembly: SuppressMessage("Style", "IDE0011:Add braces", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ConditionalGroupOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Style", "IDE2001:Embedded statements must be on their own line", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ConditionalGroupOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ConditionalGroupOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Roslynator", "RCS1236:Use exception filter.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ConditionalGroupOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Roslynator", "RCS1180:Inline lazy initialization.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ConditionalGroupOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.Copy(System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken})~Newtonsoft.Json.Linq.JToken")] +[assembly: SuppressMessage("Style", "IDE0220:Add explicit cast", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.CopyPostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Style", "IDE0046:Convert to conditional expression", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.Delete(System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken})~System.String")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.Delete(System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken})~System.String")] +[assembly: SuppressMessage("Style", "IDE0011:Add braces", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.DeletePostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Roslynator", "RCS1036:Remove unnecessary blank line.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.DeletePostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Style", "IDE2002:Consecutive braces must not have blank line between them", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.DeletePostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Style", "IDE0220:Add explicit cast", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.DeletePostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Style", "IDE0031:Use null propagation", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.DeletePostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.DeserializeWithoutDateParse``1(System.String)~``0")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.EvalOperation(Newtonsoft.Json.Linq.JProperty,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@)")] +[assembly: SuppressMessage("Roslynator", "RCS1180:Inline lazy initialization.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.EvalOperation(Newtonsoft.Json.Linq.JProperty,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@)")] +[assembly: SuppressMessage("Style", "IDE0011:Add braces", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.EvalOperation(Newtonsoft.Json.Linq.JProperty,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@)")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.EvalOperation(Newtonsoft.Json.Linq.JProperty,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@)")] +[assembly: SuppressMessage("Style", "IDE0011:Add braces", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.GetIndexOfFunctionEnd(System.String)~System.Int32")] +[assembly: SuppressMessage("Roslynator", "RCS1213:Remove unused member declaration.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.GetIndexOfFunctionEnd(System.String)~System.Int32")] +[assembly: SuppressMessage("Style", "IDE0022:Use expression body for method", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.GetSelectableToken(Newtonsoft.Json.Linq.JToken,JUST.JUSTContext)~`0")] +[assembly: SuppressMessage("Roslynator", "RCS1236:Use exception filter.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.GetToken(System.Object)~Newtonsoft.Json.Linq.JToken")] +[assembly: SuppressMessage("Style", "IDE0045:Convert to conditional expression", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.GetToken(System.Object)~Newtonsoft.Json.Linq.JToken")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.LoopOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,Newtonsoft.Json.Linq.JArray@,Newtonsoft.Json.Linq.JObject@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.LoopOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,Newtonsoft.Json.Linq.JArray@,Newtonsoft.Json.Linq.JObject@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Roslynator", "RCS1146:Use conditional access.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.LoopOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,Newtonsoft.Json.Linq.JArray@,Newtonsoft.Json.Linq.JObject@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Roslynator", "RCS1180:Inline lazy initialization.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.LoopOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,Newtonsoft.Json.Linq.JArray@,Newtonsoft.Json.Linq.JObject@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Style", "IDE0011:Add braces", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.LoopOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,Newtonsoft.Json.Linq.JArray@,Newtonsoft.Json.Linq.JObject@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Style", "IDE0058:Expression value is never used", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.LoopOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,Newtonsoft.Json.Linq.JArray@,Newtonsoft.Json.Linq.JObject@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.LoopPostOperationBuildUp(Newtonsoft.Json.Linq.JToken@,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.String},Newtonsoft.Json.Linq.JArray,Newtonsoft.Json.Linq.JObject)")] +[assembly: SuppressMessage("Style", "IDE0058:Expression value is never used", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.LoopPostOperationBuildUp(Newtonsoft.Json.Linq.JToken@,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.String},Newtonsoft.Json.Linq.JArray,Newtonsoft.Json.Linq.JObject)")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.LoopPostOperationBuildUp(Newtonsoft.Json.Linq.JToken@,System.Collections.Generic.List{System.String},System.Collections.Generic.List{System.String},Newtonsoft.Json.Linq.JArray,Newtonsoft.Json.Linq.JObject)")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ParseApplyOver(System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Object[])~System.Object")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ParseApplyOver(System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Object[])~System.Object")] +[assembly: SuppressMessage("Style", "IDE0046:Convert to conditional expression", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ParseArgument(System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.String)~System.Object")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ParseArgument(System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.String)~System.Object")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ParseArgument(System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.String)~System.Object")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ParseFunction(System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken})~System.Object")] +[assembly: SuppressMessage("Roslynator", "RCS1003:Add braces to if-else (when expression spans over multiple lines).", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ParseFunction(System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken})~System.Object")] +[assembly: SuppressMessage("Style", "IDE0047:Remove unnecessary parentheses", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ParseFunction(System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken})~System.Object")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ParseFunction(System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken})~System.Object")] +[assembly: SuppressMessage("Style", "IDE0011:Add braces", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ParseFunction(System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken})~System.Object")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ParseLoopAlias(System.Collections.Generic.List{System.Object},System.Int32,System.String)~System.String")] +[assembly: SuppressMessage("Roslynator", "RCS1202:Avoid NullReferenceException.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ParseLoopAlias(System.Collections.Generic.List{System.Object},System.Int32,System.String)~System.String")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ParseToken(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,System.Collections.Generic.Dictionary{System.String,Newtonsoft.Json.Linq.JToken}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{System.String}@,Newtonsoft.Json.Linq.JArray@,Newtonsoft.Json.Linq.JObject@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,System.Boolean@,System.Boolean@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.PostOperationsBuildUp(Newtonsoft.Json.Linq.JToken@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Roslynator", "RCS1202:Avoid NullReferenceException.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.PostOperationsBuildUp(Newtonsoft.Json.Linq.JToken@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Style", "IDE0058:Expression value is never used", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.PostOperationsBuildUp(Newtonsoft.Json.Linq.JToken@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Roslynator", "RCS1036:Remove unnecessary blank line.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.RecursiveEvaluate(Newtonsoft.Json.Linq.JToken@,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.RecursiveEvaluate(Newtonsoft.Json.Linq.JToken@,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Style", "IDE2000:Avoid multiple blank lines", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.RecursiveEvaluate(Newtonsoft.Json.Linq.JToken@,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.Replace(System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken})~System.Collections.Generic.KeyValuePair{System.String,Newtonsoft.Json.Linq.JToken}")] +[assembly: SuppressMessage("Roslynator", "RCS1036:Remove unnecessary blank line.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ReplacePostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.Dictionary{System.String,Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Style", "IDE2002:Consecutive braces must not have blank line between them", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ReplacePostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.Dictionary{System.String,Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Roslynator", "RCS1202:Avoid NullReferenceException.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.ReplacePostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.Dictionary{System.String,Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.SerializeWithoutDateParse``1(``0)~System.String")] +[assembly: SuppressMessage("Style", "IDE0011:Add braces", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.SplitJson(Newtonsoft.Json.Linq.JObject,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JObject}")] +[assembly: SuppressMessage("Roslynator", "RCS1036:Remove unnecessary blank line.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.SplitJson(Newtonsoft.Json.Linq.JObject,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JObject}")] +[assembly: SuppressMessage("Roslynator", "RCS1158:Static member in generic type should use a type parameter.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.SplitJson(Newtonsoft.Json.Linq.JObject,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JObject}")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.SplitJson(Newtonsoft.Json.Linq.JObject,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JObject}")] +[assembly: SuppressMessage("Style", "IDE2000:Avoid multiple blank lines", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.SplitJson(Newtonsoft.Json.Linq.JObject,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JObject}")] +[assembly: SuppressMessage("Roslynator", "RCS1180:Inline lazy initialization.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.SplitJson(Newtonsoft.Json.Linq.JObject,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JObject}")] +[assembly: SuppressMessage("Roslynator", "RCS1003:Add braces to if-else (when expression spans over multiple lines).", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.SplitJson(Newtonsoft.Json.Linq.JObject,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JObject}")] +[assembly: SuppressMessage("Style", "IDE0011:Add braces", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.SplitJson(System.String,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{System.String}")] +[assembly: SuppressMessage("Roslynator", "RCS1158:Static member in generic type should use a type parameter.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.SplitJson(System.String,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{System.String}")] +[assembly: SuppressMessage("Roslynator", "RCS1180:Inline lazy initialization.", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.SplitJson(System.String,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{System.String}")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.Transform(Newtonsoft.Json.Linq.JArray,Newtonsoft.Json.Linq.JToken)~Newtonsoft.Json.Linq.JArray")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.Transform(Newtonsoft.Json.Linq.JArray,Newtonsoft.Json.Linq.JToken)~Newtonsoft.Json.Linq.JArray")] +[assembly: SuppressMessage("Style", "IDE0022:Use expression body for method", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.Transform(Newtonsoft.Json.Linq.JArray,System.String)~Newtonsoft.Json.Linq.JArray")] +[assembly: SuppressMessage("Style", "IDE0022:Use expression body for method", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.Transform(Newtonsoft.Json.Linq.JObject,System.String)~Newtonsoft.Json.Linq.JToken")] +[assembly: SuppressMessage("Style", "IDE0022:Use expression body for method", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.Transform(System.String,System.String)~System.String")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.TransformArray(Newtonsoft.Json.Linq.JEnumerable{Newtonsoft.Json.Linq.JToken},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken})~System.Collections.Generic.IEnumerable{System.Object}")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.TransformArray(Newtonsoft.Json.Linq.JEnumerable{Newtonsoft.Json.Linq.JToken},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken})~System.Collections.Generic.IEnumerable{System.Object}")] +[assembly: SuppressMessage("Style", "IDE0058:Expression value is never used", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.TransformValue(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)~Newtonsoft.Json.Linq.JToken")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JsonTransformer`1.TransformValue(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)~Newtonsoft.Json.Linq.JToken")] +[assembly: SuppressMessage("Roslynator", "RCS1169:Make field read-only.", Justification = "", Scope = "member", Target = "~F:JUST.JUSTContext._customFunctions")] +[assembly: SuppressMessage("Style", "IDE0044:Add readonly modifier", Justification = "", Scope = "member", Target = "~F:JUST.JUSTContext._customFunctions")] +[assembly: SuppressMessage("Style", "IDE0032:Use auto property", Justification = "", Scope = "member", Target = "~F:JUST.JUSTContext._escapeChar")] +[assembly: SuppressMessage("Style", "IDE0032:Use auto property", Justification = "", Scope = "member", Target = "~F:JUST.JUSTContext._splitGroupChar")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.#ctor(System.Collections.Generic.IEnumerable{JUST.CustomFunction})")] +[assembly: SuppressMessage("Style", "IDE0021:Use expression body for constructor", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.#ctor(System.String)")] +[assembly: SuppressMessage("Style", "IDE0022:Use expression body for method", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.ClearCustomFunctionRegistrations")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.GetCustomMethod(System.String)~System.Reflection.MethodInfo")] +[assembly: SuppressMessage("Style", "IDE0046:Convert to conditional expression", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.GetCustomMethod(System.String)~System.Reflection.MethodInfo")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.GetCustomMethod(System.String)~System.Reflection.MethodInfo")] +[assembly: SuppressMessage("Style", "IDE0022:Use expression body for method", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.IsAddOrReplacePropertiesMode~System.Boolean")] +[assembly: SuppressMessage("Style", "IDE0022:Use expression body for method", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.IsFallbackToDefault~System.Boolean")] +[assembly: SuppressMessage("Style", "IDE0022:Use expression body for method", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.IsRegisteredCustomFunction(System.String)~System.Boolean")] +[assembly: SuppressMessage("Style", "IDE0022:Use expression body for method", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.IsStrictMode~System.Boolean")] +[assembly: SuppressMessage("Style", "IDE0022:Use expression body for method", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.RegisterCustomFunction(JUST.CustomFunction)")] +[assembly: SuppressMessage("Style", "IDE0270:Use coalesce expression", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.RegisterCustomFunction(System.String,System.String,System.String,System.String)")] +[assembly: SuppressMessage("Style", "IDE0008:Use explicit type", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.RegisterCustomFunction(System.String,System.String,System.String,System.String)")] +[assembly: SuppressMessage("Style", "IDE0022:Use expression body for method", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.UnregisterCustomFunction(System.String)")] +[assembly: SuppressMessage("Style", "IDE0058:Expression value is never used", Justification = "", Scope = "member", Target = "~M:JUST.JUSTContext.UnregisterCustomFunction(System.String)")] +[assembly: SuppressMessage("Style", "IDE2003:Blank line required between block and subsequent statement", Justification = "", Scope = "member", Target = "~P:JUST.JUSTContext.DefaultDecimalPlaces")] +[assembly: SuppressMessage("Style", "IDE0027:Use expression body for accessor", Justification = "", Scope = "member", Target = "~P:JUST.JUSTContext.DefaultDecimalPlaces")] +[assembly: SuppressMessage("Style", "IDE2001:Embedded statements must be on their own line", Justification = "", Scope = "member", Target = "~P:JUST.JUSTContext.DefaultDecimalPlaces")] +[assembly: SuppressMessage("Roslynator", "RCS1037:Remove trailing white-space.", Justification = "", Scope = "member", Target = "~P:JUST.JUSTContext.EscapeChar")] +[assembly: SuppressMessage("Style", "IDE0027:Use expression body for accessor", Justification = "", Scope = "member", Target = "~P:JUST.JUSTContext.EscapeChar")] +[assembly: SuppressMessage("Roslynator", "RCS1085:Use auto-implemented property.", Justification = "", Scope = "member", Target = "~P:JUST.JUSTContext.EscapeChar")] +[assembly: SuppressMessage("Style", "IDE0027:Use expression body for accessor", Justification = "", Scope = "member", Target = "~P:JUST.JUSTContext.SplitGroupChar")] +[assembly: SuppressMessage("Roslynator", "RCS1085:Use auto-implemented property.", Justification = "", Scope = "member", Target = "~P:JUST.JUSTContext.SplitGroupChar")] +[assembly: SuppressMessage("Roslynator", "RCS1135:Declare enum member with zero value (when enum has FlagsAttribute).", Justification = "", Scope = "type", Target = "~T:JUST.EvaluationMode")] +[assembly: SuppressMessage("Roslynator", "RCS1202:Avoid NullReferenceException.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.AddPostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Roslynator", "RCS1180:Inline lazy initialization.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.BulkOperations(Newtonsoft.Json.Linq.JEnumerable{Newtonsoft.Json.Linq.JToken},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,System.Collections.Generic.Dictionary{System.String,Newtonsoft.Json.Linq.JToken}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@)")] +[assembly: SuppressMessage("Roslynator", "RCS1036:Remove unnecessary blank line.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.CallCustomFunction(System.Object[])~System.Object")] +[assembly: SuppressMessage("Roslynator", "RCS1236:Use exception filter.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.ConditionalGroupOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Roslynator", "RCS1180:Inline lazy initialization.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.ConditionalGroupOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Style", "IDE0220:Add explicit cast", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.CopyPostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Roslynator", "RCS1036:Remove unnecessary blank line.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.DeletePostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Style", "IDE0220:Add explicit cast", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.DeletePostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Roslynator", "RCS1213:Remove unused member declaration.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.DeserializeWithoutDateParse(System.String)~`0")] +[assembly: SuppressMessage("Roslynator", "RCS1180:Inline lazy initialization.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.EvalOperation(Newtonsoft.Json.Linq.JProperty,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken}@)")] +[assembly: SuppressMessage("Roslynator", "RCS1213:Remove unused member declaration.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.GetIndexOfFunctionEnd(System.String)~System.Int32")] +[assembly: SuppressMessage("Roslynator", "RCS1236:Use exception filter.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.GetToken(System.Object)~Newtonsoft.Json.Linq.JToken")] +[assembly: SuppressMessage("Roslynator", "RCS1123:Add parentheses when necessary.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.LoopOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,Newtonsoft.Json.Linq.JArray@,Newtonsoft.Json.Linq.JObject@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Style", "IDE0048:Add parentheses for clarity", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.LoopOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,Newtonsoft.Json.Linq.JArray@,Newtonsoft.Json.Linq.JObject@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Roslynator", "RCS1180:Inline lazy initialization.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.LoopOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,Newtonsoft.Json.Linq.JArray@,Newtonsoft.Json.Linq.JObject@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Roslynator", "RCS1146:Use conditional access.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.LoopOperation(System.String,System.String,System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.Collections.Generic.List{System.String}@,Newtonsoft.Json.Linq.JArray@,Newtonsoft.Json.Linq.JObject@,Newtonsoft.Json.Linq.JToken)")] +[assembly: SuppressMessage("Style", "IDE0046:Convert to conditional expression", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.ParseArgument(System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JArray},System.Collections.Generic.IDictionary{System.String,Newtonsoft.Json.Linq.JToken},System.String)~System.Object")] +[assembly: SuppressMessage("Roslynator", "RCS1202:Avoid NullReferenceException.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.ParseLoopAlias(System.Collections.Generic.List{System.Object},System.Int32,System.String)~System.String")] +[assembly: SuppressMessage("Roslynator", "RCS1202:Avoid NullReferenceException.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.PostOperationsBuildUp(Newtonsoft.Json.Linq.JToken@,System.Collections.Generic.List{Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Roslynator", "RCS1036:Remove unnecessary blank line.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.ReplacePostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.Dictionary{System.String,Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Roslynator", "RCS1202:Avoid NullReferenceException.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.ReplacePostOperationBuildUp(Newtonsoft.Json.Linq.JToken,System.Collections.Generic.Dictionary{System.String,Newtonsoft.Json.Linq.JToken})")] +[assembly: SuppressMessage("Roslynator", "RCS1036:Remove unnecessary blank line.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.SplitJson(Newtonsoft.Json.Linq.JObject,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JObject}")] +[assembly: SuppressMessage("Roslynator", "RCS1158:Static member in generic type should use a type parameter.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.SplitJson(Newtonsoft.Json.Linq.JObject,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JObject}")] +[assembly: SuppressMessage("Roslynator", "RCS1180:Inline lazy initialization.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.SplitJson(Newtonsoft.Json.Linq.JObject,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JObject}")] +[assembly: SuppressMessage("Roslynator", "RCS1180:Inline lazy initialization.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.SplitJson(System.String,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{System.String}")] +[assembly: SuppressMessage("Roslynator", "RCS1158:Static member in generic type should use a type parameter.", Justification = "", Scope = "member", Target = "~M:JUST.net.JsonTransformer`1.SplitJson(System.String,System.String,JUST.JUSTContext)~System.Collections.Generic.IEnumerable{System.String}")] diff --git a/JUST.net/JUSTContext.cs b/JUST.net/JUSTContext.cs index 77ef864..298ecda 100644 --- a/JUST.net/JUSTContext.cs +++ b/JUST.net/JUSTContext.cs @@ -31,7 +31,8 @@ public enum EvaluationMode : short { FallbackToDefault = 1, AddOrReplaceProperties = 2, - Strict = 4 + Strict = 4, + CloneTransformer = 8, } public class JUSTContext diff --git a/JUST.net/JsonTransformer.cs b/JUST.net/JsonTransformer.cs index 0530cf7..b4342fc 100644 --- a/JUST.net/JsonTransformer.cs +++ b/JUST.net/JsonTransformer.cs @@ -106,7 +106,16 @@ public JToken Transform(JObject transformer, string input) public JToken Transform(JObject transformer, JToken input) { Context.Input = input; - var parentToken = (JToken)transformer; + + // We should (arguably, must!) clone the transformer or the input templated is mutated preventing + // it from being applied correctly to subsequent inputs. + // (An alternative solution is to refactor to otherwise prevent this seemingly undesirable mutation.) + JToken parentToken = Context.EvaluationMode.HasFlag(EvaluationMode.CloneTransformer) + ? ((transformer?.DeepClone()) is JObject transformerTemplate) + ? (JToken)transformerTemplate + : throw new InvalidOperationException("Transformer could not be cloned successfully.") + : (JToken)transformer; + RecursiveEvaluate(ref parentToken, null, null); return parentToken; }