public bool isFinalMethod(WrapperGenerator generator, WrapMethod method)
        {
            //Find method name
            WrapMethod matchMethod = findMethod(method.name);

            if (matchMethod != null)
            {
                if (matchMethod == method)
                {
                    return(true);
                }

                if (matchMethod.name == method.name)
                {
                    return(false);
                }
            }

            //Check parent
            if (!String.IsNullOrEmpty(this.parentClass))
            {
                WrapClass parentClass = generator.findClass(this.parentClass);
                if (parentClass != null)
                {
                    return(parentClass.isFinalMethod(generator, method));
                }
            }

            //Return
            return(false);
        }
        public WrapMethod Clone()
        {
            WrapMethod result = new WrapMethod();

            result.returnType = returnType;
            result.name       = name;
            result.args       = new List <WrapMethodArg>(args);
            result.isStatic   = isStatic;
            result.isVirtual  = isVirtual;
            result.isAbstract = isAbstract;
            result.isConst    = isConst;
            result.isUnsafe   = isUnsafe;

            return(result);
        }
        public int getMethodUniqueIndex(WrapMethod wrapMethod)
        {
            int iter = 0;

            foreach (WrapMethod testMethod in methods)
            {
                if (testMethod == wrapMethod)
                {
                    return(iter);
                }
                if (testMethod.name == wrapMethod.name)
                {
                    iter++;
                }
            }
            return(0);
        }