diff options
author | chriseth <chris@ethereum.org> | 2017-06-14 20:12:33 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-14 20:12:33 +0800 |
commit | 43cfab70d0dfb7e5a6058ba2a84874f7622abb2f (patch) | |
tree | e93dd49913dfcde29c52a9c42bdcb9e0ae66bfa6 /libsolidity/inlineasm/AsmAnalysis.h | |
parent | c99c1c76f7ce2963b1401b53676ca3bbb0eadbea (diff) | |
parent | 154002cda05a75203b625d23ce507787bd5fa5e4 (diff) | |
download | dexon-solidity-43cfab70d0dfb7e5a6058ba2a84874f7622abb2f.tar.gz dexon-solidity-43cfab70d0dfb7e5a6058ba2a84874f7622abb2f.tar.zst dexon-solidity-43cfab70d0dfb7e5a6058ba2a84874f7622abb2f.zip |
Merge pull request #2389 from ethereum/moveLabelIDs
Move LabelIDs to generation phase.
Diffstat (limited to 'libsolidity/inlineasm/AsmAnalysis.h')
-rw-r--r-- | libsolidity/inlineasm/AsmAnalysis.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/libsolidity/inlineasm/AsmAnalysis.h b/libsolidity/inlineasm/AsmAnalysis.h index 55b409ba..2516722a 100644 --- a/libsolidity/inlineasm/AsmAnalysis.h +++ b/libsolidity/inlineasm/AsmAnalysis.h @@ -22,6 +22,8 @@ #include <libsolidity/interface/Exceptions.h> +#include <libsolidity/inlineasm/AsmScope.h> + #include <libjulia/backends/evm/AbstractAssembly.h> #include <boost/variant.hpp> @@ -51,9 +53,6 @@ struct FunctionCall; struct Switch; using Statement = boost::variant<Instruction, Literal, Label, StackAssignment, Identifier, Assignment, FunctionCall, FunctionalInstruction, VariableDeclaration, FunctionDefinition, Switch, Block>; - -struct Scope; - struct AsmAnalysisInfo; /** @@ -102,6 +101,9 @@ private: int m_stackHeight = 0; julia::ExternalIdentifierAccess::Resolver m_resolver; Scope* m_currentScope = nullptr; + /// Variables that are active at the current point in assembly (as opposed to + /// "part of the scope but not yet declared") + std::set<Scope::Variable const*> m_activeVariables; AsmAnalysisInfo& m_info; ErrorReporter& m_errorReporter; bool m_julia = false; |