Example #1
0
        internal static (JToken, SourceRange) ReadTokenRange(JsonReader reader, SourceContext sourceContext)
        {
            var range = sourceContext.CallStack.Count > 0
                ? sourceContext.CallStack.Peek().DeepClone()
                : new SourceRange();

            var token = SourcePoint.ReadObjectWithSourcePoints(reader, JToken.Load, out var start, out var end);

            range.StartPoint = start;
            range.EndPoint   = end;

            var designer = token.SelectToken("$designer", errorWhenNoMatch: false);

            if (designer != null)
            {
                range.Designer = designer;
            }

            return(token, range);
        }
Example #2
0
 internal SourceScope(SourceContext sourceContext, SourceRange range)
 {
     this.sourceContext = sourceContext ?? throw new ArgumentNullException(nameof(sourceContext));
     this.sourceContext.CallStack.Push(range);
 }