read static method

Implementation

static DefinitionResult read(BinaryReader reader) {
  final found = reader.readUint8() != 0;
  if (!found) {
    return DefinitionResult(
      found: false,
      moduleName: '',
      definitionRange: const ScriptRange(
        begin: ScriptPosition(line: 0, column: 0),
        end: ScriptPosition(line: 0, column: 0),
      ),
      tokenRange: const ScriptRange(
        begin: ScriptPosition(line: 0, column: 0),
        end: ScriptPosition(line: 0, column: 0),
      ),
      preview: '',
      documentationSymbol: '',
      documentation: '',
    );
  }

  final moduleName = reader.readString();
  final beginLine = reader.readVarUint();
  final beginColumn = reader.readVarUint();
  final endLine = reader.readVarUint();
  final endColumn = reader.readVarUint();
  final tokenBeginLine = reader.readVarUint();
  final tokenBeginColumn = reader.readVarUint();
  final tokenEndLine = reader.readVarUint();
  final tokenEndColumn = reader.readVarUint();
  final preview = reader.readString();
  final documentationSymbol = reader.readString();
  final documentation = reader.readString();

  return DefinitionResult(
    found: true,
    moduleName: moduleName,
    definitionRange: ScriptRange(
      begin: ScriptPosition(line: beginLine, column: beginColumn),
      end: ScriptPosition(line: endLine, column: endColumn),
    ),
    tokenRange: ScriptRange(
      begin: ScriptPosition(line: tokenBeginLine, column: tokenBeginColumn),
      end: ScriptPosition(line: tokenEndLine, column: tokenEndColumn),
    ),
    preview: preview,
    documentationSymbol: documentationSymbol,
    documentation: documentation,
  );
}