Skip to content

Commit 896d7da

Browse files
committed
Update dsymbol and dparse
1 parent 762dee0 commit 896d7da

File tree

12 files changed

+42
-34
lines changed

12 files changed

+42
-34
lines changed

dsymbol

dub.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
"targetType": "executable",
88
"versions": ["built_with_dub"],
99
"dependencies": {
10-
"libdparse": "0.7.0-alpha.15",
11-
"dsymbol": "0.2.0-alpha.10",
10+
"libdparse": "0.7.0-beta.1",
11+
"dsymbol": "0.2.0-beta.1",
1212
"inifiled": ">=0.0.6",
13-
"emsi_containers": "0.5.0"
13+
"emsi_containers": "0.5.2"
1414
},
1515
}

libdparse

src/analysis/builtin_property_names.d

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import dparse.lexer;
1212
import analysis.base;
1313
import analysis.helpers;
1414
import dsymbol.scope_;
15+
import std.algorithm : map;
1516

1617
/**
1718
* The following code should be killed with fire:
@@ -56,7 +57,7 @@ class BuiltinPropertyNameCheck : BaseAnalyzer
5657
override void visit(const AutoDeclaration ad)
5758
{
5859
if (depth > 0)
59-
foreach (i; ad.identifiers)
60+
foreach (i; ad.parts.map!(a => a.identifier))
6061
{
6162
if (isBuiltinProperty(i.text))
6263
addErrorMessage(i.line, i.column, KEY, generateErrorMessage(i.text));

src/analysis/enumarrayliteral.d

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ module analysis.enumarrayliteral;
88
import dparse.ast;
99
import dparse.lexer;
1010
import analysis.base;
11-
import std.algorithm : canFind;
11+
import std.algorithm : canFind, map;
1212
import dsymbol.scope_ : Scope;
1313

1414
void doNothing(string, size_t, size_t, string, bool)
@@ -35,19 +35,19 @@ class EnumArrayLiteralCheck : BaseAnalyzer
3535
{
3636
if (autoDec.storageClasses.canFind!(a => a.token == tok!"enum"))
3737
{
38-
foreach (i, initializer; autoDec.initializers)
38+
foreach (part; autoDec.parts)
3939
{
40-
if (initializer is null)
40+
if (part.initializer is null)
4141
continue;
42-
if (initializer.nonVoidInitializer is null)
42+
if (part.initializer.nonVoidInitializer is null)
4343
continue;
44-
if (initializer.nonVoidInitializer.arrayInitializer is null)
44+
if (part.initializer.nonVoidInitializer.arrayInitializer is null)
4545
continue;
46-
addErrorMessage(autoDec.identifiers[i].line, autoDec.identifiers[i].column,
46+
addErrorMessage(part.identifier.line, part.identifier.column,
4747
"dscanner.performance.enum_array_literal",
4848
"This enum may lead to unnecessary allocation at run-time."
4949
~ " Use 'static immutable "
50-
~ autoDec.identifiers[i].text ~ " = [ ...' instead.");
50+
~ part.identifier.text ~ " = [ ...' instead.");
5151
}
5252
}
5353
autoDec.accept(this);

src/analysis/undocumented.d

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,9 +98,9 @@ class UndocumentedDeclarationCheck : BaseAnalyzer
9898
return;
9999
if (variable.autoDeclaration !is null)
100100
{
101-
addMessage(variable.autoDeclaration.identifiers[0].line,
102-
variable.autoDeclaration.identifiers[0].column,
103-
variable.autoDeclaration.identifiers[0].text);
101+
addMessage(variable.autoDeclaration.parts[0].identifier.line,
102+
variable.autoDeclaration.parts[0].identifier.column,
103+
variable.autoDeclaration.parts[0].identifier.text);
104104
return;
105105
}
106106
foreach (dec; variable.declarators)

src/analysis/unmodified.d

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,11 +73,12 @@ class UnmodifiedFinder : BaseAnalyzer
7373
&& (!autoDeclaration.storageClasses.canFind!(a => a.token == tok!"const"
7474
|| a.token == tok!"enum" || a.token == tok!"immutable")))
7575
{
76-
foreach (size_t i, id; autoDeclaration.identifiers)
76+
foreach (part; autoDeclaration.parts)
7777
{
78-
if (initializedFromCast(autoDeclaration.initializers[i]))
78+
if (initializedFromCast(part.initializer))
7979
continue;
80-
tree[$ - 1].insert(new VariableInfo(id.text, id.line, id.column));
80+
tree[$ - 1].insert(new VariableInfo(part.identifier.text,
81+
part.identifier.line, part.identifier.column));
8182
}
8283
}
8384
autoDeclaration.accept(this);

src/analysis/unused.d

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import analysis.base;
1010
import std.container;
1111
import std.regex : Regex, regex, matchAll;
1212
import dsymbol.scope_ : Scope;
13+
import std.algorithm : map;
1314

1415
/**
1516
* Checks for unused variables.
@@ -259,7 +260,7 @@ class UnusedVariableCheck : BaseAnalyzer
259260

260261
override void visit(const AutoDeclaration autoDeclaration)
261262
{
262-
foreach (t; autoDeclaration.identifiers)
263+
foreach (t; autoDeclaration.parts.map!(a => a.identifier))
263264
this.variableDeclared(t.text, t.line, t.column, false, false);
264265
autoDeclaration.accept(this);
265266
}

src/astprinter.d

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -165,17 +165,22 @@ class XMLPrinter : ASTVisitor
165165
visit(sc);
166166
output.writeln("</storageClasses>");
167167

168-
for (size_t i = 0; i < autoDec.identifiers.length; i++)
169-
{
170-
output.writeln("<item>");
171-
output.writeln("<name line=\"", autoDec.identifiers[i].line, "\">",
172-
autoDec.identifiers[i].text, "</name>");
173-
visit(autoDec.initializers[i]);
174-
output.writeln("</item>");
175-
}
168+
foreach (part; autoDec.parts)
169+
visit(part);
176170
output.writeln("</autoDeclaration>");
177171
}
178172

173+
override void visit(const AutoDeclarationPart part)
174+
{
175+
output.writeln("<autoDeclarationPart>");
176+
177+
output.writeln("<item>");
178+
output.writeln("<name line=\"", part.identifier.line, "\">", part.identifier.text, "</name>");
179+
visit(part.initializer);
180+
output.writeln("</item>");
181+
output.writeln("</autoDeclarationPart>");
182+
}
183+
179184
override void visit(const BreakStatement breakStatement)
180185
{
181186
if (breakStatement.label.type == tok!"")

src/ctags.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ final class CTagsPrinter : ASTVisitor
213213

214214
override void visit(const AutoDeclaration dec)
215215
{
216-
foreach (i; dec.identifiers)
216+
foreach (i; dec.parts.map!(a => a.identifier))
217217
{
218218
tagLines.insert("%s\t%s\t%d;\"\tv\tline:%d%s%s\n".format(i.text,
219219
fileName, i.line, i.line, context.c, context.access));

src/etags.d

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,9 +234,9 @@ final class EtagsPrinter : ASTVisitor
234234

235235
override void visit(const AutoDeclaration dec)
236236
{
237-
foreach (i; dec.identifiers)
237+
foreach (part; dec.parts)
238238
{
239-
maketag(i);
239+
maketag(part.identifier);
240240
}
241241
dec.accept(this);
242242
}

src/symbol_finder.d

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,10 @@ class FinderVisitor : ASTVisitor
102102

103103
override void visit(const AutoDeclaration ad)
104104
{
105-
foreach (id; ad.identifiers)
105+
foreach (part; ad.parts)
106106
{
107-
if (id.text == symbolName)
108-
output.writefln("%s(%d:%d)", fileName, id.line, id.column);
107+
if (part.identifier.text == symbolName)
108+
output.writefln("%s(%d:%d)", fileName, part.identifier.line, part.identifier.column);
109109
}
110110
}
111111

0 commit comments

Comments
 (0)