private void addEnvironmentDependency(Class<?> klass) { if (handledClasses.contains(klass.getCanonicalName()) || !TestClusterUtils.isEvoSuiteClass(klass)) { return; // already handled, or not valid } handledClasses.add(klass.getCanonicalName()); boolean excludeClass = klass.getAnnotation(EvoSuiteClassExclude.class) != null; // do not consider constructors for (Method m : klass.getMethods()) { if (shouldSkip(excludeClass, m)) { continue; } GenericAccessibleObject gm = new GenericMethod(m, klass); GenericClass gc = new GenericClass(klass); TestCluster.getInstance().addModifier(gc, gm); testClusterGenerator.addNewDependencies(Arrays.asList(m.getParameterTypes())); Class<?> returnType = m.getReturnType(); if (!returnType.equals(Void.TYPE)) { GenericClass genclass = new GenericClass(returnType); TestCluster.getInstance().invalidateGeneratorCache(genclass); TestCluster.getInstance().addGenerator(genclass, gm); addEnvironmentDependency(returnType); } } }
cluster.addModifier(new GenericClass(clazz), genericMethod); cluster.addModifier(new GenericClass(clazz), genericField); } else { logger.debug("Is final"); cluster.addModifier(new GenericClass(Properties.getTargetClassAndDontInitialise()), genericField); cluster.addModifier(new GenericClass(Properties.getTargetClassAndDontInitialise()), genericMethod);
addDependencies(genericMethod, recursionLevel + 1); if (!Properties.PURE_INSPECTORS) { cluster.addModifier(new GenericClass(clazz), genericMethod); } else { if (!CheapPurityAnalyzer.getInstance().isPure(method)) { cluster.addModifier(new GenericClass(clazz), genericMethod); final boolean isFinalField = isFinalField(field); if (!isFinalField) { cluster.addModifier(clazz, // .getWithWildcardTypes(), genericField); addDependencies(genericField, recursionLevel + 1);