Beispiel #1
0
            /// <summary>
            ///  Returns the list of functions of the class only
            /// </summary>
            /// <returns> function nodes </returns>
            public IEnumerable <MethodMirror> GetFunctions()
            {
                List <MethodMirror> methods = new List <MethodMirror>();

                ProcedureTable       procedureTable = ClassNode.vtable;
                List <ProcedureNode> procList       = procedureTable.procList;

                foreach (ProcedureNode pNode in procList)
                {
                    bool hidden = pNode.MethodAttribute == null ? false : pNode.MethodAttribute.HiddenInLibrary;
                    if (!pNode.isAssocOperator &&
                        !pNode.isAutoGenerated &&
                        !pNode.isAutoGeneratedThisProc &&
                        !pNode.isConstructor &&
                        !hidden &&
                        !CoreUtils.IsGetter(pNode.name) && !CoreUtils.IsSetter(pNode.name) &&
                        !CoreUtils.StartsWithDoubleUnderscores(pNode.name) &&
                        !CoreUtils.IsGetTypeMethod(pNode.name))
                    {
                        methods.Add(new MethodMirror(pNode));
                    }
                }

                return(methods);
            }