summaryrefslogtreecommitdiffstats
path: root/tests/language-server
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2025-07-29 07:35:58 -0700
committerGitHub <noreply@github.com>2025-07-29 14:35:58 +0000
commit855b1a262f3a769d44765e78f94e566d875b9286 (patch)
treeea41db3717f55aa5032b1f04d71729a452ec68b2 /tests/language-server
parentea6f8551ad38f2bcc32b542fd52ce17f3829cbeb (diff)
[Language Server]: Show signature help on generic parameters. (#7913)
* Show signature help on generic parameters. * Fix. * Update tests. * slang-test: make vvl error go through stderr. * update slang-rhi * Update slang-rhi
Diffstat (limited to 'tests/language-server')
-rw-r--r--tests/language-server/generic-signature-1.slang15
-rw-r--r--tests/language-server/generic-signature-2.slang15
-rw-r--r--tests/language-server/generic-signature-3.slang14
-rw-r--r--tests/language-server/generic-signature.slang15
-rw-r--r--tests/language-server/robustness-6.slang4
-rw-r--r--tests/language-server/tuple-completion.slang11
6 files changed, 73 insertions, 1 deletions
diff --git a/tests/language-server/generic-signature-1.slang b/tests/language-server/generic-signature-1.slang
new file mode 100644
index 000000000..b7a6d3112
--- /dev/null
+++ b/tests/language-server/generic-signature-1.slang
@@ -0,0 +1,15 @@
+//TEST:LANG_SERVER(filecheck=CHECK):
+struct Parent<V>
+{
+ static void test<T, int size>(vector<T, size> v, int m)
+ {}
+ static void test(){}
+}
+
+void use()
+{
+//SIGNATURE:12,25
+ Parent<int>.test(1, 2);
+}
+
+//CHECK:static func Parent<int>.test<T, size>(vector<T,size> v, int m) -> void \ No newline at end of file
diff --git a/tests/language-server/generic-signature-2.slang b/tests/language-server/generic-signature-2.slang
new file mode 100644
index 000000000..2acbf4113
--- /dev/null
+++ b/tests/language-server/generic-signature-2.slang
@@ -0,0 +1,15 @@
+//TEST:LANG_SERVER(filecheck=CHECK):
+struct Parent<V>
+{
+ static void test<T, int size>(vector<T, size> v, int m)
+ {}
+ static void test(){}
+}
+
+void use()
+{
+//SIGNATURE:12,22
+ Parent<int>.test<
+}
+
+//CHECK:static func Parent<int>.test<T, int size> -> void \ No newline at end of file
diff --git a/tests/language-server/generic-signature-3.slang b/tests/language-server/generic-signature-3.slang
new file mode 100644
index 000000000..e379245ea
--- /dev/null
+++ b/tests/language-server/generic-signature-3.slang
@@ -0,0 +1,14 @@
+//TEST:LANG_SERVER(filecheck=CHECK):
+struct Parent<V>
+{
+ static void test<T, int size>(vector<T, size> v, int m)
+ {}
+}
+
+void use()
+{
+//SIGNATURE:11,22
+ Parent<int>.test<float>
+}
+
+//CHECK:static func Parent<int>.test<T, int size> -> void \ No newline at end of file
diff --git a/tests/language-server/generic-signature.slang b/tests/language-server/generic-signature.slang
new file mode 100644
index 000000000..9e5e67a00
--- /dev/null
+++ b/tests/language-server/generic-signature.slang
@@ -0,0 +1,15 @@
+//TEST:LANG_SERVER(filecheck=CHECK):
+struct Parent<V>
+{
+ static void test<T, int size>(vector<T, size> v, int m)
+ {}
+ static void test(){}
+}
+
+void use()
+{
+//SIGNATURE:12,14
+ Parent<int>.test(1, 2);
+}
+
+//CHECK: struct Parent<V> \ No newline at end of file
diff --git a/tests/language-server/robustness-6.slang b/tests/language-server/robustness-6.slang
index ef5924cf3..9208b7969 100644
--- a/tests/language-server/robustness-6.slang
+++ b/tests/language-server/robustness-6.slang
@@ -1,4 +1,4 @@
-//TEST:LANG_SERVER:
+//TEST:LANG_SERVER(filecheck=CHECK):
//HOVER:4,8
float dsqr<T:II
@@ -8,3 +8,5 @@ float sqr<T:IInterface>(T obj, float x)
{
return no_diff(obj.calc(x)) + x * x;
}
+
+// CHECK: dsqr \ No newline at end of file
diff --git a/tests/language-server/tuple-completion.slang b/tests/language-server/tuple-completion.slang
new file mode 100644
index 000000000..d4a02a04f
--- /dev/null
+++ b/tests/language-server/tuple-completion.slang
@@ -0,0 +1,11 @@
+//TEST:LANG_SERVER(filecheck=CHECK):
+void f()
+{
+ Tuple<int,float> v;
+//COMPLETE:6,7
+ v.
+}
+
+// CHECK: _0
+// CHECK: _1
+// CHECK: equals \ No newline at end of file