public override IReadOnlyList <MetaPropertyBuilder> MetaClass_GetAllSuperProperties(MetaClassBuilder _this, bool includeSelf) { var result = new List <MetaPropertyBuilder>(); var supers = _this.GetAllSuperClasses(includeSelf); foreach (var sup in supers) { foreach (var prop in sup.Properties) { result.Add(prop); } } return(result); }
public override IReadOnlyList <MetaOperationBuilder> MetaClass_GetAllSuperOperations(MetaClassBuilder _this, bool includeSelf) { var result = new List <MetaOperationBuilder>(); var supers = _this.GetAllSuperClasses(includeSelf); foreach (var sup in supers) { foreach (var op in sup.Operations) { result.Add(op); } } return(result); }
public override bool MetaClass_ConformsTo(MetaClassBuilder _this, MetaTypeBuilder type) { return(type is MetaClassBuilder superClass && _this.GetAllSuperClasses(true).Contains(superClass)); }