示例#1
0
        public void AppendMethod(MethodBase mi)
        {
            if (hasConstructor && !(mi is ConstructorInfo))
            {
                throw new ChakraSharpException();
            }
            if (mi is ConstructorInfo)
            {
                hasConstructor = true;
            }
            if (hasStatic && !mi.IsStatic)
            {
                throw new ChakraSharpException();
            }
            if (mi.IsStatic)
            {
                hasStatic = true;
            }

            var oe = new OverloadEntry(mi);

            methodInfos.Add(oe);

            names.Add(mi.Name);
            if (string.IsNullOrEmpty(firstName))
            {
                firstName = mi.Name;
            }
        }
示例#2
0
        static string OverloadToString(string name, OverloadEntry oe)
        {
            var sb = new StringBuilder();

            sb.AppendFormat("{0}(", name);
            bool first = true;

            foreach (var p in oe.ps)
            {
                sb.AppendFormat("{0} {1}", p.parameterType, p.name);
                if (first)
                {
                    first = false;
                    sb.Append(", ");
                }
            }
            sb.Append(")");
            return(sb.ToString());
        }