From 2f1eece6f7ef9c8b8e43499706ee7a6134c38767 Mon Sep 17 00:00:00 2001 From: Nick Glorioso Date: Thu, 12 May 2022 13:57:19 -0700 Subject: [PATCH] Use alternative API to find the parent of a node for precedence finding in Refaster. Fixes #3193 PiperOrigin-RevId: 448331636 --- .../com/google/errorprone/refaster/ExpressionTemplate.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/com/google/errorprone/refaster/ExpressionTemplate.java b/core/src/main/java/com/google/errorprone/refaster/ExpressionTemplate.java index 435bd44adb9..2bbc310edff 100644 --- a/core/src/main/java/com/google/errorprone/refaster/ExpressionTemplate.java +++ b/core/src/main/java/com/google/errorprone/refaster/ExpressionTemplate.java @@ -33,6 +33,7 @@ import com.sun.source.tree.Tree; import com.sun.source.tree.Tree.Kind; import com.sun.source.util.TreeScanner; +import com.sun.tools.javac.api.JavacTrees; import com.sun.tools.javac.code.Type; import com.sun.tools.javac.code.TypeTag; import com.sun.tools.javac.code.Types; @@ -248,7 +249,8 @@ public Fix replace(ExpressionTemplateMatch match) { */ private static int getPrecedence(JCTree leaf, Context context) { JCCompilationUnit comp = context.get(JCCompilationUnit.class); - JCTree parent = TreeInfo.pathFor(leaf, comp).get(1); + JCTree parent = + (JCTree) JavacTrees.instance(context).getPath(comp, leaf).getParentPath().getLeaf(); // In general, this should match the logic in com.sun.tools.javac.tree.Pretty. //