Delegate DtdlResolveLocator
A delegate to be provided by code that uses the ModelParser for converting a resolve DTMI and line number into a source name and line number.
Namespace: DTDLParser
Assembly: DTDLParser.dll
Syntax
public delegate bool DtdlResolveLocator(Dtmi resolveDtmi, int resolveLine, out string sourceName, out int sourceLine)
Parameters
Type | Name | Description |
---|---|---|
Dtmi | resolveDtmi | The identifier whose defininition was requested through the DtmiResolver or DtmiResolverAsync. |
int | resolveLine | A line number within the JSON text definition string indicated by the resolve DTMI. |
string | sourceName | The source name corresponding to the resolve DTMI and line number. |
int | sourceLine | The soure line number corresponding to the resolve DTMI 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 DtdlResolveLocator
can be defined and passed into the constructor of a ModelParser instance.
When the ModelParser
encounters an error in a definition returned by the DtmiResolver or DtmiResolverAsync, it calls the delegate with a resolveDtmi
indicating the identifer that was resolved with the relevant definition and a resolveLine
indicating a line number within this definition.
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.