@@ -66,7 +66,7 @@ void query_with_conflicting_groupby() {
6666 assertThat (tokens .get (6 )).isEqualTo (new SemanticTokenData (28 , 30 , "keyword" , new String [0 ]));
6767 assertThat (tokens .get (7 )).isEqualTo (new SemanticTokenData (31 , 32 , "variable" , new String [0 ]));
6868 assertThat (tokens .get (8 )).isEqualTo (new SemanticTokenData (32 , 33 , "operator" , new String [0 ]));
69- assertThat (tokens .get (9 )).isEqualTo (new SemanticTokenData (33 , 37 , "method " , new String [0 ]));
69+ assertThat (tokens .get (9 )).isEqualTo (new SemanticTokenData (33 , 37 , "property " , new String [0 ]));
7070
7171 assertThat (tokens .size ()).isEqualTo (10 );
7272 }
@@ -84,11 +84,11 @@ void query_with_parameter() {
8484 assertThat (tokens .get (7 )).isEqualTo (new SemanticTokenData (44 , 48 , "keyword" , new String [0 ])); // join
8585 assertThat (tokens .get (8 )).isEqualTo (new SemanticTokenData (50 , 55 , "variable" , new String [0 ])); // owner
8686 assertThat (tokens .get (9 )).isEqualTo (new SemanticTokenData (55 , 56 , "operator" , new String [0 ])); // .
87- assertThat (tokens .get (10 )).isEqualTo (new SemanticTokenData (56 , 60 , "method " , new String [0 ])); // pets
87+ assertThat (tokens .get (10 )).isEqualTo (new SemanticTokenData (56 , 60 , "property " , new String [0 ])); // pets
8888 assertThat (tokens .get (11 )).isEqualTo (new SemanticTokenData (61 , 66 , "keyword" , new String [0 ])); // WHERE
8989 assertThat (tokens .get (12 )).isEqualTo (new SemanticTokenData (67 , 72 , "variable" , new String [0 ])); // owner
9090 assertThat (tokens .get (13 )).isEqualTo (new SemanticTokenData (72 , 73 , "operator" , new String [0 ])); // .
91- assertThat (tokens .get (14 )).isEqualTo (new SemanticTokenData (73 , 81 , "method " , new String [0 ])); // lastName
91+ assertThat (tokens .get (14 )).isEqualTo (new SemanticTokenData (73 , 81 , "property " , new String [0 ])); // lastName
9292 assertThat (tokens .get (15 )).isEqualTo (new SemanticTokenData (82 , 86 , "keyword" , new String [0 ])); // LIKE
9393 assertThat (tokens .get (16 )).isEqualTo (new SemanticTokenData (87 , 88 , "operator" , new String [0 ])); // :
9494 assertThat (tokens .get (17 )).isEqualTo (new SemanticTokenData (88 , 96 , "parameter" , new String [0 ])); // lastName
@@ -110,11 +110,11 @@ void query_with_SPEL() {
110110 assertThat (tokens .get (7 )).isEqualTo (new SemanticTokenData (40 , 45 , "keyword" , new String [0 ])); // fetch
111111 assertThat (tokens .get (8 )).isEqualTo (new SemanticTokenData (46 , 51 , "variable" , new String [0 ])); // owner
112112 assertThat (tokens .get (9 )).isEqualTo (new SemanticTokenData (51 , 52 , "operator" , new String [0 ])); // .
113- assertThat (tokens .get (10 )).isEqualTo (new SemanticTokenData (52 , 56 , "method " , new String [0 ])); // pets
113+ assertThat (tokens .get (10 )).isEqualTo (new SemanticTokenData (52 , 56 , "property " , new String [0 ])); // pets
114114 assertThat (tokens .get (11 )).isEqualTo (new SemanticTokenData (57 , 62 , "keyword" , new String [0 ])); // WHERE
115115 assertThat (tokens .get (12 )).isEqualTo (new SemanticTokenData (63 , 68 , "variable" , new String [0 ])); // owner
116116 assertThat (tokens .get (13 )).isEqualTo (new SemanticTokenData (68 , 69 , "operator" , new String [0 ])); // .
117- assertThat (tokens .get (14 )).isEqualTo (new SemanticTokenData (69 , 71 , "method " , new String [0 ])); // id
117+ assertThat (tokens .get (14 )).isEqualTo (new SemanticTokenData (69 , 71 , "property " , new String [0 ])); // id
118118 assertThat (tokens .get (15 )).isEqualTo (new SemanticTokenData (72 , 73 , "operator" , new String [0 ])); // =
119119 assertThat (tokens .get (16 )).isEqualTo (new SemanticTokenData (73 , 74 , "operator" , new String [0 ])); // :
120120 assertThat (tokens .get (17 )).isEqualTo (new SemanticTokenData (74 , 76 , "operator" , new String [0 ])); // #{
@@ -138,11 +138,11 @@ void query_with_SPEL_Tokens() {
138138 assertThat (tokens .get (7 )).isEqualTo (new SemanticTokenData (40 , 45 , "keyword" , new String [0 ])); // fetch
139139 assertThat (tokens .get (8 )).isEqualTo (new SemanticTokenData (46 , 51 , "variable" , new String [0 ])); // owner
140140 assertThat (tokens .get (9 )).isEqualTo (new SemanticTokenData (51 , 52 , "operator" , new String [0 ])); // .
141- assertThat (tokens .get (10 )).isEqualTo (new SemanticTokenData (52 , 56 , "method " , new String [0 ])); // pets
141+ assertThat (tokens .get (10 )).isEqualTo (new SemanticTokenData (52 , 56 , "property " , new String [0 ])); // pets
142142 assertThat (tokens .get (11 )).isEqualTo (new SemanticTokenData (57 , 62 , "keyword" , new String [0 ])); // WHERE
143143 assertThat (tokens .get (12 )).isEqualTo (new SemanticTokenData (63 , 68 , "variable" , new String [0 ])); // owner
144144 assertThat (tokens .get (13 )).isEqualTo (new SemanticTokenData (68 , 69 , "operator" , new String [0 ])); // .
145- assertThat (tokens .get (14 )).isEqualTo (new SemanticTokenData (69 , 71 , "method " , new String [0 ])); // id
145+ assertThat (tokens .get (14 )).isEqualTo (new SemanticTokenData (69 , 71 , "property " , new String [0 ])); // id
146146 assertThat (tokens .get (15 )).isEqualTo (new SemanticTokenData (72 , 73 , "operator" , new String [0 ])); // =
147147 assertThat (tokens .get (16 )).isEqualTo (new SemanticTokenData (73 , 74 , "operator" , new String [0 ])); // :
148148 assertThat (tokens .get (17 )).isEqualTo (new SemanticTokenData (74 , 76 , "operator" , new String [0 ])); // #{
@@ -166,11 +166,11 @@ void query_with_complex_SPEL_Tokens() {
166166 assertThat (tokens .get (7 )).isEqualTo (new SemanticTokenData (40 , 45 , "keyword" , new String [0 ])); // fetch
167167 assertThat (tokens .get (8 )).isEqualTo (new SemanticTokenData (46 , 51 , "variable" , new String [0 ])); // owner
168168 assertThat (tokens .get (9 )).isEqualTo (new SemanticTokenData (51 , 52 , "operator" , new String [0 ])); // .
169- assertThat (tokens .get (10 )).isEqualTo (new SemanticTokenData (52 , 56 , "method " , new String [0 ])); // pets
169+ assertThat (tokens .get (10 )).isEqualTo (new SemanticTokenData (52 , 56 , "property " , new String [0 ])); // pets
170170 assertThat (tokens .get (11 )).isEqualTo (new SemanticTokenData (57 , 62 , "keyword" , new String [0 ])); // WHERE
171171 assertThat (tokens .get (12 )).isEqualTo (new SemanticTokenData (63 , 68 , "variable" , new String [0 ])); // owner
172172 assertThat (tokens .get (13 )).isEqualTo (new SemanticTokenData (68 , 69 , "operator" , new String [0 ])); // .
173- assertThat (tokens .get (14 )).isEqualTo (new SemanticTokenData (69 , 71 , "method " , new String [0 ])); // id
173+ assertThat (tokens .get (14 )).isEqualTo (new SemanticTokenData (69 , 71 , "property " , new String [0 ])); // id
174174 assertThat (tokens .get (15 )).isEqualTo (new SemanticTokenData (72 , 73 , "operator" , new String [0 ])); // =
175175 assertThat (tokens .get (16 )).isEqualTo (new SemanticTokenData (73 , 74 , "operator" , new String [0 ])); // :
176176 assertThat (tokens .get (17 )).isEqualTo (new SemanticTokenData (74 , 76 , "operator" , new String [0 ])); // #{
@@ -189,4 +189,44 @@ void query_with_complex_SPEL_Tokens() {
189189
190190 assertThat (tokens .size ()).isEqualTo (30 );
191191 }
192+
193+ @ Test
194+ void instatiotation_1 () {
195+ provider = new HqlSemanticTokens (Optional .of (new SpelSemanticTokens ()));
196+ List <SemanticTokenData > tokens = provider .computeTokens ("SELECT new com.example.ls.issue.SampleTableSizePojo(t.schemaName, sum(t.tableSize) ) FROM MTables t GROUP BY t.schemaName ORDER BY sum(t.tableSize) DESC" , 0 );
197+ assertThat (tokens .size ()).isEqualTo (32 );
198+
199+ assertThat (tokens .get (0 )).isEqualTo (new SemanticTokenData (0 , 6 , "keyword" , new String [0 ])); // SELECT
200+ assertThat (tokens .get (1 )).isEqualTo (new SemanticTokenData (7 , 10 , "keyword" , new String [0 ])); // new
201+ assertThat (tokens .get (2 )).isEqualTo (new SemanticTokenData (11 , 51 , "method" , new String [0 ])); // com.example.ls.issue.SampleTableSizePojo
202+ assertThat (tokens .get (3 )).isEqualTo (new SemanticTokenData (51 , 52 , "operator" , new String [0 ])); // (
203+ assertThat (tokens .get (4 )).isEqualTo (new SemanticTokenData (52 , 53 , "variable" , new String [0 ])); // t
204+ assertThat (tokens .get (5 )).isEqualTo (new SemanticTokenData (53 , 54 , "operator" , new String [0 ])); // .
205+ assertThat (tokens .get (6 )).isEqualTo (new SemanticTokenData (54 , 64 , "property" , new String [0 ])); // schemaName
206+ assertThat (tokens .get (7 )).isEqualTo (new SemanticTokenData (64 , 65 , "operator" , new String [0 ])); // ,
207+ assertThat (tokens .get (8 )).isEqualTo (new SemanticTokenData (66 , 69 , "keyword" , new String [0 ])); // sum
208+ assertThat (tokens .get (9 )).isEqualTo (new SemanticTokenData (69 , 70 , "operator" , new String [0 ])); // (
209+ assertThat (tokens .get (10 )).isEqualTo (new SemanticTokenData (70 , 71 , "variable" , new String [0 ])); // t
210+ assertThat (tokens .get (11 )).isEqualTo (new SemanticTokenData (71 , 72 , "operator" , new String [0 ])); // .
211+ assertThat (tokens .get (12 )).isEqualTo (new SemanticTokenData (72 , 81 , "property" , new String [0 ])); // tableSize
212+ assertThat (tokens .get (13 )).isEqualTo (new SemanticTokenData (81 , 82 , "operator" , new String [0 ])); // )
213+ assertThat (tokens .get (14 )).isEqualTo (new SemanticTokenData (83 , 84 , "operator" , new String [0 ])); // )
214+ assertThat (tokens .get (15 )).isEqualTo (new SemanticTokenData (85 , 89 , "keyword" , new String [0 ])); // FROM
215+ assertThat (tokens .get (16 )).isEqualTo (new SemanticTokenData (90 , 97 , "class" , new String [0 ])); // MTables
216+ assertThat (tokens .get (17 )).isEqualTo (new SemanticTokenData (98 , 99 , "variable" , new String [0 ])); // t
217+ assertThat (tokens .get (18 )).isEqualTo (new SemanticTokenData (100 , 105 , "keyword" , new String [0 ])); // GROUP
218+ assertThat (tokens .get (19 )).isEqualTo (new SemanticTokenData (106 , 108 , "keyword" , new String [0 ])); // BY
219+ assertThat (tokens .get (20 )).isEqualTo (new SemanticTokenData (109 , 110 , "variable" , new String [0 ])); // t
220+ assertThat (tokens .get (21 )).isEqualTo (new SemanticTokenData (110 , 111 , "operator" , new String [0 ])); // .
221+ assertThat (tokens .get (22 )).isEqualTo (new SemanticTokenData (111 , 121 , "property" , new String [0 ])); // schemaName
222+ assertThat (tokens .get (23 )).isEqualTo (new SemanticTokenData (122 , 127 , "keyword" , new String [0 ])); // ORDER
223+ assertThat (tokens .get (24 )).isEqualTo (new SemanticTokenData (128 , 130 , "keyword" , new String [0 ])); // BY
224+ assertThat (tokens .get (25 )).isEqualTo (new SemanticTokenData (131 , 134 , "keyword" , new String [0 ])); // sum
225+ assertThat (tokens .get (26 )).isEqualTo (new SemanticTokenData (134 , 135 , "operator" , new String [0 ])); // (
226+ assertThat (tokens .get (27 )).isEqualTo (new SemanticTokenData (135 , 136 , "variable" , new String [0 ])); // t
227+ assertThat (tokens .get (28 )).isEqualTo (new SemanticTokenData (136 , 137 , "operator" , new String [0 ])); // .
228+ assertThat (tokens .get (29 )).isEqualTo (new SemanticTokenData (137 , 146 , "property" , new String [0 ])); // tableSize
229+ assertThat (tokens .get (30 )).isEqualTo (new SemanticTokenData (146 , 147 , "operator" , new String [0 ])); // )
230+ assertThat (tokens .get (31 )).isEqualTo (new SemanticTokenData (148 , 152 , "keyword" , new String [0 ])); // DESC
231+ }
192232}
0 commit comments