Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion libsolidity/analysis/ControlFlowBuilder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ bool ControlFlowBuilder::visit(ModifierInvocation const& _modifierInvocation)
_modifierInvocation.name().annotation().referencedDeclaration
);
if (!modifierDefinition) return false;
solAssert(!!modifierDefinition, "");
if (!modifierDefinition->isImplemented()) return false;
solAssert(!!m_returnNode, "");

m_placeholderEntry = newLabel();
Expand Down
5 changes: 2 additions & 3 deletions libsolidity/analysis/ControlFlowBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,8 @@
namespace solidity::frontend
{

/** Helper class that builds the control flow of a function or modifier.
* Modifiers are not yet applied to the functions. This is done in a second
* step in the CFG class.
/**
* Helper class that builds the control flow of a function or modifier.
*/
class ControlFlowBuilder: private ASTConstVisitor, private yul::ASTWalker
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,4 @@ contract C is B {
// ====
// SMTEngine: all
// ----
// Warning 5740: (62-111): Unreachable code.
// Warning 6328: (66-75): CHC: Assertion violation happens here.\nCounterexample:\ns = false\n\nTransaction trace:\nB.constructor()\nState: s = false\nA.f()
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,4 @@ contract B is A {
// ====
// SMTEngine: all
// ----
// Warning 5740: (62-123): Unreachable code.
// Warning 6328: (94-104): CHC: Assertion violation happens here.\nCounterexample:\ns = true\nx = true\n\nTransaction trace:\nB.constructor()\nState: s = false\nA.f()
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
abstract contract A {
function f() public view mod {
require(block.timestamp > 10);
}
modifier mod() virtual { }
}
// ----
// SyntaxError 2883: (129-132): Modifier body does not contain '_'.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
abstract contract A {
function f() public view mod {
require(block.timestamp > 10);
}
modifier mod() virtual;
}