From ff617d0471b604aca7a55825c233ccdc71ccd27d Mon Sep 17 00:00:00 2001 From: Raffi Khatchadourian Date: Wed, 10 Jun 2026 16:15:01 -0400 Subject: [PATCH] Correct the implicit-key skip comments: the debug dump is unconditional, not a no-op assertion The `isImplicit` skip comments described WALA's call-graph-IR dump as reached via a "no-op-assertion debug path." `Assertions.UNREACHABLE()` throws `UnimplementedError` unconditionally rather than no-opping when assertions are disabled; the dump itself is the unconditional debug print. Reword accordingly. Co-Authored-By: Claude Opus 4.8 --- .../cast/python/ml/client/PythonTensorAnalysisEngine.java | 6 +++--- .../wala/cast/python/ml/client/TensorGeneratorFactory.java | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/com.ibm.wala.cast.python.ml/source/com/ibm/wala/cast/python/ml/client/PythonTensorAnalysisEngine.java b/com.ibm.wala.cast.python.ml/source/com/ibm/wala/cast/python/ml/client/PythonTensorAnalysisEngine.java index 04a10a51e..9f67fe5d4 100644 --- a/com.ibm.wala.cast.python.ml/source/com/ibm/wala/cast/python/ml/client/PythonTensorAnalysisEngine.java +++ b/com.ibm.wala.cast.python.ml/source/com/ibm/wala/cast/python/ml/client/PythonTensorAnalysisEngine.java @@ -862,7 +862,7 @@ private Map getShapeSourceCalls( .getHeapModel() .getPointerKeyForLocal(src, call.getDef()); // Materializing an implicitly-represented key would make WALA dump the entire call - // graph's IR (a no-op-assertion debug path), so skip it; implicit keys carry no + // graph's IR (an unconditional debug print), so skip it; implicit keys carry no // explicit dataflow variable to pin (wala/ML#573). if (!builder.getPropagationSystem().isImplicit(defKey)) targets.put( @@ -961,7 +961,7 @@ private Map getSetShapeCallsSyntactic( } if (!receiverEligible) continue; // Skip implicitly-represented receivers: materializing one makes WALA dump the entire - // call graph's IR via a no-op-assertion debug path (wala/ML#573), and an implicit key has + // call graph's IR via an unconditional debug print (wala/ML#573), and an implicit key has // no explicit dataflow variable to pin. if (builder.getPropagationSystem().isImplicit(receiverKey)) continue; targets.put( @@ -982,7 +982,7 @@ private Set getKeysDefinedByCall( PointerKey defKey = builder.getPointerAnalysis().getHeapModel().getPointerKeyForLocal(src, call.getDef()); // Skip implicitly-represented keys: materializing one makes WALA dump the entire call - // graph's IR via a no-op-assertion debug path (wala/ML#573), and an implicit key has no + // graph's IR via an unconditional debug print (wala/ML#573), and an implicit key has no // explicit dataflow variable to track. if (!builder.getPropagationSystem().isImplicit(defKey)) lvals.add(builder.getPropagationSystem().findOrCreatePointsToSet(defKey)); diff --git a/com.ibm.wala.cast.python.ml/source/com/ibm/wala/cast/python/ml/client/TensorGeneratorFactory.java b/com.ibm.wala.cast.python.ml/source/com/ibm/wala/cast/python/ml/client/TensorGeneratorFactory.java index 2375cfee7..8bfc6072e 100644 --- a/com.ibm.wala.cast.python.ml/source/com/ibm/wala/cast/python/ml/client/TensorGeneratorFactory.java +++ b/com.ibm.wala.cast.python.ml/source/com/ibm/wala/cast/python/ml/client/TensorGeneratorFactory.java @@ -424,8 +424,8 @@ public static PointsToSetVariable findCreator( private static PointsToSetVariable getPointsToSetVariable( PointerKey key, PropagationCallGraphBuilder builder) { - // Materializing an implicitly-represented key makes WALA dump the entire call graph's IR via a - // no-op-assertion debug path (wala/ML#573); skip it (the caller treats null as "no PTS"). + // Materializing an implicitly-represented key makes WALA dump the entire call graph's IR via an + // unconditional debug print (wala/ML#573); skip it (the caller treats null as "no PTS"). if (builder.getPropagationSystem().isImplicit(key)) return null; try { return builder.getPropagationSystem().findOrCreatePointsToSet(key);