mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Renamed url to identifier and added some comments.
This commit is contained in:
parent
d4a958e1fe
commit
25273778dc
10
AST.h
10
AST.h
@ -98,19 +98,21 @@ private:
|
||||
|
||||
/**
|
||||
* Import directive for referencing other files / source objects.
|
||||
* Example: import "abc.sol"
|
||||
* Source objects are identified by a string which can be a file name but does not have to be.
|
||||
*/
|
||||
class ImportDirective: public ASTNode
|
||||
{
|
||||
public:
|
||||
ImportDirective(Location const& _location, ASTPointer<ASTString> const& _url):
|
||||
ASTNode(_location), m_url(_url) {}
|
||||
ImportDirective(Location const& _location, ASTPointer<ASTString> const& _identifier):
|
||||
ASTNode(_location), m_identifier(_identifier) {}
|
||||
|
||||
virtual void accept(ASTVisitor& _visitor) override;
|
||||
|
||||
ASTString const& getURL() const { return *m_url; }
|
||||
ASTString const& getIdentifier() const { return *m_identifier; }
|
||||
|
||||
private:
|
||||
ASTPointer<ASTString> m_url;
|
||||
ASTPointer<ASTString> m_identifier;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -45,7 +45,7 @@ void ASTPrinter::print(ostream& _stream)
|
||||
|
||||
bool ASTPrinter::visit(ImportDirective& _node)
|
||||
{
|
||||
writeLine("ImportDirective \"" + _node.getURL() + "\"");
|
||||
writeLine("ImportDirective \"" + _node.getIdentifier() + "\"");
|
||||
printSourcePart(_node);
|
||||
return goDeeper();
|
||||
}
|
||||
|
@ -201,12 +201,12 @@ void CompilerStack::resolveImports()
|
||||
for (ASTPointer<ASTNode> const& node: _source->ast->getNodes())
|
||||
if (ImportDirective const* import = dynamic_cast<ImportDirective*>(node.get()))
|
||||
{
|
||||
string const& url = import->getURL();
|
||||
if (!m_sources.count(url))
|
||||
string const& id = import->getIdentifier();
|
||||
if (!m_sources.count(id))
|
||||
BOOST_THROW_EXCEPTION(ParserError()
|
||||
<< errinfo_sourceLocation(import->getLocation())
|
||||
<< errinfo_comment("Source not found."));
|
||||
toposort(&m_sources[url]);
|
||||
toposort(&m_sources[id]);
|
||||
}
|
||||
sourceOrder.push_back(_source);
|
||||
};
|
||||
|
@ -66,7 +66,7 @@ public:
|
||||
/// Returns a list of the contract names in the sources.
|
||||
std::vector<std::string> getContractNames();
|
||||
|
||||
/// Compiles the source units that were prevously added and parsed.
|
||||
/// Compiles the source units that were previously added and parsed.
|
||||
void compile(bool _optimize = false);
|
||||
/// Parses and compiles the given source code.
|
||||
/// @returns the compiled bytecode
|
||||
|
@ -40,6 +40,7 @@ NameAndTypeResolver::NameAndTypeResolver(std::vector<Declaration*> const& _globa
|
||||
|
||||
void NameAndTypeResolver::registerDeclarations(SourceUnit& _sourceUnit)
|
||||
{
|
||||
// The helper registers all declarations in m_scopes as a side-effect of its construction.
|
||||
DeclarationRegistrationHelper registrar(m_scopes, _sourceUnit);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user