From 4d517794eaac7dfe6196e9a36d709d66c5720492 Mon Sep 17 00:00:00 2001 From: Yong He Date: Tue, 17 Jun 2025 21:36:10 -0700 Subject: LanguageServer: Enhance auto completion for override. (#7465) * Add additional completion keywords. * LanguageServer: Enhance auto completion for `override`. --- .../interfaces/interface-override.slang | 28 ++++++++++++++++++++++ tests/language-server/override-completion.slang | 16 +++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 tests/diagnostics/interfaces/interface-override.slang create mode 100644 tests/language-server/override-completion.slang (limited to 'tests') diff --git a/tests/diagnostics/interfaces/interface-override.slang b/tests/diagnostics/interfaces/interface-override.slang new file mode 100644 index 000000000..12539895b --- /dev/null +++ b/tests/diagnostics/interfaces/interface-override.slang @@ -0,0 +1,28 @@ +//DIAGNOSTIC_TEST:SIMPLE(filecheck=CHECK): + +interface IBase +{ + int f(); +} + +interface IDerived : IBase +{ + //CHECK-DAG: ([[# @LINE+1]]): error 30311: + __init() {} + + property int value{ + get; + + //CHECK-DAG: ([[# @LINE+1]]): error 30311: + set{ } + } + + __subscript(int index)->int + { + //CHECK-DAG: ([[# @LINE+1]]): error 30311: + get{} + } + + //CHECK-DAG: ([[# @LINE+1]]): error 30312: + override int f() {} +} \ No newline at end of file diff --git a/tests/language-server/override-completion.slang b/tests/language-server/override-completion.slang new file mode 100644 index 000000000..7cfd52b3e --- /dev/null +++ b/tests/language-server/override-completion.slang @@ -0,0 +1,16 @@ +//TEST:LANG_SERVER(filecheck=CHECK): +interface IBar{} +interface IFoo +{ + int eval(); + void execute(int x); +} + +struct Impl : IFoo +{ +//COMPLETE:12,14 + override +} + +//CHECK-DAG: int eval +//CHECK-DAG: void execute \ No newline at end of file -- cgit v1.2.3