Show / Hide Table of Contents

Delegate DtdlParseLocator

A delegate to be provided by code that uses the ModelParser for converting a parse index and line number into a source name and line number.

Namespace: DTDLParser
Assembly: DTDLParser.dll
Syntax
public delegate bool DtdlParseLocator(int parseIndex, int parseLine, out string sourceName, out int sourceLine)
Parameters
Type Name Description
int parseIndex

An index into an enumeration of JSON text strings passed to the parser.

int parseLine

A line number within the JSON text string indicated by the parse index.

string sourceName

The source name corresponding to the parse index and line number.

int sourceLine

The soure line number corresponding to the parse index and line number.

Returns
Type Description
bool

True if the source information could be obtained.

Remarks

This delegate is used to enhance the reporting of errors in DTDL models. A DtdlParseLocator can be defined and passed into either the Parse(IEnumerable<string>, DtdlParseLocator) or ParseAsync(IAsyncEnumerable<string>, DtdlParseLocator, CancellationToken) methods of a ModelParser instance. When the ModelParser encounters an error in a model, it calls this delegate with a parseIndex indicating the index of a submitted text string and a parseLine indicating a line number within this string. If the delegate is able to convert these values into a user-meaningful location, it should set the out-parameter sourceName to the name of the appropriate source file, URL, etc.; set the out-parameter sourceLine to the corresponding line number within this source; and return a value of true. If it is not able to perform the conversion, it should return a value of false.

  • Edit this page
  • View Source
In this article
Back to top Generated by DocFX