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

Function parseText

test/libsolidity/SolidityParser.cpp:41–57  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39namespace
40{
41ASTPointer<ContractDefinition> parseText(std::string const& _source, ErrorList& _errors)
42{
43 ErrorReporter errorReporter(_errors);
44 auto charStream = CharStream(_source, "");
45 ASTPointer<SourceUnit> sourceUnit = Parser(
46 errorReporter,
47 solidity::test::CommonOptions::get().evmVersion(),
48 solidity::test::CommonOptions::get().eofVersion()
49 ).parse(charStream);
50 if (!sourceUnit)
51 return ASTPointer<ContractDefinition>();
52 for (ASTPointer<ASTNode> const& node: sourceUnit->nodes())
53 if (ASTPointer<ContractDefinition> contract = std::dynamic_pointer_cast<ContractDefinition>(node))
54 return contract;
55 BOOST_FAIL("No contract found in source.");
56 return ASTPointer<ContractDefinition>();
57}
58
59bool successParse(std::string const& _source)
60{

Callers 3

successParseFunction · 0.85
getErrorFunction · 0.85
BOOST_AUTO_TEST_CASEFunction · 0.85

Calls 7

getFunction · 0.85
nodesMethod · 0.80
CharStreamClass · 0.50
ParserClass · 0.50
parseMethod · 0.45
evmVersionMethod · 0.45
eofVersionMethod · 0.45

Tested by

no test coverage detected