aboutsummaryrefslogtreecommitdiffstats
path: root/NameAndTypeResolver.h
diff options
context:
space:
mode:
authorLiana Husikyan <liana@ethdev.com>2015-05-07 16:12:27 +0800
committerLiana Husikyan <liana@ethdev.com>2015-05-08 23:51:52 +0800
commit115c22c0e001fd0f9c440c45b33009bfe99697f8 (patch)
treec014363b1b8491a16f65b0a6c2a22cab4a8dc884 /NameAndTypeResolver.h
parent4fdfbaa3674a1597d1f192075700ac5951772193 (diff)
downloaddexon-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.h13
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;