diff options
author | Liana Husikyan <liana@ethdev.com> | 2015-05-07 16:12:27 +0800 |
---|---|---|
committer | Liana Husikyan <liana@ethdev.com> | 2015-05-08 23:51:52 +0800 |
commit | 115c22c0e001fd0f9c440c45b33009bfe99697f8 (patch) | |
tree | c014363b1b8491a16f65b0a6c2a22cab4a8dc884 /NameAndTypeResolver.h | |
parent | 4fdfbaa3674a1597d1f192075700ac5951772193 (diff) | |
download | dexon-solidity-115c22c0e001fd0f9c440c45b33009bfe99697f8.tar.gz dexon-solidity-115c22c0e001fd0f9c440c45b33009bfe99697f8.tar.zst dexon-solidity-115c22c0e001fd0f9c440c45b33009bfe99697f8.zip |
changed the way of resolving declarations. now the cleanup of function duplications in libsolidity/NameAndTypeResolver.cpp(WIP)
Diffstat (limited to 'NameAndTypeResolver.h')
-rw-r--r-- | NameAndTypeResolver.h | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/NameAndTypeResolver.h b/NameAndTypeResolver.h index 6528bbef..21857352 100644 --- a/NameAndTypeResolver.h +++ b/NameAndTypeResolver.h @@ -56,19 +56,20 @@ public: /// Resolves the given @a _name inside the scope @a _scope. If @a _scope is omitted, /// the global scope is used (i.e. the one containing only the contract). /// @returns a pointer to the declaration on success or nullptr on failure. - std::set<Declaration const*> resolveName(ASTString const& _name, Declaration const* _scope = nullptr) const; + std::vector<const Declaration *> resolveName(ASTString const& _name, Declaration const* _scope = nullptr) const; /// Resolves a name in the "current" scope. Should only be called during the initial /// resolving phase. - std::set<Declaration const*> getNameFromCurrentScope(ASTString const& _name, bool _recursive = true); + std::vector<Declaration const*> getNameFromCurrentScope(ASTString const& _name, bool _recursive = true); + + std::vector<Declaration const*> cleanupedDeclarations(Identifier const& _identifier); private: void reset(); - /// Either imports all non-function members or all function members declared directly in the - /// given contract (i.e. does not import inherited members) into the current scope if they are - ///not present already. - void importInheritedScope(ContractDefinition const& _base, bool _importFunctions); + /// Imports all members declared directly in the given contract (i.e. does not import inherited members) + /// into the current scope if they are not present already. + void importInheritedScope(ContractDefinition const& _base); /// Computes "C3-Linearization" of base contracts and stores it inside the contract. void linearizeBaseContracts(ContractDefinition& _contract) const; |