Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 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;
 }