1*5919eab5SRiver Riddle// RUN: mlir-pdll-lsp-server -pdll-extra-dir %S -pdll-extra-dir %S/../../include -lit-test < %s | FileCheck -strict-whitespace %s 2*5919eab5SRiver Riddle{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"pdll","capabilities":{},"trace":"off"}} 3*5919eab5SRiver Riddle// ----- 4*5919eab5SRiver Riddle{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{ 5*5919eab5SRiver Riddle "uri":"test:///foo.pdll", 6*5919eab5SRiver Riddle "languageId":"pdll", 7*5919eab5SRiver Riddle "version":1, 8*5919eab5SRiver Riddle "text":"#include \"include/included.td\"\nConstraint Cst(attr: Attr);\nPattern {\n op<test.multi>(_: Value, _: Value);\n op<test.multi>(_: ValueRange) -> (_: Type, _: Type);\n let op = op<test.multi>;\n let value = op.0;\n Cst(_: Attr);\n erase op;\n}\n" 9*5919eab5SRiver Riddle}}} 10*5919eab5SRiver Riddle// ----- 11*5919eab5SRiver Riddle{"jsonrpc":"2.0","id":2,"method":"textDocument/inlayHint","params":{ 12*5919eab5SRiver Riddle "textDocument":{"uri":"test:///foo.pdll"}, 13*5919eab5SRiver Riddle "range": { 14*5919eab5SRiver Riddle "start": {"line":3,"character":0}, 15*5919eab5SRiver Riddle "end": {"line":5,"character":0} 16*5919eab5SRiver Riddle } 17*5919eab5SRiver Riddle}} 18*5919eab5SRiver Riddle// CHECK: "id": 2, 19*5919eab5SRiver Riddle// CHECK-NEXT: "jsonrpc": "2.0", 20*5919eab5SRiver Riddle// CHECK-NEXT: "result": [ 21*5919eab5SRiver Riddle// CHECK-NEXT: { 22*5919eab5SRiver Riddle// CHECK-NEXT: "kind": 2, 23*5919eab5SRiver Riddle// CHECK-NEXT: "label": "operand:", 24*5919eab5SRiver Riddle// CHECK-NEXT: "paddingLeft": false, 25*5919eab5SRiver Riddle// CHECK-NEXT: "paddingRight": true, 26*5919eab5SRiver Riddle// CHECK-NEXT: "position": { 27*5919eab5SRiver Riddle// CHECK-NEXT: "character": 17, 28*5919eab5SRiver Riddle// CHECK-NEXT: "line": 3 29*5919eab5SRiver Riddle// CHECK-NEXT: } 30*5919eab5SRiver Riddle// CHECK-NEXT: }, 31*5919eab5SRiver Riddle// CHECK-NEXT: { 32*5919eab5SRiver Riddle// CHECK-NEXT: "kind": 2, 33*5919eab5SRiver Riddle// CHECK-NEXT: "label": "operand2:", 34*5919eab5SRiver Riddle// CHECK-NEXT: "paddingLeft": false, 35*5919eab5SRiver Riddle// CHECK-NEXT: "paddingRight": true, 36*5919eab5SRiver Riddle// CHECK-NEXT: "position": { 37*5919eab5SRiver Riddle// CHECK-NEXT: "character": 27, 38*5919eab5SRiver Riddle// CHECK-NEXT: "line": 3 39*5919eab5SRiver Riddle// CHECK-NEXT: } 40*5919eab5SRiver Riddle// CHECK-NEXT: }, 41*5919eab5SRiver Riddle// CHECK-NEXT: { 42*5919eab5SRiver Riddle// CHECK-NEXT: "kind": 2, 43*5919eab5SRiver Riddle// CHECK-NEXT: "label": "operands:", 44*5919eab5SRiver Riddle// CHECK-NEXT: "paddingLeft": false, 45*5919eab5SRiver Riddle// CHECK-NEXT: "paddingRight": true, 46*5919eab5SRiver Riddle// CHECK-NEXT: "position": { 47*5919eab5SRiver Riddle// CHECK-NEXT: "character": 17, 48*5919eab5SRiver Riddle// CHECK-NEXT: "line": 4 49*5919eab5SRiver Riddle// CHECK-NEXT: } 50*5919eab5SRiver Riddle// CHECK-NEXT: }, 51*5919eab5SRiver Riddle// CHECK-NEXT: { 52*5919eab5SRiver Riddle// CHECK-NEXT: "kind": 2, 53*5919eab5SRiver Riddle// CHECK-NEXT: "label": "result:", 54*5919eab5SRiver Riddle// CHECK-NEXT: "paddingLeft": false, 55*5919eab5SRiver Riddle// CHECK-NEXT: "paddingRight": true, 56*5919eab5SRiver Riddle// CHECK-NEXT: "position": { 57*5919eab5SRiver Riddle// CHECK-NEXT: "character": 36, 58*5919eab5SRiver Riddle// CHECK-NEXT: "line": 4 59*5919eab5SRiver Riddle// CHECK-NEXT: } 60*5919eab5SRiver Riddle// CHECK-NEXT: }, 61*5919eab5SRiver Riddle// CHECK-NEXT: { 62*5919eab5SRiver Riddle// CHECK-NEXT: "kind": 2, 63*5919eab5SRiver Riddle// CHECK-NEXT: "label": "result2:", 64*5919eab5SRiver Riddle// CHECK-NEXT: "paddingLeft": false, 65*5919eab5SRiver Riddle// CHECK-NEXT: "paddingRight": true, 66*5919eab5SRiver Riddle// CHECK-NEXT: "position": { 67*5919eab5SRiver Riddle// CHECK-NEXT: "character": 45, 68*5919eab5SRiver Riddle// CHECK-NEXT: "line": 4 69*5919eab5SRiver Riddle// CHECK-NEXT: } 70*5919eab5SRiver Riddle// CHECK-NEXT: } 71*5919eab5SRiver Riddle// CHECK-NEXT: ] 72*5919eab5SRiver Riddle// ----- 73*5919eab5SRiver Riddle{"jsonrpc":"2.0","id":3,"method":"textDocument/inlayHint","params":{ 74*5919eab5SRiver Riddle "textDocument":{"uri":"test:///foo.pdll"}, 75*5919eab5SRiver Riddle "range": { 76*5919eab5SRiver Riddle "start": {"line":5,"character":0}, 77*5919eab5SRiver Riddle "end": {"line":8,"character":0} 78*5919eab5SRiver Riddle } 79*5919eab5SRiver Riddle}} 80*5919eab5SRiver Riddle// CHECK: "id": 3, 81*5919eab5SRiver Riddle// CHECK-NEXT: "jsonrpc": "2.0", 82*5919eab5SRiver Riddle// CHECK-NEXT: "result": [ 83*5919eab5SRiver Riddle// CHECK-NEXT: { 84*5919eab5SRiver Riddle// CHECK-NEXT: "kind": 1, 85*5919eab5SRiver Riddle// CHECK-NEXT: "label": ": Value", 86*5919eab5SRiver Riddle// CHECK-NEXT: "paddingLeft": false, 87*5919eab5SRiver Riddle// CHECK-NEXT: "paddingRight": false, 88*5919eab5SRiver Riddle// CHECK-NEXT: "position": { 89*5919eab5SRiver Riddle// CHECK-NEXT: "character": 11, 90*5919eab5SRiver Riddle// CHECK-NEXT: "line": 6 91*5919eab5SRiver Riddle// CHECK-NEXT: } 92*5919eab5SRiver Riddle// CHECK-NEXT: }, 93*5919eab5SRiver Riddle// CHECK-NEXT: { 94*5919eab5SRiver Riddle// CHECK-NEXT: "kind": 2, 95*5919eab5SRiver Riddle// CHECK-NEXT: "label": "attr:", 96*5919eab5SRiver Riddle// CHECK-NEXT: "paddingLeft": false, 97*5919eab5SRiver Riddle// CHECK-NEXT: "paddingRight": true, 98*5919eab5SRiver Riddle// CHECK-NEXT: "position": { 99*5919eab5SRiver Riddle// CHECK-NEXT: "character": 6, 100*5919eab5SRiver Riddle// CHECK-NEXT: "line": 7 101*5919eab5SRiver Riddle// CHECK-NEXT: } 102*5919eab5SRiver Riddle// CHECK-NEXT: } 103*5919eab5SRiver Riddle// CHECK-NEXT: ] 104*5919eab5SRiver Riddle// ----- 105*5919eab5SRiver Riddle{"jsonrpc":"2.0","id":4,"method":"shutdown"} 106*5919eab5SRiver Riddle// ----- 107*5919eab5SRiver Riddle{"jsonrpc":"2.0","method":"exit"} 108