package cz.habarta.typescript.generator.parser;
import java.lang.reflect.*;
public class SourceType<T extends Type> {
public final T type;
public final Class<?> usedInClass;
public final String usedInMember;
public SourceType(T type) {
this (type, null, null);
}
public SourceType(T type, Class<?> usedInClass, String usedInMember) {
this.type = type;
this.usedInClass = usedInClass;
this.usedInMember = usedInMember;
}
@SuppressWarnings("unchecked")
public SourceType<Class<?>> asSourceClass() {
Class.class.cast(this.type);
return (SourceType<Class<?>>) this;
}
@Override
public String toString() {
return type.toString();
}
}