207 lines · plain
1// RUN: mlir-lsp-server -lit-test < %s | FileCheck -strict-whitespace %s2{"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 = 1 : index\n!type = index\nfunc.func @foo(%arg0: !type) -> i1 attributes {attr = #attr} {\n%value = arith.constant true\n%result = call @foo(%arg0) : (!type) -> i1\nreturn %value : i1 loc(#loc)\n}\n#loc = loc(\"foo.mlir\":1:2)"9}}}10// -----11{"jsonrpc":"2.0","id":1,"method":"textDocument/references","params":{12 "textDocument":{"uri":"test:///foo.mlir"},13 "position":{"line":3,"character":2},14 "context":{"includeDeclaration": false}15}}16// CHECK: "id": 117// CHECK-NEXT: "jsonrpc": "2.0",18// CHECK-NEXT: "result": [19// CHECK-NEXT: {20// CHECK-NEXT: "range": {21// CHECK-NEXT: "end": {22// CHECK-NEXT: "character": 6,23// CHECK-NEXT: "line": 324// CHECK-NEXT: },25// CHECK-NEXT: "start": {26// CHECK-NEXT: "character": 0,27// CHECK-NEXT: "line": 328// CHECK-NEXT: }29// CHECK-NEXT: },30// CHECK-NEXT: "uri": "{{.*}}/foo.mlir"31// CHECK-NEXT: },32// CHECK-NEXT: {33// CHECK-NEXT: "range": {34// CHECK-NEXT: "end": {35// CHECK-NEXT: "character": 13,36// CHECK-NEXT: "line": 537// CHECK-NEXT: },38// CHECK-NEXT: "start": {39// CHECK-NEXT: "character": 7,40// CHECK-NEXT: "line": 541// CHECK-NEXT: }42// CHECK-NEXT: },43// CHECK-NEXT: "uri": "{{.*}}/foo.mlir"44// CHECK-NEXT: }45// CHECK-NEXT: ]46// -----47{"jsonrpc":"2.0","id":2,"method":"textDocument/references","params":{48 "textDocument":{"uri":"test:///foo.mlir"},49 "position":{"line":2,"character":12},50 "context":{"includeDeclaration": false}51}}52// CHECK: "id": 253// CHECK-NEXT: "jsonrpc": "2.0",54// CHECK-NEXT: "result": [55// CHECK-NEXT: {56// CHECK-NEXT: "range": {57// CHECK-NEXT: "end": {58// CHECK-NEXT: "character": 14,59// CHECK-NEXT: "line": 260// CHECK-NEXT: },61// CHECK-NEXT: "start": {62// CHECK-NEXT: "character": 10,63// CHECK-NEXT: "line": 264// CHECK-NEXT: }65// CHECK-NEXT: },66// CHECK-NEXT: "uri": "{{.*}}/foo.mlir"67// CHECK-NEXT: },68// CHECK-NEXT: {69// CHECK-NEXT: "range": {70// CHECK-NEXT: "end": {71// CHECK-NEXT: "character": 19,72// CHECK-NEXT: "line": 473// CHECK-NEXT: },74// CHECK-NEXT: "start": {75// CHECK-NEXT: "character": 15,76// CHECK-NEXT: "line": 477// CHECK-NEXT: }78// CHECK-NEXT: },79// CHECK-NEXT: "uri": "{{.*}}/foo.mlir"80// CHECK-NEXT: }81// CHECK-NEXT: ]82// -----83{"jsonrpc":"2.0","id":2,"method":"textDocument/references","params":{84 "textDocument":{"uri":"test:///foo.mlir"},85 "position":{"line":0,"character":3},86 "context":{"includeDeclaration": false}87}}88// CHECK: "id": 289// CHECK-NEXT: "jsonrpc": "2.0",90// CHECK-NEXT: "result": [91// CHECK-NEXT: {92// CHECK-NEXT: "range": {93// CHECK-NEXT: "end": {94// CHECK-NEXT: "character": 5,95// CHECK-NEXT: "line": 096// CHECK-NEXT: },97// CHECK-NEXT: "start": {98// CHECK-NEXT: "character": 0,99// CHECK-NEXT: "line": 0100// CHECK-NEXT: }101// CHECK-NEXT: },102// CHECK-NEXT: "uri": "{{.*}}/foo.mlir"103// CHECK-NEXT: },104// CHECK-NEXT: {105// CHECK-NEXT: "range": {106// CHECK-NEXT: "end": {107// CHECK-NEXT: "character": 59,108// CHECK-NEXT: "line": 2109// CHECK-NEXT: },110// CHECK-NEXT: "start": {111// CHECK-NEXT: "character": 54,112// CHECK-NEXT: "line": 2113// CHECK-NEXT: }114// CHECK-NEXT: },115// CHECK-NEXT: "uri": "{{.*}}/foo.mlir"116// CHECK-NEXT: }117// CHECK-NEXT: ]118// -----119{"jsonrpc":"2.0","id":2,"method":"textDocument/references","params":{120 "textDocument":{"uri":"test:///foo.mlir"},121 "position":{"line":1,"character":3},122 "context":{"includeDeclaration": false}123}}124// CHECK: "id": 2125// CHECK-NEXT: "jsonrpc": "2.0",126// CHECK-NEXT: "result": [127// CHECK-NEXT: {128// CHECK-NEXT: "range": {129// CHECK-NEXT: "end": {130// CHECK-NEXT: "character": 5,131// CHECK-NEXT: "line": 1132// CHECK-NEXT: },133// CHECK-NEXT: "start": {134// CHECK-NEXT: "character": 0,135// CHECK-NEXT: "line": 1136// CHECK-NEXT: }137// CHECK-NEXT: },138// CHECK-NEXT: "uri": "{{.*}}/foo.mlir"139// CHECK-NEXT: },140// CHECK-NEXT: {141// CHECK-NEXT: "range": {142// CHECK-NEXT: "end": {143// CHECK-NEXT: "character": 27,144// CHECK-NEXT: "line": 2145// CHECK-NEXT: },146// CHECK-NEXT: "start": {147// CHECK-NEXT: "character": 22,148// CHECK-NEXT: "line": 2149// CHECK-NEXT: }150// CHECK-NEXT: },151// CHECK-NEXT: "uri": "{{.*}}/foo.mlir"152// CHECK-NEXT: },153// CHECK-NEXT: {154// CHECK-NEXT: "range": {155// CHECK-NEXT: "end": {156// CHECK-NEXT: "character": 35,157// CHECK-NEXT: "line": 4158// CHECK-NEXT: },159// CHECK-NEXT: "start": {160// CHECK-NEXT: "character": 30,161// CHECK-NEXT: "line": 4162// CHECK-NEXT: }163// CHECK-NEXT: },164// CHECK-NEXT: "uri": "{{.*}}/foo.mlir"165// CHECK-NEXT: }166// CHECK-NEXT: ]167// -----168{"jsonrpc":"2.0","id":2,"method":"textDocument/references","params":{169 "textDocument":{"uri":"test:///foo.mlir"},170 "position":{"line":7,"character":3},171 "context":{"includeDeclaration": false}172}}173// CHECK: "id": 2174// CHECK-NEXT: "jsonrpc": "2.0",175// CHECK-NEXT: "result": [176// CHECK-NEXT: {177// CHECK-NEXT: "range": {178// CHECK-NEXT: "end": {179// CHECK-NEXT: "character": 4,180// CHECK-NEXT: "line": 7181// CHECK-NEXT: },182// CHECK-NEXT: "start": {183// CHECK-NEXT: "character": 0,184// CHECK-NEXT: "line": 7185// CHECK-NEXT: }186// CHECK-NEXT: },187// CHECK-NEXT: "uri": "{{.*}}/foo.mlir"188// CHECK-NEXT: },189// CHECK-NEXT: {190// CHECK-NEXT: "range": {191// CHECK-NEXT: "end": {192// CHECK-NEXT: "character": 27,193// CHECK-NEXT: "line": 5194// CHECK-NEXT: },195// CHECK-NEXT: "start": {196// CHECK-NEXT: "character": 23,197// CHECK-NEXT: "line": 5198// CHECK-NEXT: }199// CHECK-NEXT: },200// CHECK-NEXT: "uri": "{{.*}}/foo.mlir"201// CHECK-NEXT: }202// CHECK-NEXT: ]203// -----204{"jsonrpc":"2.0","id":3,"method":"shutdown"}205// -----206{"jsonrpc":"2.0","method":"exit"}207