108 lines · plain
1// RUN: mlir-pdll-lsp-server -pdll-extra-dir %S -pdll-extra-dir %S/../../include -lit-test < %s | FileCheck -strict-whitespace %s2{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":123,"rootPath":"pdll","capabilities":{},"trace":"off"}}3// -----4{"jsonrpc":"2.0","method":"textDocument/didOpen","params":{"textDocument":{5 "uri":"test:///foo.pdll",6 "languageId":"pdll",7 "version":1,8 "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}}}10// -----11{"jsonrpc":"2.0","id":2,"method":"textDocument/inlayHint","params":{12 "textDocument":{"uri":"test:///foo.pdll"},13 "range": {14 "start": {"line":3,"character":0},15 "end": {"line":5,"character":0}16 }17}}18// CHECK: "id": 2,19// CHECK-NEXT: "jsonrpc": "2.0",20// CHECK-NEXT: "result": [21// CHECK-NEXT: {22// CHECK-NEXT: "kind": 2,23// CHECK-NEXT: "label": "operand:",24// CHECK-NEXT: "paddingLeft": false,25// CHECK-NEXT: "paddingRight": true,26// CHECK-NEXT: "position": {27// CHECK-NEXT: "character": 17,28// CHECK-NEXT: "line": 329// CHECK-NEXT: }30// CHECK-NEXT: },31// CHECK-NEXT: {32// CHECK-NEXT: "kind": 2,33// CHECK-NEXT: "label": "operand2:",34// CHECK-NEXT: "paddingLeft": false,35// CHECK-NEXT: "paddingRight": true,36// CHECK-NEXT: "position": {37// CHECK-NEXT: "character": 27,38// CHECK-NEXT: "line": 339// CHECK-NEXT: }40// CHECK-NEXT: },41// CHECK-NEXT: {42// CHECK-NEXT: "kind": 2,43// CHECK-NEXT: "label": "operands:",44// CHECK-NEXT: "paddingLeft": false,45// CHECK-NEXT: "paddingRight": true,46// CHECK-NEXT: "position": {47// CHECK-NEXT: "character": 17,48// CHECK-NEXT: "line": 449// CHECK-NEXT: }50// CHECK-NEXT: },51// CHECK-NEXT: {52// CHECK-NEXT: "kind": 2,53// CHECK-NEXT: "label": "result:",54// CHECK-NEXT: "paddingLeft": false,55// CHECK-NEXT: "paddingRight": true,56// CHECK-NEXT: "position": {57// CHECK-NEXT: "character": 36,58// CHECK-NEXT: "line": 459// CHECK-NEXT: }60// CHECK-NEXT: },61// CHECK-NEXT: {62// CHECK-NEXT: "kind": 2,63// CHECK-NEXT: "label": "result2:",64// CHECK-NEXT: "paddingLeft": false,65// CHECK-NEXT: "paddingRight": true,66// CHECK-NEXT: "position": {67// CHECK-NEXT: "character": 45,68// CHECK-NEXT: "line": 469// CHECK-NEXT: }70// CHECK-NEXT: }71// CHECK-NEXT: ]72// -----73{"jsonrpc":"2.0","id":3,"method":"textDocument/inlayHint","params":{74 "textDocument":{"uri":"test:///foo.pdll"},75 "range": {76 "start": {"line":5,"character":0},77 "end": {"line":8,"character":0}78 }79}}80// CHECK: "id": 3,81// CHECK-NEXT: "jsonrpc": "2.0",82// CHECK-NEXT: "result": [83// CHECK-NEXT: {84// CHECK-NEXT: "kind": 1,85// CHECK-NEXT: "label": ": Value",86// CHECK-NEXT: "paddingLeft": false,87// CHECK-NEXT: "paddingRight": false,88// CHECK-NEXT: "position": {89// CHECK-NEXT: "character": 11,90// CHECK-NEXT: "line": 691// CHECK-NEXT: }92// CHECK-NEXT: },93// CHECK-NEXT: {94// CHECK-NEXT: "kind": 2,95// CHECK-NEXT: "label": "attr:",96// CHECK-NEXT: "paddingLeft": false,97// CHECK-NEXT: "paddingRight": true,98// CHECK-NEXT: "position": {99// CHECK-NEXT: "character": 6,100// CHECK-NEXT: "line": 7101// CHECK-NEXT: }102// CHECK-NEXT: }103// CHECK-NEXT: ]104// -----105{"jsonrpc":"2.0","id":4,"method":"shutdown"}106// -----107{"jsonrpc":"2.0","method":"exit"}108