MCPcopy Create free account
hub / github.com/argotorg/solidity / parsePosition

Function parsePosition

libsolidity/lsp/Utils.cpp:86–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

84}
85
86std::optional<SourceLocation> parsePosition(
87 FileRepository const& _fileRepository,
88 std::string const& _sourceUnitName,
89 Json const& _position
90)
91{
92 if (!_fileRepository.sourceUnits().count(_sourceUnitName))
93 return std::nullopt;
94
95 if (std::optional<LineColumn> lineColumn = parseLineColumn(_position))
96 if (std::optional<int> const offset = CharStream::translateLineColumnToPosition(
97 _fileRepository.sourceUnits().at(_sourceUnitName),
98 *lineColumn
99 ))
100 return SourceLocation{*offset, *offset, std::make_shared<std::string>(_sourceUnitName)};
101 return std::nullopt;
102}
103
104std::optional<SourceLocation> parseRange(FileRepository const& _fileRepository, std::string const& _sourceUnitName, Json const& _range)
105{

Callers 1

parseRangeFunction · 0.85

Calls 3

parseLineColumnFunction · 0.85
atMethod · 0.80
countMethod · 0.45

Tested by

no test coverage detected