Fix #149
This commit is contained in:
parent
77d12c769e
commit
335c445912
15
imports.d
15
imports.d
|
@ -7,14 +7,19 @@ module imports;
|
||||||
|
|
||||||
import stdx.d.ast;
|
import stdx.d.ast;
|
||||||
import std.stdio;
|
import std.stdio;
|
||||||
|
import std.container;
|
||||||
|
|
||||||
class ImportPrinter : ASTVisitor
|
class ImportPrinter : ASTVisitor
|
||||||
{
|
{
|
||||||
|
this()
|
||||||
|
{
|
||||||
|
imports = new RedBlackTree!string;
|
||||||
|
}
|
||||||
|
|
||||||
override void visit(const SingleImport singleImport)
|
override void visit(const SingleImport singleImport)
|
||||||
{
|
{
|
||||||
ignore = false;
|
ignore = false;
|
||||||
singleImport.accept(this);
|
singleImport.accept(this);
|
||||||
writeln();
|
|
||||||
ignore = true;
|
ignore = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,15 +27,19 @@ class ImportPrinter : ASTVisitor
|
||||||
{
|
{
|
||||||
if (ignore) return;
|
if (ignore) return;
|
||||||
bool first = true;
|
bool first = true;
|
||||||
|
string s;
|
||||||
foreach (ident; identifierChain.identifiers)
|
foreach (ident; identifierChain.identifiers)
|
||||||
{
|
{
|
||||||
if (!first)
|
if (!first)
|
||||||
write(".");
|
s ~= ".";
|
||||||
write(ident.text);
|
s ~= ident.text;
|
||||||
first = false;
|
first = false;
|
||||||
}
|
}
|
||||||
|
imports.insert(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RedBlackTree!string imports;
|
||||||
|
|
||||||
alias visit = ASTVisitor.visit;
|
alias visit = ASTVisitor.visit;
|
||||||
|
|
||||||
bool ignore = true;
|
bool ignore = true;
|
||||||
|
|
Loading…
Reference in New Issue