From 6c04abc3f1a43cb6e22878880daf923ebb9737a4 Mon Sep 17 00:00:00 2001 From: sprinkle131313 Date: Sat, 11 Mar 2017 01:03:26 -0500 Subject: [PATCH] Fix issue 353: single template arg not recognized. --- src/server/autocomplete.d | 6 ------ tests/tc049/expected1.txt | 1 + tests/tc049/expected2.txt | 1 + tests/tc049/expected3.txt | 1 + tests/tc049/file.d | 17 +++++++++++++++++ tests/tc049/run.sh | 11 +++++++++++ 6 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 tests/tc049/expected1.txt create mode 100644 tests/tc049/expected2.txt create mode 100644 tests/tc049/expected3.txt create mode 100644 tests/tc049/file.d create mode 100755 tests/tc049/run.sh diff --git a/src/server/autocomplete.d b/src/server/autocomplete.d index b5b5700..f652bd4 100644 --- a/src/server/autocomplete.d +++ b/src/server/autocomplete.d @@ -1196,12 +1196,6 @@ T getExpression(T)(T beforeTokens) break expressionLoop; mixin (TYPE_IDENT_AND_LITERAL_CASES); mixin (EXPRESSION_LOOP_BREAK); - if (i > 1 && beforeTokens[i - 1] == tok!"!" - && beforeTokens[i - 2] == tok!"identifier") - { - sliceEnd -= 2; - i--; - } break; case tok!".": break; diff --git a/tests/tc049/expected1.txt b/tests/tc049/expected1.txt new file mode 100644 index 0000000..2d22db4 --- /dev/null +++ b/tests/tc049/expected1.txt @@ -0,0 +1 @@ +stdin 26 diff --git a/tests/tc049/expected2.txt b/tests/tc049/expected2.txt new file mode 100644 index 0000000..2d22db4 --- /dev/null +++ b/tests/tc049/expected2.txt @@ -0,0 +1 @@ +stdin 26 diff --git a/tests/tc049/expected3.txt b/tests/tc049/expected3.txt new file mode 100644 index 0000000..ca1d93b --- /dev/null +++ b/tests/tc049/expected3.txt @@ -0,0 +1 @@ +stdin 143 diff --git a/tests/tc049/file.d b/tests/tc049/file.d new file mode 100644 index 0000000..6d6605d --- /dev/null +++ b/tests/tc049/file.d @@ -0,0 +1,17 @@ +alias T(alias X) = X; +int foo; +alias baz = T!(foo); // works +alias bar = T!foo; // doesn't work + +final class ABC +{ + static @property bool mybool() + { + return true; + } +} + +void main() +{ + while(!ABC.mybool) {} +} diff --git a/tests/tc049/run.sh b/tests/tc049/run.sh new file mode 100755 index 0000000..3e11a79 --- /dev/null +++ b/tests/tc049/run.sh @@ -0,0 +1,11 @@ +set -e +set -u + +../../bin/dcd-client $1 file.d -l -c76 > actual1.txt +diff actual1.txt expected1.txt + +../../bin/dcd-client $1 file.d -l -c47 > actual2.txt +diff actual2.txt expected2.txt + +../../bin/dcd-client $1 file.d -l -c218 > actual3.txt +diff actual3.txt expected3.txt