Browse Source

adde the positions for the end of SourceLocation

cl-refactor
Liana Husikyan 10 years ago
parent
commit
14ab7baa76
  1. 15
      libsolidity/CompilerStack.cpp
  2. 6
      libsolidity/CompilerStack.h

15
libsolidity/CompilerStack.cpp

@ -257,13 +257,16 @@ bytes CompilerStack::staticCompile(std::string const& _sourceCode, bool _optimiz
return stack.compile(_sourceCode, _optimize);
}
pair<int, int> CompilerStack::positionFromSourceLocation(SourceLocation const& _sourceLocation) const
tuple<int, int, int, int> CompilerStack::positionFromSourceLocation(SourceLocation const& _sourceLocation) const
{
int initLine;
int initColumn;
tie(initLine, initColumn) = getScanner(*_sourceLocation.sourceName).translatePositionToLineColumn(_sourceLocation.start);
return make_pair(++initLine, ++initColumn);
int startLine;
int startColumn;
int endLine;
int endColumn;
tie(startLine, startColumn) = getScanner(*_sourceLocation.sourceName).translatePositionToLineColumn(_sourceLocation.start);
tie(endLine, endColumn) = getScanner(*_sourceLocation.sourceName).translatePositionToLineColumn(_sourceLocation.end);
return make_tuple(++startLine, ++startColumn, ++endLine, ++endColumn);
}
void CompilerStack::reset(bool _keepSources)

6
libsolidity/CompilerStack.h

@ -132,8 +132,10 @@ public:
/// scanning the source code - this is useful for printing exception information.
static bytes staticCompile(std::string const& _sourceCode, bool _optimize = false);
/// helper function for printing logs. Do only use in error cases, it's quite expensive.
std::pair<int, int> positionFromSourceLocation(SourceLocation const& _sourceLocation) const;
/// Helper function for logs printing. Do only use in error cases, it's quite expensive.
/// line and columns are numbered starting from 1 with following order:
/// start line, start column, end line, end column
std::tuple<int, int, int, int> positionFromSourceLocation(SourceLocation const& _sourceLocation) const;
private:
/**

Loading…
Cancel
Save