The following issues were found

src/test/java/com/alibaba/fastjson/serializer/issues3601/TestIssue3601.java
1 issues
System.out.println is used
Design

Line: 15

                      testEntity.setTestName("ganyu");
        testEntity.setTestEnum(TestEnum.test1);
        String json = JSON.toJSONString(testEntity);
        System.out.println(json);
        Assert.assertEquals("{\"testEnum\":\"test1\",\"testName\":\"ganyu\"}", json);
    }

}
            

Reported by PMD.

src/test/java/com/alibaba/json/bvt/bug/Bug_for_dubbo_long.java
1 issues
JUnit 4 tests that execute tests should use the @Test annotation, JUnit 5 tests should use @Test, @RepeatedTest, @TestFactory, @TestTemplate or @ParameterizedTest
Design

Line: 11

              
public class Bug_for_dubbo_long extends TestCase {

    public void test_0() throws Exception {
        Long val = 2345L;

        String text = JSON.toJSONString(val, SerializerFeature.WriteClassName);
        Assert.assertEquals(val, JSON.parseObject(text, long.class));
    }

            

Reported by PMD.

src/main/java/com/alibaba/fastjson/TypeReference.java
1 issues
Avoid reassigning parameters such as 'actualIndex'
Design

Line: 107

                      return cachedType;
    }

    private Type handlerParameterizedType(ParameterizedType type, Type[] actualTypeArguments, int actualIndex) {
        Class<?> thisClass = this.getClass();
        Type rawType = type.getRawType();
        Type[] argTypes = type.getActualTypeArguments();

        for(int i = 0; i < argTypes.length; ++i) {

            

Reported by PMD.

src/test/java/com/alibaba/json/bvt/CharTypesTest.java
1 issues
JUnit 4 tests that execute tests should use the @Test annotation, JUnit 5 tests should use @Test, @RepeatedTest, @TestFactory, @TestTemplate or @ParameterizedTest
Design

Line: 13

                  static byte[] specicalFlags_singleQuotes = IOUtils.specicalFlags_singleQuotes;
    static byte[] specicalFlags_doubleQuotes = IOUtils.specicalFlags_doubleQuotes;

    public void test_0() throws Exception {
        
        Assert.assertTrue(isSpecial_doubleQuotes('\n'));
        Assert.assertTrue(isSpecial_doubleQuotes('\r'));
        Assert.assertTrue(isSpecial_doubleQuotes('\b'));
        Assert.assertTrue(isSpecial_doubleQuotes('\f'));

            

Reported by PMD.

src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectL.java
1 issues
The class 'ObjectL' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=6, WMC=6)
Design

Line: 8

              import java.util.List;


public class ObjectL {

	private List<ObjectL_A> a;


	private List<ObjectL_B> b;

            

Reported by PMD.

src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectV_A.java
1 issues
The class 'ObjectV_A' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=8, WMC=8)
Design

Line: 7

              


public class ObjectV_A {
	
	private int a;

	
	private int b;

            

Reported by PMD.

src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectK2_A.java
1 issues
The class 'ObjectK2_A' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=10, WMC=10)
Design

Line: 8

              


public class ObjectK2_A {
    private int a;
    private int b;
    private int c;
    private int d;
    private int e;

            

Reported by PMD.

src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectL1_A.java
1 issues
The class 'ObjectL1_A' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=8, WMC=8)
Design

Line: 7

              


public class ObjectL1_A {
    
    protected int a;
    
    protected int b;
    

            

Reported by PMD.

src/main/java/com/alibaba/fastjson/serializer/JSONSerializableSerializer.java
1 issues
Potential violation of Law of Demeter (object not created locally)
Design

Line: 34

                          serializer.writeNull();
            return;
        }
        jsonSerializable.write(serializer, fieldName, fieldType, features);
    }
}

            

Reported by PMD.

src/test/java/com/alibaba/fastjson/deserializer/issues3796/bean/ObjectW.java
1 issues
The class 'ObjectW' is suspected to be a Data Class (WOC=0.000%, NOPA=0, NOAM=12, WMC=12)
Design

Line: 8

              


public class ObjectW {
	
	private long a;

	
	private int b;

            

Reported by PMD.