mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Choose contracts to be analyzed by the SMTChecker
This commit is contained in:
@@ -51,7 +51,10 @@ namespace solidity::frontend
|
||||
class SMTEncoder: public ASTConstVisitor
|
||||
{
|
||||
public:
|
||||
SMTEncoder(smt::EncodingContext& _context);
|
||||
SMTEncoder(
|
||||
smt::EncodingContext& _context,
|
||||
ModelCheckerSettings const& _settings
|
||||
);
|
||||
|
||||
/// @returns true if engine should proceed with analysis.
|
||||
bool analyze(SourceUnit const& _sources);
|
||||
@@ -203,6 +206,10 @@ protected:
|
||||
void visitFunctionIdentifier(Identifier const& _identifier);
|
||||
void visitPublicGetter(FunctionCall const& _funCall);
|
||||
|
||||
/// @returns true if @param _contract is set for analysis in the settings
|
||||
/// and it is not abstract.
|
||||
bool shouldAnalyze(ContractDefinition const& _contract) const;
|
||||
|
||||
bool isPublicGetter(Expression const& _expr);
|
||||
|
||||
/// Encodes a modifier or function body according to the modifier
|
||||
@@ -455,6 +462,8 @@ protected:
|
||||
/// Stores the context of the encoding.
|
||||
smt::EncodingContext& m_context;
|
||||
|
||||
ModelCheckerSettings const& m_settings;
|
||||
|
||||
smt::SymbolicState& state();
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user