mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Parsing for inline assembly.
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
#include <memory>
|
||||
#include <boost/noncopyable.hpp>
|
||||
#include <libevmasm/SourceLocation.h>
|
||||
#include <libevmcore/Instruction.h>
|
||||
#include <libsolidity/interface/Utils.h>
|
||||
#include <libsolidity/ast/ASTForward.h>
|
||||
#include <libsolidity/parsing/Token.h>
|
||||
@@ -854,6 +855,30 @@ public:
|
||||
virtual StatementAnnotation& annotation() const override;
|
||||
};
|
||||
|
||||
// Forward-declaration to InlineAssembly.h
|
||||
class AsmData;
|
||||
|
||||
/**
|
||||
* Inline assembly.
|
||||
*/
|
||||
class InlineAssembly: public Statement
|
||||
{
|
||||
public:
|
||||
InlineAssembly(
|
||||
SourceLocation const& _location,
|
||||
ASTPointer<ASTString> const& _docString,
|
||||
std::shared_ptr<AsmData> const& _operations
|
||||
):
|
||||
Statement(_location, _docString), m_operations(_operations) {}
|
||||
virtual void accept(ASTVisitor& _visitor) override;
|
||||
virtual void accept(ASTConstVisitor& _visitor) const override;
|
||||
|
||||
AsmData const& operations() const { return *m_operations; }
|
||||
|
||||
private:
|
||||
std::shared_ptr<AsmData> m_operations;
|
||||
};
|
||||
|
||||
/**
|
||||
* Brace-enclosed block containing zero or more statements.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user