AN
Size: a a a
AN
AN
I
И
AN
AN
И
AM
if(isAbstract) emit("abstract ")
when(kind) {
CLASS -> emit("class ")
IFACE -> emit("interface ")
}
a
VV
<T> T getInstance(Class<T> type) {Если бы интерфейс не был бы абстрактным, нужно было бы писать больше кода
if(Modifier.isAbstract(type.getModifiers()) { // <- Делаешь проверку
throw new .....;
}
....
<T> T getInstance(Class<T> type) {
if(type.isInterface() || Modifier.isAbstract(type.getModifiers()) { // <- Делаешь двойную проверку
throw new .....;
}
....
AM
VV
AM
VS
VV