diff --git a/web-image/src/com.oracle.svm.hosted.webimage/src/com/oracle/svm/hosted/webimage/pointsto/flow/InterceptJSInvokeTypeFlow.java b/web-image/src/com.oracle.svm.hosted.webimage/src/com/oracle/svm/hosted/webimage/pointsto/flow/InterceptJSInvokeTypeFlow.java index 8628b31f4121..700a759ee457 100644 --- a/web-image/src/com.oracle.svm.hosted.webimage/src/com/oracle/svm/hosted/webimage/pointsto/flow/InterceptJSInvokeTypeFlow.java +++ b/web-image/src/com.oracle.svm.hosted.webimage/src/com/oracle/svm/hosted/webimage/pointsto/flow/InterceptJSInvokeTypeFlow.java @@ -83,9 +83,13 @@ public void onObservedUpdate(PointsToAnalysis bb) { if (!isFlowEnabled()) { return; } + var state = getState(); + if (state.isPrimitive()) { + return; + } // SAM metadata must be preserved if a functional interface implementation reaches the // callsite. - for (AnalysisObject object : getState().objects(bb)) { + for (AnalysisObject object : state.objects(bb)) { Optional sam = ReflectUtil.singleAbstractMethodForClass(bb.getMetaAccess(), object.type()); if (sam.isPresent()) { bb.addRootMethod(sam.get(), false, "SAM method to JS, registered in " + InterceptJSInvokeTypeFlow.class);