Ejemplo n.º 1
0
        public ProcedureNode GetFirstStaticFunctionBy(string procName, int argCount)
        {
            if (ProcTable == null)
            {
                return(null);
            }

            ProcedureNode procNode = ProcTable.GetFunctionsBy(procName, argCount)
                                     .Where(p => p.IsStatic)
                                     .FirstOrDefault();

            if (procNode != null)
            {
                return(procNode);
            }

            foreach (int baseClassIndex in Bases)
            {
                var baseClass = TypeSystem.classTable.ClassNodes[baseClassIndex];
                procNode = baseClass.GetFirstStaticFunctionBy(procName, argCount);
                if (null != procNode)
                {
                    break;
                }
            }
            return(procNode);
        }
Ejemplo n.º 2
0
        public ProcedureNode GetFirstMemberFunctionBy(string procName)
        {
            if (ProcTable == null)
            {
                return(null);
            }

            ProcedureNode procNode = ProcTable.GetFunctionsBy(procName).FirstOrDefault();

            if (procNode != null)
            {
                return(procNode);
            }

            foreach (int baseClassIndex in Bases)
            {
                var baseClass = TypeSystem.classTable.ClassNodes[baseClassIndex];
                procNode = baseClass.GetFirstMemberFunctionBy(procName);
                if (null != procNode)
                {
                    break;
                }
            }
            return(procNode);
        }
Ejemplo n.º 3
0
        public ProcedureNode GetFirstConstructorBy(string procName, int argCount)
        {
            if (ProcTable == null)
            {
                return(null);
            }

            return(ProcTable.GetFunctionsBy(procName, argCount)
                   .Where(p => p.IsConstructor)
                   .FirstOrDefault());
        }