private bool IsASubClassOf(Class cl){
if (this.superTypeExpression != null){
this.superTypeExpression.PartiallyEvaluate();
IReflect supertype = this.superTypeExpression.ToIReflect();
if (supertype is ClassScope){
Class superclass = ((ClassScope)supertype).owner;
if (superclass == cl)
return true;
else
return superclass.IsASubClassOf(cl);
}
}
return false;
}