/*
    This file is part of solidity.
    solidity is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.
    solidity is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
    along with solidity.  If not, see .
*/
/**
 * @date 2017
 * Common functions the Yul tests.
 */
#pragma once
#include 
#include 
#include 
#include 
namespace dev
{
namespace solidity
{
class Scanner;
class Error;
using ErrorList = std::vector>;
namespace assembly
{
struct AsmAnalysisInfo;
}
}
namespace julia
{
namespace test
{
void printErrors(solidity::ErrorList const& _errors, solidity::Scanner const& _scanner);
std::pair, std::shared_ptr>
parse(std::string const& _source, bool _yul = true);
solidity::assembly::Block disambiguate(std::string const& _source, bool _yul = true);
std::string format(std::string const& _source, bool _yul = true);
}
}
}