public bool IsKindOf(VarTypeObject vto) { if (this.varType != VarType.Object) { return(false); } HelperClasses.NamespaceResolver nsrL = this.ident.LastIdent; HelperClasses.NamespaceResolver nsrR = vto.ident.LastIdent; if (!(nsrL.Reference is Interfaces.iClass)) { return(false); } if (!(nsrR.Reference is Interfaces.iClass)) { return(false); } var list = new List <Ident>(); list.AddRange(((Interfaces.iClass)nsrL.Reference).ExtendedClasses); list.Add(((Interfaces.iClass)nsrL.Reference).Name); foreach (var it in list) { HelperClasses.NamespaceResolver nsrTmp = it.LastIdent; if (nsrTmp.isSame(nsrR)) { return(true); } } return(false); }
public static List <Interfaces.iFunction> getFunctionReferenceOfFQN(NamespaceResolver nsr) { List <Interfaces.iFunction> retList = new List <Interfaces.iFunction>(); if (nsr == null) { return(retList); } if (!nsr.IsValid) { return(retList); } var obj = nsr.objectTree.Last().Parent; if (nsr.objectTree.Last() is Interfaces.iClass) { obj = nsr.objectTree.Last(); } foreach (var it in obj.getAllChildrenOf <Interfaces.iFunction>()) { if (nsr.isSame(it.Name)) { retList.Add(it); } } return(retList); }
public override bool Equals(object obj) { if (obj is HelperClasses.NamespaceResolver) { if (!this.IsObject) { return(false); } HelperClasses.NamespaceResolver nsrL = this.ident.LastIdent; HelperClasses.NamespaceResolver nsrR = (HelperClasses.NamespaceResolver)obj; if (nsrL != null && nsrR != null) { return(nsrL.isSame(nsrR)); } else { return(((VarTypeObject)obj).ident.FullyQualifiedName.Equals(this.ident.FullyQualifiedName)); } } else { if (!(obj is VarTypeObject)) { return(false); } if (((VarTypeObject)obj).varType != this.varType) { return(false); } if (this.varType != VarType.Object) { return(true); } HelperClasses.NamespaceResolver nsrL = this.ident.LastIdent; HelperClasses.NamespaceResolver nsrR = ((VarTypeObject)obj).ident.LastIdent; if (nsrL != null && nsrR != null) { return(nsrL.isSame(nsrR)); } else { return(((VarTypeObject)obj).ident.FullyQualifiedName.Equals(this.ident.FullyQualifiedName)); } } }
public static List<Interfaces.iFunction> getFunctionReferenceOfFQN(NamespaceResolver nsr) { List<Interfaces.iFunction> retList = new List<Interfaces.iFunction>(); if (nsr == null) return retList; if (!nsr.IsValid) return retList; var obj = nsr.objectTree.Last().Parent; if (nsr.objectTree.Last() is Interfaces.iClass) obj = nsr.objectTree.Last(); foreach(var it in obj.getAllChildrenOf<Interfaces.iFunction>()) { if(nsr.isSame(it.Name)) { retList.Add(it); } } return retList; }