From 51cf5a796dbf3a185bb80044976dc8f32ebbf040 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Tue, 24 May 2022 15:13:42 +0200 Subject: Properly support new expression matching in @Pattern Used to only compare the arguments, nether the class nor the qualifier (the outer class instance for inner classes constructor calls). --- src/main/kotlin/com/replaymod/gradle/remap/PsiPattern.kt | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/main/kotlin/com/replaymod/gradle') diff --git a/src/main/kotlin/com/replaymod/gradle/remap/PsiPattern.kt b/src/main/kotlin/com/replaymod/gradle/remap/PsiPattern.kt index 9a067da..9bf1e90 100644 --- a/src/main/kotlin/com/replaymod/gradle/remap/PsiPattern.kt +++ b/src/main/kotlin/com/replaymod/gradle/remap/PsiPattern.kt @@ -84,6 +84,8 @@ internal class PsiPattern( is PsiParenthesizedExpression -> expr is PsiParenthesizedExpression && match(pattern.expression, expr.expression) is PsiNewExpression -> expr is PsiNewExpression + && pattern.classReference?.resolve() == expr.classReference?.resolve() + && match(pattern.qualifier, expr.qualifier) && match(pattern.argumentList, expr.argumentList) is PsiLiteralExpression -> expr is PsiLiteralExpression && pattern.text == expr.text -- cgit