comparison mlir/test/mlir-lsp-server/code-action.test @ 236:c4bab56944e8 llvm-original

LLVM 16
author kono
date Wed, 09 Nov 2022 17:45:10 +0900
parents
children
comparison
equal deleted inserted replaced
232:70dce7da266c 236:c4bab56944e8
1 // RUN: mlir-lsp-server -lit-test < %s | FileCheck -strict-whitespace %s
2 {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"mlir","capabilities":{},"trace":"off"}}
3 // -----
4 {"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{
5 "uri":"test:///foo.mlir",
6 "languageId":"mlir",
7 "version":1,
8 "text":"#attr = 42 : f32\n// -----\nfunc.func @foo(%arg: i32) -> i64 {\nreturn %arg : i64\n}\n"
9 }}}
10 // -----
11 {"jsonrpc":"2.0","id":1,"method":"textDocument/codeAction","params":{
12 "textDocument":{
13 "uri":"file:///foo.mlir"
14 },
15 "range":{
16 "start":{"line":0,"character":8}, "end":{"line":0,"character":10}
17 },
18 "context":{
19 "diagnostics":[{
20 "range":{"start":{"line":0,"character":8}, "end":{"line":0,"character":10}},
21 "message":"unexpected decimal integer literal for a floating point value",
22 "severity":1,
23 "relatedInformation":[{
24 "message":"add a trailing dot to make the literal a float",
25 "location":{
26 "uri":"file:///foo.mlir",
27 "range":{"start":{"line":0,"character":8}, "end":{"line":0,"character":10}}
28 }
29 }],
30 "source":"mlir"
31 }],
32 "only":["quickfix"],
33 "triggerKind":1
34 }
35 }}
36 // CHECK-LABEL: "id": 1
37 // CHECK-NEXT: "jsonrpc": "2.0",
38 // CHECK-NEXT: "result": [
39 // CHECK-NEXT: {
40 // CHECK-NEXT: "diagnostics": [
41 // CHECK-NEXT: {
42 // CHECK-NEXT: "message": "unexpected decimal integer literal for a floating point value",
43 // CHECK-NEXT: "range": {
44 // CHECK-NEXT: "end": {
45 // CHECK-NEXT: "character": 10,
46 // CHECK-NEXT: "line": 0
47 // CHECK-NEXT: },
48 // CHECK-NEXT: "start": {
49 // CHECK-NEXT: "character": 8,
50 // CHECK-NEXT: "line": 0
51 // CHECK-NEXT: }
52 // CHECK-NEXT: },
53 // CHECK-NEXT: "relatedInformation": [
54 // CHECK-NEXT: {
55 // CHECK-NEXT: "location": {
56 // CHECK-NEXT: "range": {
57 // CHECK-NEXT: "end": {
58 // CHECK-NEXT: "character": 10,
59 // CHECK-NEXT: "line": 0
60 // CHECK-NEXT: },
61 // CHECK-NEXT: "start": {
62 // CHECK-NEXT: "character": 8,
63 // CHECK-NEXT: "line": 0
64 // CHECK-NEXT: }
65 // CHECK-NEXT: },
66 // CHECK-NEXT: "uri": "file:///foo.mlir"
67 // CHECK-NEXT: },
68 // CHECK-NEXT: "message": "add a trailing dot to make the literal a float"
69 // CHECK-NEXT: }
70 // CHECK-NEXT: ],
71 // CHECK-NEXT: "severity": 1,
72 // CHECK-NEXT: "source": "mlir"
73 // CHECK-NEXT: }
74 // CHECK-NEXT: ],
75 // CHECK-NEXT: "edit": {
76 // CHECK-NEXT: "changes": {
77 // CHECK-NEXT: "file:///foo.mlir": [
78 // CHECK-NEXT: {
79 // CHECK-LITERAL: "newText": "// expected-error @below {{unexpected decimal integer literal for a floating point value}}\n"
80 // CHECK: "range": {
81 // CHECK-NEXT: "end": {
82 // CHECK-NEXT: "character": 0,
83 // CHECK-NEXT: "line": 0
84 // CHECK-NEXT: },
85 // CHECK-NEXT: "start": {
86 // CHECK-NEXT: "character": 0,
87 // CHECK-NEXT: "line": 0
88 // CHECK-NEXT: }
89 // CHECK-NEXT: }
90 // CHECK-NEXT: },
91 // CHECK-NEXT: {
92 // CHECK-NEXT-LITERAL: "newText": "// expected-note @below {{add a trailing dot to make the literal a float}}\n",
93 // CHECK: "range": {
94 // CHECK-NEXT: "end": {
95 // CHECK-NEXT: "character": 0,
96 // CHECK-NEXT: "line": 0
97 // CHECK-NEXT: },
98 // CHECK-NEXT: "start": {
99 // CHECK-NEXT: "character": 0,
100 // CHECK-NEXT: "line": 0
101 // CHECK-NEXT: }
102 // CHECK-NEXT: }
103 // CHECK-NEXT: }
104 // CHECK-NEXT: ]
105 // CHECK-NEXT: }
106 // CHECK-NEXT: },
107 // CHECK-NEXT: "kind": "quickfix",
108 // CHECK-NEXT: "title": "Add expected-* diagnostic checks"
109 // CHECK-NEXT: }
110 // CHECK-NEXT: ]
111 // -----
112 {"jsonrpc":"2.0","id":2,"method":"textDocument/codeAction","params":{
113 "textDocument":{"uri":"file:///foo.mlir"},
114 "range":{"start":{"line":3,"character":9},"end":{"line":3,"character":13}},
115 "context":{
116 "diagnostics":[{
117 "range":{"start":{"line":3,"character":9},"end":{"line":3,"character":13}},
118 "message":"use of value '%arg' expects different type than prior uses: 'i64' vs 'i32'",
119 "severity":1,
120 "relatedInformation":[{
121 "message":"prior use here",
122 "location":{
123 "uri":"file:///foo.mlir",
124 "range":{"start":{"line":2,"character":15},"end":{"line":2,"character":19}}
125 }
126 }],
127 "source":"mlir"
128 }],
129 "only":["quickfix"],
130 "triggerKind":1
131 }
132 }}
133 // CHECK-LABEL: "id": 2
134 // CHECK-NEXT: "jsonrpc": "2.0",
135 // CHECK-NEXT: "result": [
136 // CHECK-NEXT: {
137 // CHECK: "edit": {
138 // CHECK-NEXT: "changes": {
139 // CHECK-NEXT: "file:///foo.mlir": [
140 // CHECK-NEXT: {
141 // CHECK-NEXT-LITERAL: "newText": "// expected-error @below {{use of value '%arg' expects different type than prior uses: 'i64' vs 'i32'}}\n",
142 // CHECK: "range": {
143 // CHECK-NEXT: "end": {
144 // CHECK-NEXT: "character": 0,
145 // CHECK-NEXT: "line": 3
146 // CHECK-NEXT: },
147 // CHECK-NEXT: "start": {
148 // CHECK-NEXT: "character": 0,
149 // CHECK-NEXT: "line": 3
150 // CHECK-NEXT: }
151 // CHECK-NEXT: }
152 // CHECK-NEXT: },
153 // CHECK-NEXT: {
154 // CHECK-NEXT-LITERAL: "newText": "// expected-note @below {{prior use here}}\n",
155 // CHECK: "range": {
156 // CHECK-NEXT: "end": {
157 // CHECK-NEXT: "character": 0,
158 // CHECK-NEXT: "line": 2
159 // CHECK-NEXT: },
160 // CHECK-NEXT: "start": {
161 // CHECK-NEXT: "character": 0,
162 // CHECK-NEXT: "line": 2
163 // CHECK-NEXT: }
164 // CHECK-NEXT: }
165 // CHECK-NEXT: }
166 // CHECK-NEXT: ]
167 // CHECK-NEXT: }
168 // CHECK-NEXT: },
169 // CHECK-NEXT: "kind": "quickfix",
170 // CHECK-NEXT: "title": "Add expected-* diagnostic checks"
171 // CHECK-NEXT: }
172 // CHECK-NEXT: ]
173 // -----
174 {"jsonrpc":"2.0","id":10,"method":"shutdown"}
175 // -----
176 {"jsonrpc":"2.0","method":"exit"}