/*
* Copyright (c) 2006-2012 Rogério Liesenfeld
* This file is subject to the terms of the MIT license (see LICENSE.txt).
*/
package mockit.internal.expectations.mocking;
import mockit.external.asm4.*;
import mockit.internal.util.*;
public final class CascadingTypeRedefinition extends BaseTypeRedefinition
{
public CascadingTypeRedefinition(Class<?> mockedType)
{
super(mockedType);
typeMetadata = new MockedType(mockedType);
}
public InstanceFactory redefineType()
{
return redefineType(targetClass);
}
@Override
ExpectationsModifier createModifier(Class<?> realClass, ClassReader classReader)
{
ExpectationsModifier modifier = new ExpectationsModifier(realClass.getClassLoader(), classReader, null);
modifier.useDynamicMockingForInstanceMethods(null);
return modifier;
}
@Override
String getNameForConcreteSubclassToCreate()
{
return GeneratedClasses.SUBCLASS_PREFIX + targetClass.getSimpleName();
}
}