1*52b34df9SRiver Riddle// RUN: mlir-pdll-lsp-server -lit-test < %s | FileCheck -strict-whitespace %s 2*52b34df9SRiver Riddle{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"pdll","capabilities":{},"trace":"off"}} 3*52b34df9SRiver Riddle// ----- 4*52b34df9SRiver Riddle{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{ 5*52b34df9SRiver Riddle "uri":"test:///foo.pdll", 6*52b34df9SRiver Riddle "languageId":"pdll", 7*52b34df9SRiver Riddle "version":1, 8*52b34df9SRiver Riddle "text":"Constraint ValueCst(value: Value);\nPattern {\nlet arg: ValueCst;\nlet root = op<test.op>(arg);\nreplace root with arg;\n}" 9*52b34df9SRiver Riddle}}} 10*52b34df9SRiver Riddle// ----- 11*52b34df9SRiver Riddle{"jsonrpc":"2.0","id":1,"method":"textDocument/references","params":{ 12*52b34df9SRiver Riddle "textDocument":{"uri":"test:///foo.pdll"}, 13*52b34df9SRiver Riddle "position":{"line":0,"character":15}, 14*52b34df9SRiver Riddle "context":{"includeDeclaration": false} 15*52b34df9SRiver Riddle}} 16*52b34df9SRiver Riddle// CHECK: "id": 1 17*52b34df9SRiver Riddle// CHECK-NEXT: "jsonrpc": "2.0", 18*52b34df9SRiver Riddle// CHECK-NEXT: "result": [ 19*52b34df9SRiver Riddle// CHECK-NEXT: { 20*52b34df9SRiver Riddle// CHECK-NEXT: "range": { 21*52b34df9SRiver Riddle// CHECK-NEXT: "end": { 22*52b34df9SRiver Riddle// CHECK-NEXT: "character": 19, 23*52b34df9SRiver Riddle// CHECK-NEXT: "line": 0 24*52b34df9SRiver Riddle// CHECK-NEXT: }, 25*52b34df9SRiver Riddle// CHECK-NEXT: "start": { 26*52b34df9SRiver Riddle// CHECK-NEXT: "character": 11, 27*52b34df9SRiver Riddle// CHECK-NEXT: "line": 0 28*52b34df9SRiver Riddle// CHECK-NEXT: } 29*52b34df9SRiver Riddle// CHECK-NEXT: }, 30*52b34df9SRiver Riddle// CHECK-NEXT: "uri": "{{.*}}/foo.pdll" 31*52b34df9SRiver Riddle// CHECK-NEXT: }, 32*52b34df9SRiver Riddle// CHECK-NEXT: { 33*52b34df9SRiver Riddle// CHECK-NEXT: "range": { 34*52b34df9SRiver Riddle// CHECK-NEXT: "end": { 35*52b34df9SRiver Riddle// CHECK-NEXT: "character": 17, 36*52b34df9SRiver Riddle// CHECK-NEXT: "line": 2 37*52b34df9SRiver Riddle// CHECK-NEXT: }, 38*52b34df9SRiver Riddle// CHECK-NEXT: "start": { 39*52b34df9SRiver Riddle// CHECK-NEXT: "character": 9, 40*52b34df9SRiver Riddle// CHECK-NEXT: "line": 2 41*52b34df9SRiver Riddle// CHECK-NEXT: } 42*52b34df9SRiver Riddle// CHECK-NEXT: }, 43*52b34df9SRiver Riddle// CHECK-NEXT: "uri": "{{.*}}/foo.pdll" 44*52b34df9SRiver Riddle// CHECK-NEXT: } 45*52b34df9SRiver Riddle// CHECK-NEXT: ] 46*52b34df9SRiver Riddle// ----- 47*52b34df9SRiver Riddle{"jsonrpc":"2.0","id":2,"method":"textDocument/references","params":{ 48*52b34df9SRiver Riddle "textDocument":{"uri":"test:///foo.pdll"}, 49*52b34df9SRiver Riddle "position":{"line":2,"character":6}, 50*52b34df9SRiver Riddle "context":{"includeDeclaration": false} 51*52b34df9SRiver Riddle}} 52*52b34df9SRiver Riddle// CHECK: "id": 2 53*52b34df9SRiver Riddle// CHECK-NEXT: "jsonrpc": "2.0", 54*52b34df9SRiver Riddle// CHECK-NEXT: "result": [ 55*52b34df9SRiver Riddle// CHECK-NEXT: { 56*52b34df9SRiver Riddle// CHECK-NEXT: "range": { 57*52b34df9SRiver Riddle// CHECK-NEXT: "end": { 58*52b34df9SRiver Riddle// CHECK-NEXT: "character": 7, 59*52b34df9SRiver Riddle// CHECK-NEXT: "line": 2 60*52b34df9SRiver Riddle// CHECK-NEXT: }, 61*52b34df9SRiver Riddle// CHECK-NEXT: "start": { 62*52b34df9SRiver Riddle// CHECK-NEXT: "character": 4, 63*52b34df9SRiver Riddle// CHECK-NEXT: "line": 2 64*52b34df9SRiver Riddle// CHECK-NEXT: } 65*52b34df9SRiver Riddle// CHECK-NEXT: }, 66*52b34df9SRiver Riddle// CHECK-NEXT: "uri": "{{.*}}/foo.pdll" 67*52b34df9SRiver Riddle// CHECK-NEXT: }, 68*52b34df9SRiver Riddle// CHECK-NEXT: { 69*52b34df9SRiver Riddle// CHECK-NEXT: "range": { 70*52b34df9SRiver Riddle// CHECK-NEXT: "end": { 71*52b34df9SRiver Riddle// CHECK-NEXT: "character": 26, 72*52b34df9SRiver Riddle// CHECK-NEXT: "line": 3 73*52b34df9SRiver Riddle// CHECK-NEXT: }, 74*52b34df9SRiver Riddle// CHECK-NEXT: "start": { 75*52b34df9SRiver Riddle// CHECK-NEXT: "character": 23, 76*52b34df9SRiver Riddle// CHECK-NEXT: "line": 3 77*52b34df9SRiver Riddle// CHECK-NEXT: } 78*52b34df9SRiver Riddle// CHECK-NEXT: }, 79*52b34df9SRiver Riddle// CHECK-NEXT: "uri": "{{.*}}/foo.pdll" 80*52b34df9SRiver Riddle// CHECK-NEXT: }, 81*52b34df9SRiver Riddle// CHECK-NEXT: { 82*52b34df9SRiver Riddle// CHECK-NEXT: "range": { 83*52b34df9SRiver Riddle// CHECK-NEXT: "end": { 84*52b34df9SRiver Riddle// CHECK-NEXT: "character": 21, 85*52b34df9SRiver Riddle// CHECK-NEXT: "line": 4 86*52b34df9SRiver Riddle// CHECK-NEXT: }, 87*52b34df9SRiver Riddle// CHECK-NEXT: "start": { 88*52b34df9SRiver Riddle// CHECK-NEXT: "character": 18, 89*52b34df9SRiver Riddle// CHECK-NEXT: "line": 4 90*52b34df9SRiver Riddle// CHECK-NEXT: } 91*52b34df9SRiver Riddle// CHECK-NEXT: }, 92*52b34df9SRiver Riddle// CHECK-NEXT: "uri": "{{.*}}/foo.pdll" 93*52b34df9SRiver Riddle// CHECK-NEXT: } 94*52b34df9SRiver Riddle// CHECK-NEXT: ] 95*52b34df9SRiver Riddle// ----- 96*52b34df9SRiver Riddle{"jsonrpc":"2.0","id":3,"method":"shutdown"} 97*52b34df9SRiver Riddle// ----- 98*52b34df9SRiver Riddle{"jsonrpc":"2.0","method":"exit"} 99