From 32f5801b8c5c10cfa714b0bde513b5ca8fa0e871 Mon Sep 17 00:00:00 2001 From: Martin Monperrus Date: Mon, 16 Dec 2024 19:56:24 +0100 Subject: [PATCH] fix: protect against NPE --- .../java/spoon/reflect/visitor/DefaultJavaPrettyPrinter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/spoon/reflect/visitor/DefaultJavaPrettyPrinter.java b/src/main/java/spoon/reflect/visitor/DefaultJavaPrettyPrinter.java index b7e1ed269cf..79cb85fd588 100644 --- a/src/main/java/spoon/reflect/visitor/DefaultJavaPrettyPrinter.java +++ b/src/main/java/spoon/reflect/visitor/DefaultJavaPrettyPrinter.java @@ -631,7 +631,7 @@ public void visitCtCase(CtCase caseStatement) { if (caseExpression instanceof CtFieldAccess fieldAccess) { final CtFieldReference variable = ((CtFieldAccess) caseExpression).getVariable(); // In noclasspath mode, we don't have always the type of the declaring type. - if ((fieldAccess.getTarget().isImplicit() || env.getComplianceLevel() < 21) + if (((fieldAccess.getTarget() != null && fieldAccess.getTarget().isImplicit()) || env.getComplianceLevel() < 21) && variable.getType() != null && variable.getDeclaringType() != null && variable.getType().getQualifiedName().equals(variable.getDeclaringType().getQualifiedName())) {