diff options
author | chriseth <chris@ethereum.org> | 2017-06-01 21:41:51 +0800 |
---|---|---|
committer | Alex Beregszaszi <alex@rtfs.hu> | 2017-06-16 17:56:21 +0800 |
commit | 8e5c4bf21dfd9cfaa8de35aef034bb32be290a48 (patch) | |
tree | aa5fcd80d41fff75fa60e0db66e002cc79f829c5 /libsolidity/inlineasm/AsmData.h | |
parent | 49b11121179040d438dd8795a710f3d9de3de789 (diff) | |
download | dexon-solidity-8e5c4bf21dfd9cfaa8de35aef034bb32be290a48.tar dexon-solidity-8e5c4bf21dfd9cfaa8de35aef034bb32be290a48.tar.gz dexon-solidity-8e5c4bf21dfd9cfaa8de35aef034bb32be290a48.tar.bz2 dexon-solidity-8e5c4bf21dfd9cfaa8de35aef034bb32be290a48.tar.lz dexon-solidity-8e5c4bf21dfd9cfaa8de35aef034bb32be290a48.tar.xz dexon-solidity-8e5c4bf21dfd9cfaa8de35aef034bb32be290a48.tar.zst dexon-solidity-8e5c4bf21dfd9cfaa8de35aef034bb32be290a48.zip |
Add include file to forward-declare inline assembly structs.
Diffstat (limited to 'libsolidity/inlineasm/AsmData.h')
-rw-r--r-- | libsolidity/inlineasm/AsmData.h | 23 |
1 files changed, 4 insertions, 19 deletions
diff --git a/libsolidity/inlineasm/AsmData.h b/libsolidity/inlineasm/AsmData.h index c2458bd7..db5840bc 100644 --- a/libsolidity/inlineasm/AsmData.h +++ b/libsolidity/inlineasm/AsmData.h @@ -22,10 +22,13 @@ #pragma once -#include <boost/variant.hpp> +#include <libsolidity/inlineasm/AsmDataForward.h> + #include <libevmasm/Instruction.h> #include <libevmasm/SourceLocation.h> +#include <boost/variant.hpp> + namespace dev { namespace solidity @@ -38,24 +41,6 @@ using Type = std::string; struct TypedName { SourceLocation location; std::string name; Type type; }; using TypedNameList = std::vector<TypedName>; -/// What follows are the AST nodes for assembly. - -struct Instruction; -struct Literal; -struct Label; -struct StackAssignment; -struct Identifier; -struct Assignment; -struct VariableDeclaration; -struct FunctionalInstruction; -struct FunctionDefinition; -struct FunctionCall; -struct Switch; -struct ForLoop; -struct Block; - -using Statement = boost::variant<Instruction, Literal, Label, StackAssignment, Identifier, Assignment, FunctionCall, FunctionalInstruction, VariableDeclaration, FunctionDefinition, Switch, ForLoop, Block>; - /// Direct EVM instruction (except PUSHi and JUMPDEST) struct Instruction { SourceLocation location; solidity::Instruction instruction; }; /// Literal number or string (up to 32 bytes) |