xref: /llvm-project/mlir/test/mlir-pdll-lsp-server/inlay-hints.test (revision 5919eab55c1d3068605e6db1f7744dbcfa14ea1c)
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