示例#1
0
        public XmlElement Visit(SignatureNode n)
        {
            var el = makeNode(n, "signature");

            addProperty(el, "parts", n.Parts);
            addProperty(el, "annotations", n.Annotations);
            addProperty(el, "returnType", n.ReturnType);
            addProperty(el, "name", n.Name);
            return(el);
        }
示例#2
0
        /// <inheritdoc />
        public Node Visit(SignatureParseNode spn)
        {
            var ret = new SignatureNode(spn.Token, spn);

            foreach (var part in spn.Parts)
            {
                ret.AddPart((SignaturePartNode)part.Visit(this));
            }
            if (spn.ReturnType != null)
            {
                ret.ReturnType = spn.ReturnType.Visit(this);
            }
            addAnnotations(spn.Annotations, ret.Annotations);
            return(ret);
        }
示例#3
0
 private static void ApplyBoolParameters(SignatureNode signature, CefCppFunctionNode cf)
 {
     if (cf.IsRetvalBoolean)
     {
         signature.ReturnType.Name = "bool";
     }
     foreach (var pm in cf.BooleanParameters)
     {
         var success = false;
         foreach (var pm1 in signature.Parameters)
         {
             if (pm1.Var == pm)
             {
                 pm1.ParameterType.Name = "bool";
                 success = true;
                 break;
             }
         }
         if (!success)
         {
             Debugger.Break();
         }
     }
 }
示例#4
0
 /// <summary>Add a method type entry to this type</summary>
 /// <param name="n">Method entry to add</param>
 public void Add(SignatureNode n)
 {
     methods.Add(n);
 }