Add include file to forward-declare inline assembly structs.

This commit is contained in:
chriseth
2017-06-16 10:56:21 +01:00
committed by Alex Beregszaszi
parent 49b1112117
commit 8e5c4bf21d
7 changed files with 65 additions and 77 deletions
+4 -19
View File
@@ -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)