diff --git a/.gitmodules b/.gitmodules index 9838e3c..921283e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,13 +1,13 @@ [submodule "libdparse"] path = libdparse - url = https://github.com/Hackerpilot/libdparse.git + url = https://github.com/dlang-community/libdparse.git branch = master [submodule "inifiled"] path = inifiled url = https://github.com/burner/inifiled.git [submodule "containers"] path = containers - url = https://github.com/economicmodeling/containers.git + url = https://github.com/dlang-community/containers.git [submodule "dsymbol"] path = dsymbol url = https://github.com/Hackerpilot/dsymbol.git diff --git a/appveyor.yml b/appveyor.yml index 1efddc5..72992d1 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,12 +1,12 @@ platform: x64 environment: matrix: - - DC: dmd - DVersion: beta - arch: x64 - - DC: dmd - DVersion: beta - arch: x86 + #- DC: dmd + #DVersion: beta + #arch: x64 + #- DC: dmd + #DVersion: beta + #arch: x86 - DC: dmd DVersion: stable arch: x64 @@ -16,9 +16,9 @@ environment: #- DC: ldc #DVersion: beta #arch: x86 - - DC: ldc - DVersion: beta - arch: x64 + #- DC: ldc + #DVersion: beta + #arch: x64 #- DC: ldc #DVersion: stable #arch: x86 diff --git a/containers b/containers index 11289a9..f58dd7b 160000 --- a/containers +++ b/containers @@ -1 +1 @@ -Subproject commit 11289a9ea5f9de34e01cc157c81d0a962b70628f +Subproject commit f58dd7bf160f76762a79029a6bda7637d5a788e7 diff --git a/dsymbol b/dsymbol index f672685..89f6ee8 160000 --- a/dsymbol +++ b/dsymbol @@ -1 +1 @@ -Subproject commit f672685ab7f5408fb5a74a0cd54e5fc750090d9f +Subproject commit 89f6ee88bf8d0fc0df232cba56bf797f5b3b0487 diff --git a/dub.json b/dub.json index f41836b..d47d769 100644 --- a/dub.json +++ b/dub.json @@ -12,11 +12,11 @@ "StdLoggerDisableWarning" ], "dependencies" : { - "libdparse" : "~>0.7.2-alpha.5", - "dsymbol" : "~>0.2.9", + "libdparse" : "~>0.8.0-alpha.2", + "dsymbol" : "~>0.3.0-alpha.1", "inifiled" : ">=1.0.2", - "emsi_containers" : "~>0.5.3", - "libddoc" : "~>0.2.0" + "emsi_containers" : "~>0.6.0", + "libddoc" : "~>0.3.0-beta.1" }, "targetPath" : "bin" } diff --git a/libdparse b/libdparse index 1b0df8c..687c0ca 160000 --- a/libdparse +++ b/libdparse @@ -1 +1 @@ -Subproject commit 1b0df8cb838adfb73889faaea524d6d6a473a5df +Subproject commit 687c0ca751747ebe498c183da1a3ee3119d57932 diff --git a/src/analysis/alias_syntax_check.d b/src/analysis/alias_syntax_check.d index a628c7f..54568d7 100644 --- a/src/analysis/alias_syntax_check.d +++ b/src/analysis/alias_syntax_check.d @@ -23,12 +23,12 @@ class AliasSyntaxCheck : BaseAnalyzer override void visit(const AliasDeclaration ad) { - if (ad.identifierList is null) + if (ad.declaratorIdentifierList is null) return; - assert(ad.identifierList.identifiers.length > 0, + assert(ad.declaratorIdentifierList.identifiers.length > 0, "Identifier list length is zero, libdparse has a bug"); - addErrorMessage(ad.identifierList.identifiers[0].line, - ad.identifierList.identifiers[0].column, KEY, + addErrorMessage(ad.declaratorIdentifierList.identifiers[0].line, + ad.declaratorIdentifierList.identifiers[0].column, KEY, "Prefer the new \"'alias' identifier '=' type ';'\" syntax" ~ " to the old \"'alias' type identifier ';'\" syntax."); } diff --git a/src/analysis/pokemon.d b/src/analysis/pokemon.d index 9bfa303..1f79d42 100644 --- a/src/analysis/pokemon.d +++ b/src/analysis/pokemon.d @@ -63,12 +63,11 @@ class PokemonExceptionCheck : BaseAnalyzer return; } - if (type2.symbol.identifierOrTemplateChain.identifiersOrTemplateInstances.length != 1) + if (type2.typeIdentifierPart.typeIdentifierPart !is null) { return; } - const identOrTemplate = type2.symbol.identifierOrTemplateChain - .identifiersOrTemplateInstances[0]; + const identOrTemplate = type2.typeIdentifierPart.identifierOrTemplateInstance; if (identOrTemplate.templateInstance !is null) { return; diff --git a/src/analysis/unused.d b/src/analysis/unused.d index 38b246e..83f0aa2 100644 --- a/src/analysis/unused.d +++ b/src/analysis/unused.d @@ -276,10 +276,10 @@ class UnusedVariableCheck : BaseAnalyzer override void visit(const Type2 tp) { - if (tp.symbol && tp.symbol.identifierOrTemplateChain && - tp.symbol.identifierOrTemplateChain.identifiersOrTemplateInstances) + if (tp.typeIdentifierPart && + tp.typeIdentifierPart.identifierOrTemplateInstance) { - const IdentifierOrTemplateInstance idt = tp.symbol.identifierOrTemplateChain.identifiersOrTemplateInstances[0]; + const IdentifierOrTemplateInstance idt = tp.typeIdentifierPart.identifierOrTemplateInstance; if (idt.identifier != tok!"") variableUsed(idt.identifier.text); else if (idt.templateInstance) diff --git a/src/analysis/useless_initializer.d b/src/analysis/useless_initializer.d index 6240a64..181ae76 100644 --- a/src/analysis/useless_initializer.d +++ b/src/analysis/useless_initializer.d @@ -171,11 +171,11 @@ public: bool isStr, isSzInt; Token customType; - if (decl.type.type2.symbol && decl.type.type2.symbol.identifierOrTemplateChain && - decl.type.type2.symbol.identifierOrTemplateChain.identifiersOrTemplateInstances.length == 1) + if (decl.type.type2.typeIdentifierPart && + decl.type.type2.typeIdentifierPart.typeIdentifierPart is null) { const IdentifierOrTemplateInstance idt = - decl.type.type2.symbol.identifierOrTemplateChain.identifiersOrTemplateInstances[0]; + decl.type.type2.typeIdentifierPart.identifierOrTemplateInstance; customType = idt.identifier; isStr = customType.text.among("string", "wstring", "dstring") != 0; diff --git a/src/astprinter.d b/src/astprinter.d index 9253c9d..b2cba22 100644 --- a/src/astprinter.d +++ b/src/astprinter.d @@ -605,10 +605,10 @@ class XMLPrinter : ASTVisitor if (linkageAttribute.hasPlusPlus) { output.write(" 0) + if (linkageAttribute.typeIdentifierPart !is null && linkageAttribute.typeIdentifierPart.typeIdentifierPart !is null) { output.write(" namespace=\""); - format(output.lockingTextWriter, linkageAttribute.identifierChain); + format(output.lockingTextWriter, linkageAttribute.typeIdentifierPart); output.writeln("\"/>"); } else if (linkageAttribute.classOrStruct == tok!"class") @@ -894,8 +894,8 @@ class XMLPrinter : ASTVisitor if (type2.builtinType != tok!"") { output.writeln("", str(type2.builtinType), ""); - if (type2.identifierOrTemplateChain !is null) - visit(type2.identifierOrTemplateChain); + if (type2.typeIdentifierPart !is null) + visit(type2.typeIdentifierPart); } else { @@ -1077,6 +1077,7 @@ class XMLPrinter : ASTVisitor override void visit(const Declaration declaration) { mixin (tagAndAccept!"declaration"); } override void visit(const DeclarationOrStatement declarationOrStatement) { mixin (tagAndAccept!"declarationOrStatement"); } override void visit(const DeclarationsAndStatements declarationsAndStatements) { mixin (tagAndAccept!"declarationsAndStatements"); } + override void visit(const DeclaratorIdentifierList declaratorIdentifierList) { mixin (tagAndAccept!"declaratorIdentifierList"); } override void visit(const DefaultStatement defaultStatement) { mixin (tagAndAccept!"defaultStatement"); } override void visit(const DeleteExpression deleteExpression) { mixin (tagAndAccept!"deleteExpression"); } override void visit(const DeleteStatement deleteStatement) { mixin (tagAndAccept!"deleteStatement"); } @@ -1092,7 +1093,6 @@ class XMLPrinter : ASTVisitor override void visit(const FunctionBody functionBody) { mixin (tagAndAccept!"functionBody"); } override void visit(const FunctionCallExpression functionCallExpression) { mixin (tagAndAccept!"functionCallExpression"); } override void visit(const IdentifierChain identifierChain) { mixin (tagAndAccept!"identifierChain"); } - override void visit(const IdentifierList identifierList) { mixin (tagAndAccept!"identifierList"); } override void visit(const IdentifierOrTemplateChain identifierOrTemplateChain) { mixin (tagAndAccept!"identifierOrTemplateChain"); } override void visit(const IdentifierOrTemplateInstance identifierOrTemplateInstance) { mixin (tagAndAccept!"identifierOrTemplateInstance"); } override void visit(const ImportBindings importBindings) { mixin (tagAndAccept!"importBindings"); } @@ -1148,6 +1148,7 @@ class XMLPrinter : ASTVisitor override void visit(const TemplateValueParameterDefault templateValueParameterDefault) { mixin (tagAndAccept!"templateValueParameterDefault"); } override void visit(const TemplateValueParameter templateValueParameter) { mixin (tagAndAccept!"templateValueParameter"); } override void visit(const TernaryExpression ternaryExpression) { mixin (tagAndAccept!"ternaryExpression"); } + override void visit(const TypeIdentifierPart typeIdentifierPart) { mixin (tagAndAccept!"typeIdentifierPart"); } override void visit(const ThrowStatement throwStatement) { mixin (tagAndAccept!"throwStatement"); } override void visit(const TryStatement tryStatement) { mixin (tagAndAccept!"tryStatement"); } override void visit(const TemplateInstance templateInstance) { mixin (tagAndAccept!"templateInstance"); } override void visit(const TypeofExpression typeofExpression) { mixin (tagAndAccept!"typeofExpression"); } override void visit(const TypeSpecialization typeSpecialization) { mixin (tagAndAccept!"typeSpecialization"); } override void visit(const TraitsExpression traitsExpression) { mixin (tagAndAccept!"traitsExpression"); } diff --git a/src/ctags.d b/src/ctags.d index 939724a..990e1cc 100644 --- a/src/ctags.d +++ b/src/ctags.d @@ -322,9 +322,9 @@ final class CTagsPrinter : ASTVisitor override void visit(const AliasDeclaration dec) { // Old style alias - if (dec.identifierList) + if (dec.declaratorIdentifierList) { - foreach (i; dec.identifierList.identifiers) + foreach (i; dec.declaratorIdentifierList.identifiers) { tagLines.insert("%s\t%s\t%d;\"\ta\tline:%d%s%s\n".format(i.text, fileName, i.line, i.line, context.c, context.access)); diff --git a/src/etags.d b/src/etags.d index a072632..56b0ea9 100644 --- a/src/etags.d +++ b/src/etags.d @@ -245,9 +245,9 @@ final class EtagsPrinter : ASTVisitor override void visit(const AliasDeclaration dec) { // Old style alias - if (dec.identifierList) + if (dec.declaratorIdentifierList) { - foreach (i; dec.identifierList.identifiers) + foreach (i; dec.declaratorIdentifierList.identifiers) maketag(i); } dec.accept(this); diff --git a/src/symbol_finder.d b/src/symbol_finder.d index 7fabd01..e841355 100644 --- a/src/symbol_finder.d +++ b/src/symbol_finder.d @@ -95,9 +95,9 @@ class FinderVisitor : ASTVisitor override void visit(const AliasDeclaration dec) { - if (dec.identifierList !is null) + if (dec.declaratorIdentifierList !is null) { - foreach (ident; dec.identifierList.identifiers) + foreach (ident; dec.declaratorIdentifierList.identifiers) { if (ident.text == symbolName) output(fileName, ident.line, ident.column);