@openrewrite/rewrite 8.67.0-20251111-082857 → 8.67.0-20251111-123004
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/javascript/comparator.d.ts +77 -1
- package/dist/javascript/comparator.d.ts.map +1 -1
- package/dist/javascript/comparator.js +327 -10
- package/dist/javascript/comparator.js.map +1 -1
- package/dist/javascript/templating/engine.d.ts.map +1 -1
- package/dist/javascript/templating/engine.js +18 -9
- package/dist/javascript/templating/engine.js.map +1 -1
- package/dist/version.txt +1 -1
- package/package.json +1 -1
- package/src/javascript/comparator.ts +336 -3
- package/src/javascript/templating/engine.ts +18 -8
|
@@ -1195,6 +1195,58 @@ export declare class JavaScriptSemanticComparatorVisitor extends JavaScriptCompa
|
|
|
1195
1195
|
* @param lenientTypeMatching If true, allows matching between nodes with and without type annotations
|
|
1196
1196
|
*/
|
|
1197
1197
|
constructor(lenientTypeMatching?: boolean);
|
|
1198
|
+
/**
|
|
1199
|
+
* Unwraps parentheses from a tree node recursively.
|
|
1200
|
+
* This allows comparing expressions with and without redundant parentheses.
|
|
1201
|
+
*
|
|
1202
|
+
* @param tree The tree to unwrap
|
|
1203
|
+
* @returns The unwrapped tree
|
|
1204
|
+
*/
|
|
1205
|
+
protected unwrap(tree: Tree | undefined): Tree | undefined;
|
|
1206
|
+
visit<R extends J>(j: Tree, p: J, parent?: Cursor): Promise<R | undefined>;
|
|
1207
|
+
/**
|
|
1208
|
+
* Override visitArrowFunction to allow semantic equivalence between expression body
|
|
1209
|
+
* and block with single return statement forms.
|
|
1210
|
+
*
|
|
1211
|
+
* Examples:
|
|
1212
|
+
* - `x => x + 1` matches `x => { return x + 1; }`
|
|
1213
|
+
* - `(x, y) => x + y` matches `(x, y) => { return x + y; }`
|
|
1214
|
+
*/
|
|
1215
|
+
visitArrowFunction(arrowFunction: JS.ArrowFunction, other: J): Promise<J | undefined>;
|
|
1216
|
+
/**
|
|
1217
|
+
* Override visitLambdaParameters to allow semantic equivalence between
|
|
1218
|
+
* arrow functions with and without parentheses around single parameters.
|
|
1219
|
+
*
|
|
1220
|
+
* Examples:
|
|
1221
|
+
* - `x => x + 1` matches `(x) => x + 1`
|
|
1222
|
+
*/
|
|
1223
|
+
visitLambdaParameters(parameters: J.Lambda.Parameters, other: J): Promise<J | undefined>;
|
|
1224
|
+
/**
|
|
1225
|
+
* Override visitPropertyAssignment to allow semantic equivalence between
|
|
1226
|
+
* object property shorthand and longhand forms.
|
|
1227
|
+
*
|
|
1228
|
+
* Examples:
|
|
1229
|
+
* - `{ x }` matches `{ x: x }`
|
|
1230
|
+
* - `{ x: x, y: y }` matches `{ x, y }`
|
|
1231
|
+
*/
|
|
1232
|
+
visitPropertyAssignment(propertyAssignment: JS.PropertyAssignment, other: J): Promise<J | undefined>;
|
|
1233
|
+
/**
|
|
1234
|
+
* Extracts the property name from a PropertyAssignment.
|
|
1235
|
+
* Returns the simple name if the property is an identifier, undefined otherwise.
|
|
1236
|
+
*/
|
|
1237
|
+
private getPropertyName;
|
|
1238
|
+
/**
|
|
1239
|
+
* Checks if an expression is an identifier with the given name.
|
|
1240
|
+
*/
|
|
1241
|
+
private isIdentifierWithName;
|
|
1242
|
+
/**
|
|
1243
|
+
* Extracts the expression from an arrow function body.
|
|
1244
|
+
* Returns the expression if:
|
|
1245
|
+
* - body is already an Expression, OR
|
|
1246
|
+
* - body is a Block with exactly one Return statement
|
|
1247
|
+
* Otherwise returns undefined.
|
|
1248
|
+
*/
|
|
1249
|
+
private extractExpression;
|
|
1198
1250
|
/**
|
|
1199
1251
|
* Override visitProperty to allow lenient type matching.
|
|
1200
1252
|
* When lenientTypeMatching is enabled, null vs Type comparisons are allowed
|
|
@@ -1214,7 +1266,9 @@ export declare class JavaScriptSemanticComparatorVisitor extends JavaScriptCompa
|
|
|
1214
1266
|
*/
|
|
1215
1267
|
visitMethodInvocation(method: J.MethodInvocation, other: J): Promise<J | undefined>;
|
|
1216
1268
|
/**
|
|
1217
|
-
* Override identifier comparison to include
|
|
1269
|
+
* Override identifier comparison to include:
|
|
1270
|
+
* 1. Type checking for field access
|
|
1271
|
+
* 2. Semantic equivalence between `undefined` identifier and void expressions
|
|
1218
1272
|
*/
|
|
1219
1273
|
visitIdentifier(identifier: J.Identifier, other: J): Promise<J | undefined>;
|
|
1220
1274
|
/**
|
|
@@ -1229,5 +1283,27 @@ export declare class JavaScriptSemanticComparatorVisitor extends JavaScriptCompa
|
|
|
1229
1283
|
* code with returnTypeExpression.
|
|
1230
1284
|
*/
|
|
1231
1285
|
visitMethodDeclaration(methodDeclaration: J.MethodDeclaration, other: J): Promise<J | undefined>;
|
|
1286
|
+
/**
|
|
1287
|
+
* Override visitVoid to allow semantic equivalence with undefined identifier.
|
|
1288
|
+
* This handles the reverse case where the pattern is a void expression
|
|
1289
|
+
* and the source is the undefined identifier.
|
|
1290
|
+
*
|
|
1291
|
+
* Examples:
|
|
1292
|
+
* - `void 0` matches `undefined`
|
|
1293
|
+
* - `void(0)` matches `undefined`
|
|
1294
|
+
* - `void 1` matches `undefined`
|
|
1295
|
+
*/
|
|
1296
|
+
visitVoid(voidExpr: JS.Void, other: J): Promise<J | undefined>;
|
|
1297
|
+
/**
|
|
1298
|
+
* Override visitLiteral to allow semantic equivalence between
|
|
1299
|
+
* different numeric literal formats.
|
|
1300
|
+
*
|
|
1301
|
+
* Examples:
|
|
1302
|
+
* - `255` matches `0xFF`
|
|
1303
|
+
* - `255` matches `0o377`
|
|
1304
|
+
* - `255` matches `0b11111111`
|
|
1305
|
+
* - `1000` matches `1e3`
|
|
1306
|
+
*/
|
|
1307
|
+
visitLiteral(literal: J.Literal, other: J): Promise<J | undefined>;
|
|
1232
1308
|
}
|
|
1233
1309
|
//# sourceMappingURL=comparator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comparator.d.ts","sourceRoot":"","sources":["../../src/javascript/comparator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"comparator.d.ts","sourceRoot":"","sources":["../../src/javascript/comparator.ts"],"names":[],"mappings":"AAeA,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAC,CAAC,EAA4C,MAAM,SAAS,CAAC;AACrE,OAAO,EAAC,EAAE,EAAE,GAAG,EAAC,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,SAAS,CAAC;AAErC;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IACjE;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,OAAO,CAAQ;IAEhC;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;;;;OAQG;IACG,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUnG;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO;IAI9C;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IAK3B;;;;;;;OAOG;cACa,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA6C/D;;;;;;;;OAQG;cACa,YAAY,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IA6CtD,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAuBzF;;;;;OAKG;IACU,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAyB9G;;;;;OAKG;IACU,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAyBtI;;;;;OAKG;IACU,cAAc,CAAC,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAmClG;;;;;;OAMG;IACY,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI9E;;;;;;OAMG;IACY,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1F;;;;;;OAMG;IACY,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIjF;;;;;;OAMG;IACY,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3E;;;;;;OAMG;IACY,sBAAsB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI5G;;;;;;OAMG;IACY,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI5E;;;;;;OAMG;IACY,kBAAkB,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIpG;;;;;;OAMG;IACY,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI7E;;;;;;OAMG;IACY,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI9E;;;;;;OAMG;IACY,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI5F;;;;;;OAMG;IACY,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIrG;;;;;;OAMG;IACY,0BAA0B,CAAC,IAAI,EAAE,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIzG;;;;;;OAMG;IACY,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI/F;;;;;;OAMG;IACY,oBAAoB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1G;;;;;;OAMG;IACY,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIhF;;;;;;OAMG;IACY,wBAAwB,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAItH;;;;;;OAMG;IACY,gCAAgC,CAAC,2BAA2B,EAAE,EAAE,CAAC,2BAA2B,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI9I;;;;;;OAMG;IACY,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIjG;;;;;;OAMG;IACY,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIjG;;;;;;OAMG;IACY,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIxF;;;;;;OAMG;IACY,eAAe,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3F;;;;;;OAMG;IACY,sBAAsB,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI5F;;;;;;OAMG;IACY,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIjG;;;;;;OAMG;IACY,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIjG;;;;;;OAMG;IACY,oBAAoB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1G;;;;;;OAMG;IACY,qBAAqB,CAAC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI7G;;;;;;OAMG;IACY,yBAAyB,CAAC,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIzH;;;;;;OAMG;IACY,oBAAoB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1G;;;;;;OAMG;IACY,qBAAqB,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3F;;;;;;OAMG;IACY,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI9F;;;;;;OAMG;IACY,eAAe,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3F;;;;;;OAMG;IACY,4BAA4B,CAAC,aAAa,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIzH;;;;;;OAMG;IACY,wBAAwB,CAAC,mBAAmB,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIvH;;;;;;OAMG;IACY,yBAAyB,CAAC,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIzH;;;;;;OAMG;IACY,uBAAuB,CAAC,kBAAkB,EAAE,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAInH;;;;;;OAMG;IACY,wBAAwB,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAItH;;;;;;OAMG;IACY,+BAA+B,CAAC,0BAA0B,EAAE,EAAE,CAAC,0BAA0B,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3I;;;;;;OAMG;IACY,wBAAwB,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAItH;;;;;;OAMG;IACY,6BAA6B,CAAC,wBAAwB,EAAE,EAAE,CAAC,wBAAwB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIrI;;;;;;OAMG;IACY,uBAAuB,CAAC,kBAAkB,EAAE,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAInH;;;;;;OAMG;IACY,2BAA2B,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI9G;;;;;;OAMG;IACY,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI5E;;;;;;OAMG;IACY,oBAAoB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1G;;;;;;OAMG;IACY,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI/E;;;;;;OAMG;IACY,uBAAuB,CAAC,kBAAkB,EAAE,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAInH;;;;;;OAMG;IACY,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIpE;;;;;;OAMG;IACY,kCAAkC,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIhI;;;;;;OAMG;IACY,sBAAsB,CAAC,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIhH;;;;;;OAMG;IACY,+BAA+B,CAAC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3H;;;;;;OAMG;IACY,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIxF;;;;;;OAMG;IACY,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIrF;;;;;;OAMG;IACY,yBAAyB,CAAC,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIzH;;;;;;OAMG;IACY,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIjG;;;;;;OAMG;IACY,kBAAkB,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIpG;;;;;;OAMG;IACY,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI5E;;;;;;OAMG;IACY,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIjG;;;;;;OAMG;IACY,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAInG;;;;;;OAMG;IACY,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1F;;;;;;OAMG;IACY,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI7F;;;;;;OAMG;IACY,mBAAmB,CAAC,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAItG;;;;;;OAMG;IACY,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIvF;;;;;;OAMG;IACY,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIhF;;;;;;OAMG;IACY,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1F;;;;;;OAMG;IACY,wBAAwB,CAAC,QAAQ,EAAE,CAAC,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1G;;;;;;OAMG;IACY,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIpF;;;;;;OAMG;IACY,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIzE;;;;;;OAMG;IACY,qBAAqB,CAAC,SAAS,EAAE,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIrG;;;;;;OAMG;IACY,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIzG;;;;;;OAMG;IACY,oBAAoB,CAAC,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIzG;;;;;;OAMG;IACY,aAAa,CAAC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI7F;;;;;;OAMG;IACY,uBAAuB,CAAC,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI7H;;;;;;OAMG;IACY,0BAA0B,CAAC,OAAO,EAAE,CAAC,CAAC,qBAAqB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI7G;;;;;;OAMG;IACY,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI7F;;;;;;OAMG;IACY,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3E;;;;;;OAMG;IACY,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIvF;;;;;;OAMG;IACY,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIhG;;;;;;OAMG;IACY,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIvF;;;;;;OAMG;IACY,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI7F;;;;;;OAMG;IACY,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI7F;;;;;;OAMG;IACY,uBAAuB,CAAC,OAAO,EAAE,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIxG;;;;;;OAMG;IACY,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIjF;;;;;;OAMG;IACY,mBAAmB,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIhG;;;;;;OAMG;IACY,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3E;;;;;;OAMG;IACY,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIpF;;;;;;OAMG;IACY,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIvF;;;;;;OAMG;IACY,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1F;;;;;;OAMG;IACY,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI5G;;;;;;OAMG;IACY,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3E;;;;;;OAMG;IACY,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI9E;;;;;;OAMG;IACY,qBAAqB,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIvG;;;;;;OAMG;IACY,oBAAoB,CAAC,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIzG;;;;;;OAMG;IACY,sBAAsB,CAAC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI/G;;;;;;OAMG;IACY,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI5G;;;;;;OAMG;IACY,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIpF;;;;;;OAMG;IACY,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1F;;;;;;OAMG;IACY,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIpF;;;;;;OAMG;IACY,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIpF;;;;;;OAMG;IACY,iBAAiB,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIhG;;;;;;OAMG;IACY,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI5F;;;;;;OAMG;IACY,sBAAsB,CAAC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI/G;;;;;;OAMG;IACY,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIhG;;;;;;OAMG;IACY,0BAA0B,CAAC,qBAAqB,EAAE,CAAC,CAAC,qBAAqB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3H;;;;;;OAMG;IACY,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIvF;;;;;;OAMG;IACY,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIvF;;;;;;OAMG;IACY,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIvF;;;;;;OAMG;IACY,qBAAqB,CAAC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI5G;;;;;;OAMG;IACY,iBAAiB,CAAC,qBAAqB,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIzG;;;;;;OAMG;IACY,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIjF;;;;;;OAMG;IACY,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIpF;;;;;;OAMG;IACY,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI9E;;;;;;OAMG;IACY,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3F;;;;;;OAMG;IACY,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIrF;;;;;;OAMG;IACY,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIpF;;;;;;OAMG;IACY,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAInG;;;;;;OAMG;IACY,mBAAmB,CAAC,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAItG;;;;;;OAMG;IACY,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI3E;;;;;;OAMG;IACY,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIjF;;;;;;OAMG;IACY,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAInG;;;;;;OAMG;IACY,yBAAyB,CAAC,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIxH;;;;;;OAMG;IACY,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,oBAAoB,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI9G;;;;;;OAMG;IACY,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIvF;;;;;;OAMG;IACY,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIpF;;;;;;OAMG;IACY,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIpF;;;;;;OAMG;IACY,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1E;;;;;;OAMG;IACY,kBAAkB,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIpG;;;;;;OAMG;IACY,8BAA8B,CAAC,yBAAyB,EAAE,EAAE,CAAC,yBAAyB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIxI;;;;;;OAMG;IACY,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIxF;;;;;;OAMG;IACY,cAAc,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIxF;;;;;;OAMG;IACY,yBAAyB,CAAC,oBAAoB,EAAE,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIzH;;;;;;OAMG;IACY,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI9F;;;;;;OAMG;IACY,mBAAmB,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIvG;;;;;;OAMG;IACY,wBAAwB,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAItH;;;;;;OAMG;IACY,sBAAsB,CAAC,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIhH;;;;;;OAMG;IACY,qBAAqB,CAAC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI7G;;;;;;OAMG;IACY,iBAAiB,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAIjG;;;;;;OAMG;IACY,oBAAoB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAI1G;;;;;;OAMG;IACY,sCAAsC,CAAC,kBAAkB,EAAE,EAAE,CAAC,iCAAiC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAGpJ;AAED;;;;;GAKG;AACH,qBAAa,mCAAoC,SAAQ,2BAA2B;IAChF;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IAEhD;;;;OAIG;gBACS,mBAAmB,GAAE,OAAe;IAKhD;;;;;;OAMG;IACH,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS;IAoB3C,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAuBzF;;;;;;;OAOG;IACY,kBAAkB,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAkEpG;;;;;;OAMG;IACY,qBAAqB,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAsCvG;;;;;;;OAOG;IACY,uBAAuB,CAAC,kBAAkB,EAAE,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IA2CnH;;;OAGG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;;;OAIG;cACsB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAsBxE;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IA2EhB;;;;OAIG;IACY,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,gBAAgB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAqIlG;;;;OAIG;IACY,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAkC1F;;;;OAIG;IACY,yBAAyB,CAAC,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAsDxH;;;;OAIG;IACY,sBAAsB,CAAC,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IA0F/G;;;;;;;;;OASG;IACY,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAkB7E;;;;;;;;;OASG;IACY,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAoBpF"}
|
|
@@ -27,7 +27,8 @@ exports.JavaScriptSemanticComparatorVisitor = exports.JavaScriptComparatorVisito
|
|
|
27
27
|
*/
|
|
28
28
|
const visitor_1 = require("./visitor");
|
|
29
29
|
const java_1 = require("../java");
|
|
30
|
-
const tree_1 = require("
|
|
30
|
+
const tree_1 = require("./tree");
|
|
31
|
+
const tree_2 = require("../tree");
|
|
31
32
|
/**
|
|
32
33
|
* A visitor that compares two AST trees in lock step.
|
|
33
34
|
* It takes another `J` instance as context and visits both trees simultaneously.
|
|
@@ -56,7 +57,7 @@ class JavaScriptComparatorVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
56
57
|
// Initialize targetCursor with parent if provided, otherwise undefined (will be set by visit())
|
|
57
58
|
this.targetCursor = parentCursor2;
|
|
58
59
|
// Initialize this.cursor (pattern cursor) with parent if provided
|
|
59
|
-
this.cursor = parentCursor1 || new
|
|
60
|
+
this.cursor = parentCursor1 || new tree_2.Cursor(undefined, undefined);
|
|
60
61
|
yield this.visit(tree1, tree2);
|
|
61
62
|
return this.match;
|
|
62
63
|
});
|
|
@@ -190,7 +191,7 @@ class JavaScriptComparatorVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
190
191
|
// Update targetCursor to track the target node in parallel with the pattern cursor
|
|
191
192
|
// (Can be overridden by subclasses if they need cursor access before calling super)
|
|
192
193
|
const savedTargetCursor = this.targetCursor;
|
|
193
|
-
this.targetCursor = new
|
|
194
|
+
this.targetCursor = new tree_2.Cursor(p, this.targetCursor);
|
|
194
195
|
try {
|
|
195
196
|
// Continue with normal visitation, passing the other node as context
|
|
196
197
|
return yield _super.visit.call(this, j, p);
|
|
@@ -218,8 +219,8 @@ class JavaScriptComparatorVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
218
219
|
// Push wrappers onto both cursors, then compare only the elements, not markers or spacing
|
|
219
220
|
const savedCursor = this.cursor;
|
|
220
221
|
const savedTargetCursor = this.targetCursor;
|
|
221
|
-
this.cursor = new
|
|
222
|
-
this.targetCursor = otherWrapper ? new
|
|
222
|
+
this.cursor = new tree_2.Cursor(right, this.cursor);
|
|
223
|
+
this.targetCursor = otherWrapper ? new tree_2.Cursor(otherWrapper, this.targetCursor) : this.targetCursor;
|
|
223
224
|
try {
|
|
224
225
|
yield this.visitProperty(right.element, otherElement);
|
|
225
226
|
}
|
|
@@ -248,8 +249,8 @@ class JavaScriptComparatorVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
248
249
|
// Push wrappers onto both cursors, then compare only the elements, not markers or spacing
|
|
249
250
|
const savedCursor = this.cursor;
|
|
250
251
|
const savedTargetCursor = this.targetCursor;
|
|
251
|
-
this.cursor = new
|
|
252
|
-
this.targetCursor = otherWrapper ? new
|
|
252
|
+
this.cursor = new tree_2.Cursor(left, this.cursor);
|
|
253
|
+
this.targetCursor = otherWrapper ? new tree_2.Cursor(otherWrapper, this.targetCursor) : this.targetCursor;
|
|
253
254
|
try {
|
|
254
255
|
yield this.visitProperty(left.element, otherElement);
|
|
255
256
|
}
|
|
@@ -282,8 +283,8 @@ class JavaScriptComparatorVisitor extends visitor_1.JavaScriptVisitor {
|
|
|
282
283
|
// Push wrappers onto both cursors, then compare each element
|
|
283
284
|
const savedCursor = this.cursor;
|
|
284
285
|
const savedTargetCursor = this.targetCursor;
|
|
285
|
-
this.cursor = new
|
|
286
|
-
this.targetCursor = otherContainer ? new
|
|
286
|
+
this.cursor = new tree_2.Cursor(container, this.cursor);
|
|
287
|
+
this.targetCursor = otherContainer ? new tree_2.Cursor(otherContainer, this.targetCursor) : this.targetCursor;
|
|
287
288
|
try {
|
|
288
289
|
for (let i = 0; i < container.elements.length; i++) {
|
|
289
290
|
yield this.visitProperty(container.elements[i], otherElements[i]);
|
|
@@ -1961,6 +1962,253 @@ class JavaScriptSemanticComparatorVisitor extends JavaScriptComparatorVisitor {
|
|
|
1961
1962
|
super();
|
|
1962
1963
|
this.lenientTypeMatching = lenientTypeMatching;
|
|
1963
1964
|
}
|
|
1965
|
+
/**
|
|
1966
|
+
* Unwraps parentheses from a tree node recursively.
|
|
1967
|
+
* This allows comparing expressions with and without redundant parentheses.
|
|
1968
|
+
*
|
|
1969
|
+
* @param tree The tree to unwrap
|
|
1970
|
+
* @returns The unwrapped tree
|
|
1971
|
+
*/
|
|
1972
|
+
unwrap(tree) {
|
|
1973
|
+
if (!tree) {
|
|
1974
|
+
return tree;
|
|
1975
|
+
}
|
|
1976
|
+
// Unwrap J.Parentheses nodes recursively
|
|
1977
|
+
if (tree.kind === java_1.J.Kind.Parentheses) {
|
|
1978
|
+
const parens = tree;
|
|
1979
|
+
return this.unwrap(parens.tree.element);
|
|
1980
|
+
}
|
|
1981
|
+
// Unwrap J.ControlParentheses nodes recursively
|
|
1982
|
+
if (tree.kind === java_1.J.Kind.ControlParentheses) {
|
|
1983
|
+
const controlParens = tree;
|
|
1984
|
+
return this.unwrap(controlParens.tree.element);
|
|
1985
|
+
}
|
|
1986
|
+
return tree;
|
|
1987
|
+
}
|
|
1988
|
+
visit(j, p, parent) {
|
|
1989
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
1990
|
+
// If we've already found a mismatch, abort further processing
|
|
1991
|
+
if (!this.match) {
|
|
1992
|
+
return j;
|
|
1993
|
+
}
|
|
1994
|
+
// Unwrap parentheses from both trees before comparing
|
|
1995
|
+
const unwrappedJ = this.unwrap(j) || j;
|
|
1996
|
+
const unwrappedP = this.unwrap(p) || p;
|
|
1997
|
+
// Skip the kind check that the base class does - semantic matching allows different kinds
|
|
1998
|
+
// (e.g., undefined identifier matching void expression)
|
|
1999
|
+
// Update targetCursor to track the target node in parallel with the pattern cursor
|
|
2000
|
+
const savedTargetCursor = this.targetCursor;
|
|
2001
|
+
this.targetCursor = new tree_2.Cursor(unwrappedP, this.targetCursor);
|
|
2002
|
+
try {
|
|
2003
|
+
// Call the grandparent's visit to do actual visitation without the kind check
|
|
2004
|
+
return yield visitor_1.JavaScriptVisitor.prototype.visit.call(this, unwrappedJ, unwrappedP);
|
|
2005
|
+
}
|
|
2006
|
+
finally {
|
|
2007
|
+
this.targetCursor = savedTargetCursor;
|
|
2008
|
+
}
|
|
2009
|
+
});
|
|
2010
|
+
}
|
|
2011
|
+
/**
|
|
2012
|
+
* Override visitArrowFunction to allow semantic equivalence between expression body
|
|
2013
|
+
* and block with single return statement forms.
|
|
2014
|
+
*
|
|
2015
|
+
* Examples:
|
|
2016
|
+
* - `x => x + 1` matches `x => { return x + 1; }`
|
|
2017
|
+
* - `(x, y) => x + y` matches `(x, y) => { return x + y; }`
|
|
2018
|
+
*/
|
|
2019
|
+
visitArrowFunction(arrowFunction, other) {
|
|
2020
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2021
|
+
if (!this.match) {
|
|
2022
|
+
return arrowFunction;
|
|
2023
|
+
}
|
|
2024
|
+
if (other.kind !== tree_1.JS.Kind.ArrowFunction) {
|
|
2025
|
+
return this.abort(arrowFunction);
|
|
2026
|
+
}
|
|
2027
|
+
const otherArrow = other;
|
|
2028
|
+
// Compare all properties reflectively except lambda (handled specially below)
|
|
2029
|
+
for (const key of Object.keys(arrowFunction)) {
|
|
2030
|
+
if (key.startsWith('_') || key === 'id' || key === 'markers' || key === 'lambda') {
|
|
2031
|
+
continue;
|
|
2032
|
+
}
|
|
2033
|
+
const jValue = arrowFunction[key];
|
|
2034
|
+
const otherValue = otherArrow[key];
|
|
2035
|
+
// Handle arrays
|
|
2036
|
+
if (Array.isArray(jValue)) {
|
|
2037
|
+
if (!Array.isArray(otherValue) || jValue.length !== otherValue.length) {
|
|
2038
|
+
return this.abort(arrowFunction);
|
|
2039
|
+
}
|
|
2040
|
+
for (let i = 0; i < jValue.length; i++) {
|
|
2041
|
+
yield this.visitProperty(jValue[i], otherValue[i]);
|
|
2042
|
+
if (!this.match)
|
|
2043
|
+
return arrowFunction;
|
|
2044
|
+
}
|
|
2045
|
+
}
|
|
2046
|
+
else {
|
|
2047
|
+
yield this.visitProperty(jValue, otherValue);
|
|
2048
|
+
if (!this.match)
|
|
2049
|
+
return arrowFunction;
|
|
2050
|
+
}
|
|
2051
|
+
}
|
|
2052
|
+
// Compare lambda parameters
|
|
2053
|
+
const params1 = arrowFunction.lambda.parameters.parameters;
|
|
2054
|
+
const params2 = otherArrow.lambda.parameters.parameters;
|
|
2055
|
+
if (params1.length !== params2.length) {
|
|
2056
|
+
return this.abort(arrowFunction);
|
|
2057
|
+
}
|
|
2058
|
+
for (let i = 0; i < params1.length; i++) {
|
|
2059
|
+
yield this.visitProperty(params1[i], params2[i]);
|
|
2060
|
+
if (!this.match)
|
|
2061
|
+
return arrowFunction;
|
|
2062
|
+
}
|
|
2063
|
+
// Handle semantic equivalence for lambda bodies
|
|
2064
|
+
const body1 = arrowFunction.lambda.body;
|
|
2065
|
+
const body2 = otherArrow.lambda.body;
|
|
2066
|
+
// Try to extract the expression from each body
|
|
2067
|
+
const expr1 = this.extractExpression(body1);
|
|
2068
|
+
const expr2 = this.extractExpression(body2);
|
|
2069
|
+
if (expr1 && expr2) {
|
|
2070
|
+
// Both have extractable expressions - compare them
|
|
2071
|
+
yield this.visit(expr1, expr2);
|
|
2072
|
+
}
|
|
2073
|
+
else {
|
|
2074
|
+
// At least one is not a simple expression or block-with-return
|
|
2075
|
+
// Fall back to exact comparison
|
|
2076
|
+
yield this.visit(body1, body2);
|
|
2077
|
+
}
|
|
2078
|
+
return arrowFunction;
|
|
2079
|
+
});
|
|
2080
|
+
}
|
|
2081
|
+
/**
|
|
2082
|
+
* Override visitLambdaParameters to allow semantic equivalence between
|
|
2083
|
+
* arrow functions with and without parentheses around single parameters.
|
|
2084
|
+
*
|
|
2085
|
+
* Examples:
|
|
2086
|
+
* - `x => x + 1` matches `(x) => x + 1`
|
|
2087
|
+
*/
|
|
2088
|
+
visitLambdaParameters(parameters, other) {
|
|
2089
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2090
|
+
if (!this.match) {
|
|
2091
|
+
return parameters;
|
|
2092
|
+
}
|
|
2093
|
+
if (other.kind !== java_1.J.Kind.LambdaParameters) {
|
|
2094
|
+
return this.abort(parameters);
|
|
2095
|
+
}
|
|
2096
|
+
const otherParams = other;
|
|
2097
|
+
// Compare all properties except 'parenthesized' using reflection
|
|
2098
|
+
for (const key of Object.keys(parameters)) {
|
|
2099
|
+
if (key.startsWith('_') || key === 'id' || key === 'markers' || key === 'parenthesized') {
|
|
2100
|
+
continue;
|
|
2101
|
+
}
|
|
2102
|
+
const jValue = parameters[key];
|
|
2103
|
+
const otherValue = otherParams[key];
|
|
2104
|
+
// Handle arrays
|
|
2105
|
+
if (Array.isArray(jValue)) {
|
|
2106
|
+
if (!Array.isArray(otherValue) || jValue.length !== otherValue.length) {
|
|
2107
|
+
return this.abort(parameters);
|
|
2108
|
+
}
|
|
2109
|
+
for (let i = 0; i < jValue.length; i++) {
|
|
2110
|
+
yield this.visitProperty(jValue[i], otherValue[i]);
|
|
2111
|
+
if (!this.match)
|
|
2112
|
+
return parameters;
|
|
2113
|
+
}
|
|
2114
|
+
}
|
|
2115
|
+
else {
|
|
2116
|
+
yield this.visitProperty(jValue, otherValue);
|
|
2117
|
+
if (!this.match)
|
|
2118
|
+
return parameters;
|
|
2119
|
+
}
|
|
2120
|
+
}
|
|
2121
|
+
return parameters;
|
|
2122
|
+
});
|
|
2123
|
+
}
|
|
2124
|
+
/**
|
|
2125
|
+
* Override visitPropertyAssignment to allow semantic equivalence between
|
|
2126
|
+
* object property shorthand and longhand forms.
|
|
2127
|
+
*
|
|
2128
|
+
* Examples:
|
|
2129
|
+
* - `{ x }` matches `{ x: x }`
|
|
2130
|
+
* - `{ x: x, y: y }` matches `{ x, y }`
|
|
2131
|
+
*/
|
|
2132
|
+
visitPropertyAssignment(propertyAssignment, other) {
|
|
2133
|
+
const _super = Object.create(null, {
|
|
2134
|
+
visitPropertyAssignment: { get: () => super.visitPropertyAssignment }
|
|
2135
|
+
});
|
|
2136
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2137
|
+
if (!this.match) {
|
|
2138
|
+
return propertyAssignment;
|
|
2139
|
+
}
|
|
2140
|
+
if (other.kind !== tree_1.JS.Kind.PropertyAssignment) {
|
|
2141
|
+
return this.abort(propertyAssignment);
|
|
2142
|
+
}
|
|
2143
|
+
const otherProp = other;
|
|
2144
|
+
// Extract property names for semantic comparison
|
|
2145
|
+
const propName = this.getPropertyName(propertyAssignment);
|
|
2146
|
+
const otherPropName = this.getPropertyName(otherProp);
|
|
2147
|
+
// Names must match
|
|
2148
|
+
if (!propName || !otherPropName || propName !== otherPropName) {
|
|
2149
|
+
// Can't do semantic comparison without identifiers, fall back to exact comparison
|
|
2150
|
+
return yield _super.visitPropertyAssignment.call(this, propertyAssignment, other);
|
|
2151
|
+
}
|
|
2152
|
+
// Detect shorthand (no initializer) vs longhand (has initializer)
|
|
2153
|
+
const isShorthand1 = !propertyAssignment.initializer;
|
|
2154
|
+
const isShorthand2 = !otherProp.initializer;
|
|
2155
|
+
if (isShorthand1 === isShorthand2) {
|
|
2156
|
+
// Both shorthand or both longhand - use base comparison
|
|
2157
|
+
return yield _super.visitPropertyAssignment.call(this, propertyAssignment, other);
|
|
2158
|
+
}
|
|
2159
|
+
// One is shorthand, one is longhand - check semantic equivalence
|
|
2160
|
+
const longhandProp = isShorthand1 ? otherProp : propertyAssignment;
|
|
2161
|
+
// Check if the longhand's initializer is an identifier with the same name as the property
|
|
2162
|
+
if (this.isIdentifierWithName(longhandProp.initializer, propName)) {
|
|
2163
|
+
// Semantically equivalent!
|
|
2164
|
+
return propertyAssignment;
|
|
2165
|
+
}
|
|
2166
|
+
else {
|
|
2167
|
+
// Not equivalent (e.g., { x: y })
|
|
2168
|
+
return this.abort(propertyAssignment);
|
|
2169
|
+
}
|
|
2170
|
+
});
|
|
2171
|
+
}
|
|
2172
|
+
/**
|
|
2173
|
+
* Extracts the property name from a PropertyAssignment.
|
|
2174
|
+
* Returns the simple name if the property is an identifier, undefined otherwise.
|
|
2175
|
+
*/
|
|
2176
|
+
getPropertyName(prop) {
|
|
2177
|
+
const nameExpr = prop.name.element;
|
|
2178
|
+
return (0, java_1.isIdentifier)(nameExpr) ? nameExpr.simpleName : undefined;
|
|
2179
|
+
}
|
|
2180
|
+
/**
|
|
2181
|
+
* Checks if an expression is an identifier with the given name.
|
|
2182
|
+
*/
|
|
2183
|
+
isIdentifierWithName(expr, name) {
|
|
2184
|
+
return expr && (0, java_1.isIdentifier)(expr) && expr.simpleName === name;
|
|
2185
|
+
}
|
|
2186
|
+
/**
|
|
2187
|
+
* Extracts the expression from an arrow function body.
|
|
2188
|
+
* Returns the expression if:
|
|
2189
|
+
* - body is already an Expression, OR
|
|
2190
|
+
* - body is a Block with exactly one Return statement
|
|
2191
|
+
* Otherwise returns undefined.
|
|
2192
|
+
*/
|
|
2193
|
+
extractExpression(body) {
|
|
2194
|
+
// If it's already an expression, return it
|
|
2195
|
+
if (body.kind !== java_1.J.Kind.Block) {
|
|
2196
|
+
return body;
|
|
2197
|
+
}
|
|
2198
|
+
// It's a block - check if it contains exactly one return statement
|
|
2199
|
+
const block = body;
|
|
2200
|
+
if (block.statements.length !== 1) {
|
|
2201
|
+
return undefined;
|
|
2202
|
+
}
|
|
2203
|
+
// Unwrap the RightPadded wrapper from the statement
|
|
2204
|
+
const stmtWrapper = block.statements[0];
|
|
2205
|
+
const stmt = stmtWrapper.element;
|
|
2206
|
+
if (stmt.kind !== java_1.J.Kind.Return) {
|
|
2207
|
+
return undefined;
|
|
2208
|
+
}
|
|
2209
|
+
const returnStmt = stmt;
|
|
2210
|
+
return returnStmt.expression;
|
|
2211
|
+
}
|
|
1964
2212
|
/**
|
|
1965
2213
|
* Override visitProperty to allow lenient type matching.
|
|
1966
2214
|
* When lenientTypeMatching is enabled, null vs Type comparisons are allowed
|
|
@@ -2178,13 +2426,20 @@ class JavaScriptSemanticComparatorVisitor extends JavaScriptComparatorVisitor {
|
|
|
2178
2426
|
});
|
|
2179
2427
|
}
|
|
2180
2428
|
/**
|
|
2181
|
-
* Override identifier comparison to include
|
|
2429
|
+
* Override identifier comparison to include:
|
|
2430
|
+
* 1. Type checking for field access
|
|
2431
|
+
* 2. Semantic equivalence between `undefined` identifier and void expressions
|
|
2182
2432
|
*/
|
|
2183
2433
|
visitIdentifier(identifier, other) {
|
|
2184
2434
|
const _super = Object.create(null, {
|
|
2185
2435
|
visitIdentifier: { get: () => super.visitIdentifier }
|
|
2186
2436
|
});
|
|
2187
2437
|
return __awaiter(this, void 0, void 0, function* () {
|
|
2438
|
+
// Check if this identifier is "undefined" and the other is a void expression
|
|
2439
|
+
if (identifier.simpleName === 'undefined' && other.kind === tree_1.JS.Kind.Void) {
|
|
2440
|
+
// Both evaluate to undefined, so they match
|
|
2441
|
+
return identifier;
|
|
2442
|
+
}
|
|
2188
2443
|
if (other.kind !== java_1.J.Kind.Identifier) {
|
|
2189
2444
|
return this.abort(identifier);
|
|
2190
2445
|
}
|
|
@@ -2354,6 +2609,68 @@ class JavaScriptSemanticComparatorVisitor extends JavaScriptComparatorVisitor {
|
|
|
2354
2609
|
return methodDeclaration;
|
|
2355
2610
|
});
|
|
2356
2611
|
}
|
|
2612
|
+
/**
|
|
2613
|
+
* Override visitVoid to allow semantic equivalence with undefined identifier.
|
|
2614
|
+
* This handles the reverse case where the pattern is a void expression
|
|
2615
|
+
* and the source is the undefined identifier.
|
|
2616
|
+
*
|
|
2617
|
+
* Examples:
|
|
2618
|
+
* - `void 0` matches `undefined`
|
|
2619
|
+
* - `void(0)` matches `undefined`
|
|
2620
|
+
* - `void 1` matches `undefined`
|
|
2621
|
+
*/
|
|
2622
|
+
visitVoid(voidExpr, other) {
|
|
2623
|
+
const _super = Object.create(null, {
|
|
2624
|
+
visitVoid: { get: () => super.visitVoid }
|
|
2625
|
+
});
|
|
2626
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2627
|
+
if (!this.match) {
|
|
2628
|
+
return voidExpr;
|
|
2629
|
+
}
|
|
2630
|
+
// Check if the other is an undefined identifier
|
|
2631
|
+
if (other.kind === java_1.J.Kind.Identifier) {
|
|
2632
|
+
const identifier = other;
|
|
2633
|
+
if (identifier.simpleName === 'undefined') {
|
|
2634
|
+
// Both evaluate to undefined, so they match
|
|
2635
|
+
return voidExpr;
|
|
2636
|
+
}
|
|
2637
|
+
}
|
|
2638
|
+
// Otherwise delegate to parent
|
|
2639
|
+
return _super.visitVoid.call(this, voidExpr, other);
|
|
2640
|
+
});
|
|
2641
|
+
}
|
|
2642
|
+
/**
|
|
2643
|
+
* Override visitLiteral to allow semantic equivalence between
|
|
2644
|
+
* different numeric literal formats.
|
|
2645
|
+
*
|
|
2646
|
+
* Examples:
|
|
2647
|
+
* - `255` matches `0xFF`
|
|
2648
|
+
* - `255` matches `0o377`
|
|
2649
|
+
* - `255` matches `0b11111111`
|
|
2650
|
+
* - `1000` matches `1e3`
|
|
2651
|
+
*/
|
|
2652
|
+
visitLiteral(literal, other) {
|
|
2653
|
+
const _super = Object.create(null, {
|
|
2654
|
+
visitLiteral: { get: () => super.visitLiteral }
|
|
2655
|
+
});
|
|
2656
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
2657
|
+
if (!this.match) {
|
|
2658
|
+
return literal;
|
|
2659
|
+
}
|
|
2660
|
+
if (other.kind !== java_1.J.Kind.Literal) {
|
|
2661
|
+
return yield _super.visitLiteral.call(this, literal, other);
|
|
2662
|
+
}
|
|
2663
|
+
const otherLiteral = other;
|
|
2664
|
+
// Only compare value and type, ignoring valueSource (text representation) and unicodeEscapes
|
|
2665
|
+
yield this.visitProperty(literal.value, otherLiteral.value);
|
|
2666
|
+
if (!this.match)
|
|
2667
|
+
return literal;
|
|
2668
|
+
yield this.visitProperty(literal.type, otherLiteral.type);
|
|
2669
|
+
if (!this.match)
|
|
2670
|
+
return literal;
|
|
2671
|
+
return literal;
|
|
2672
|
+
});
|
|
2673
|
+
}
|
|
2357
2674
|
}
|
|
2358
2675
|
exports.JavaScriptSemanticComparatorVisitor = JavaScriptSemanticComparatorVisitor;
|
|
2359
2676
|
//# sourceMappingURL=comparator.js.map
|