InnerClass extends AbstractJavaType { public void setSuperClass(FullyQualifiedJavaType superClass) { this.superClass = superClass; } InnerClass(FullyQualifiedJavaType type);  InnerClass(String type); Optional<FullyQualifiedJavaType> getSuperClass(); void setSuperClass(FullyQualifiedJavaType superClass); void setSuperClass(String superClassType); List<TypeParameter> getTypeParameters(); void addTypeParameter(TypeParameter typeParameter); List<InitializationBlock> getInitializationBlocks(); void addInitializationBlock(InitializationBlock initializationBlock); boolean isAbstract(); void setAbstract(boolean isAbtract); boolean isFinal(); void setFinal(boolean isFinal);  }
@Test public void testSetSuperClass() { InnerClass clazz = new InnerClass("com.foo.UserClass"); assertFalse(clazz.getSuperClass().isPresent()); clazz.setSuperClass("com.hoge.SuperClass"); assertNotNull(clazz.getSuperClass()); assertEquals("com.hoge.SuperClass", clazz.getSuperClass().get().getFullyQualifiedName()); }