From 0a32a830ab42346775604372bc0e52942091b5be Mon Sep 17 00:00:00 2001 From: danglotb Date: Wed, 5 Sep 2018 11:23:53 +0200 Subject: [PATCH] fix: checks if the literal is a String --- .../java/eu/stamp_project/utils/AmplificationHelper.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/dspot/src/main/java/eu/stamp_project/utils/AmplificationHelper.java b/dspot/src/main/java/eu/stamp_project/utils/AmplificationHelper.java index 2bd8997b0..624de2f4b 100644 --- a/dspot/src/main/java/eu/stamp_project/utils/AmplificationHelper.java +++ b/dspot/src/main/java/eu/stamp_project/utils/AmplificationHelper.java @@ -85,10 +85,11 @@ public boolean matches(CtTypeReference element) { } }).forEach(ctTypeReference -> ctTypeReference.setSimpleName(getAmplifiedName(classTest))); // need to update also all the String literals - amplifiedTest.getElements(new TypeFilter>(CtLiteral.class) { + amplifiedTest.getElements(new TypeFilter(CtLiteral.class) { @Override - public boolean matches(CtLiteral element) { - return element.getValue().contains(classTest.getSimpleName()); + public boolean matches(CtLiteral element) { + return element.getValue() instanceof String && + ((String)element.getValue()).contains(classTest.getSimpleName()); } }).forEach(stringCtLiteral -> stringCtLiteral.setValue(stringCtLiteral.getValue().replaceAll(classTest.getSimpleName(), amplifiedName))