mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Simplify AsmParser::parse(.) usage
This commit is contained in:
@@ -441,7 +441,7 @@ void CompilerContext::appendInlineAssembly(
|
||||
locationOverride = m_asm->currentSourceLocation();
|
||||
shared_ptr<yul::Block> parserResult =
|
||||
yul::Parser(errorReporter, dialect, std::move(locationOverride))
|
||||
.parse(make_shared<langutil::Scanner>(charStream), false);
|
||||
.parse(charStream);
|
||||
#ifdef SOL_OUTPUT_ASM
|
||||
cout << yul::AsmPrinter(&dialect)(*parserResult) << endl;
|
||||
#endif
|
||||
@@ -492,7 +492,7 @@ void CompilerContext::appendInlineAssembly(
|
||||
m_generatedYulUtilityCode = yul::AsmPrinter(dialect)(*obj.code);
|
||||
string code = yul::AsmPrinter{dialect}(*obj.code);
|
||||
langutil::CharStream charStream(m_generatedYulUtilityCode, _sourceName);
|
||||
obj.code = yul::Parser(errorReporter, dialect).parse(make_shared<Scanner>(charStream), false);
|
||||
obj.code = yul::Parser(errorReporter, dialect).parse(charStream);
|
||||
*obj.analysisInfo = yul::AsmAnalyzer::analyzeStrictAssertCorrect(dialect, obj);
|
||||
}
|
||||
|
||||
|
||||
@@ -755,9 +755,8 @@ Json::Value CompilerStack::generatedSources(string const& _contractName, bool _r
|
||||
ErrorList errors;
|
||||
ErrorReporter errorReporter(errors);
|
||||
CharStream charStream(source, sourceName);
|
||||
shared_ptr<Scanner> scanner = make_shared<Scanner>(charStream);
|
||||
yul::EVMDialect const& dialect = yul::EVMDialect::strictAssemblyForEVM(m_evmVersion);
|
||||
shared_ptr<yul::Block> parserResult = yul::Parser{errorReporter, dialect}.parse(scanner, false);
|
||||
shared_ptr<yul::Block> parserResult = yul::Parser{errorReporter, dialect}.parse(charStream);
|
||||
solAssert(parserResult, "");
|
||||
sources[0]["ast"] = yul::AsmJsonConverter{sourceIndex}(*parserResult);
|
||||
sources[0]["name"] = sourceName;
|
||||
|
||||
@@ -1301,7 +1301,7 @@ ASTPointer<InlineAssembly> Parser::parseInlineAssembly(ASTPointer<ASTString> con
|
||||
}
|
||||
|
||||
yul::Parser asmParser(m_errorReporter, dialect);
|
||||
shared_ptr<yul::Block> block = asmParser.parse(m_scanner, true);
|
||||
shared_ptr<yul::Block> block = asmParser.parseInline(m_scanner);
|
||||
if (block == nullptr)
|
||||
BOOST_THROW_EXCEPTION(FatalError());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user