mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
AsmParser: Replace m_debugDataOverride with separate variables for location and AST ID
This commit is contained in:
parent
84ca67c283
commit
9c1d40debf
@ -80,7 +80,7 @@ std::shared_ptr<DebugData const> Parser::createDebugData() const
|
|||||||
case UseSourceLocationFrom::LocationOverride:
|
case UseSourceLocationFrom::LocationOverride:
|
||||||
return DebugData::create(m_locationOverride);
|
return DebugData::create(m_locationOverride);
|
||||||
case UseSourceLocationFrom::Comments:
|
case UseSourceLocationFrom::Comments:
|
||||||
return m_debugDataOverride;
|
return DebugData::create(m_locationFromComment, m_astIDFromComment);
|
||||||
}
|
}
|
||||||
solAssert(false, "");
|
solAssert(false, "");
|
||||||
}
|
}
|
||||||
@ -135,7 +135,7 @@ void Parser::fetchDebugDataFromComment()
|
|||||||
string_view commentLiteral = m_scanner->currentCommentLiteral();
|
string_view commentLiteral = m_scanner->currentCommentLiteral();
|
||||||
match_results<string_view::const_iterator> match;
|
match_results<string_view::const_iterator> match;
|
||||||
|
|
||||||
langutil::SourceLocation sourceLocation = m_debugDataOverride->location;
|
langutil::SourceLocation sourceLocation = m_locationFromComment;
|
||||||
// Empty for each new node.
|
// Empty for each new node.
|
||||||
optional<int> astID;
|
optional<int> astID;
|
||||||
|
|
||||||
@ -163,7 +163,8 @@ void Parser::fetchDebugDataFromComment()
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_debugDataOverride = DebugData::create(sourceLocation, astID);
|
m_locationFromComment = sourceLocation;
|
||||||
|
m_astIDFromComment = astID;
|
||||||
}
|
}
|
||||||
|
|
||||||
optional<pair<string_view, SourceLocation>> Parser::parseSrcComment(
|
optional<pair<string_view, SourceLocation>> Parser::parseSrcComment(
|
||||||
|
@ -61,7 +61,6 @@ public:
|
|||||||
ParserBase(_errorReporter),
|
ParserBase(_errorReporter),
|
||||||
m_dialect(_dialect),
|
m_dialect(_dialect),
|
||||||
m_locationOverride{_locationOverride ? *_locationOverride : langutil::SourceLocation{}},
|
m_locationOverride{_locationOverride ? *_locationOverride : langutil::SourceLocation{}},
|
||||||
m_debugDataOverride{},
|
|
||||||
m_useSourceLocationFrom{
|
m_useSourceLocationFrom{
|
||||||
_locationOverride ?
|
_locationOverride ?
|
||||||
UseSourceLocationFrom::LocationOverride :
|
UseSourceLocationFrom::LocationOverride :
|
||||||
@ -79,7 +78,6 @@ public:
|
|||||||
ParserBase(_errorReporter),
|
ParserBase(_errorReporter),
|
||||||
m_dialect(_dialect),
|
m_dialect(_dialect),
|
||||||
m_sourceNames{std::move(_sourceNames)},
|
m_sourceNames{std::move(_sourceNames)},
|
||||||
m_debugDataOverride{DebugData::create()},
|
|
||||||
m_useSourceLocationFrom{
|
m_useSourceLocationFrom{
|
||||||
m_sourceNames.has_value() ?
|
m_sourceNames.has_value() ?
|
||||||
UseSourceLocationFrom::Comments :
|
UseSourceLocationFrom::Comments :
|
||||||
@ -154,7 +152,8 @@ private:
|
|||||||
|
|
||||||
std::optional<std::map<unsigned, std::shared_ptr<std::string const>>> m_sourceNames;
|
std::optional<std::map<unsigned, std::shared_ptr<std::string const>>> m_sourceNames;
|
||||||
langutil::SourceLocation m_locationOverride;
|
langutil::SourceLocation m_locationOverride;
|
||||||
std::shared_ptr<DebugData const> m_debugDataOverride;
|
langutil::SourceLocation m_locationFromComment;
|
||||||
|
std::optional<int64_t> m_astIDFromComment;
|
||||||
UseSourceLocationFrom m_useSourceLocationFrom = UseSourceLocationFrom::Scanner;
|
UseSourceLocationFrom m_useSourceLocationFrom = UseSourceLocationFrom::Scanner;
|
||||||
ForLoopComponent m_currentForLoopComponent = ForLoopComponent::None;
|
ForLoopComponent m_currentForLoopComponent = ForLoopComponent::None;
|
||||||
bool m_insideFunction = false;
|
bool m_insideFunction = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user