/// <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); }