xref: /llvm-project/mlir/test/mlir-pdll-lsp-server/references.test (revision 52b34df9d670e948a97dd72b8b5a426d7b3007c7)
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