internal override MethodFlags GetMethodFlags(URTMethod method) { /* Debug.Assert(method.MethodFlags == 0, "Method has already been considered"); MethodFlags methodFlags = _baseType.GetMethodFlags(method); for (int i=0;i<_methods.Count;i++) { URTMethod thisMethod = (URTMethod) _methods[i]; if (thisMethod.Equals(method)) thisMethod.MethodFlags = method.MethodFlags; } */ return(method.MethodFlags); }
internal override MethodFlags GetMethodFlags(URTMethod method) { Debug.Assert(false, "GetMethodFlags called on a SimpleSchemaType"); return(0); }
internal void AddMethod(URTMethod method) { Util.Log("URTComplexType.AddMethod "+method); if (method.Name == Name) { // Type generated from an non-suds wsdl. Append the class name with a C when printing. _bNameMethodConflict = true; } _methods.Add(method); int index = method.Name.IndexOf('.'); if (index > 0) method.MethodFlags = MethodFlags.None; //interface qualfied method names have no method modifier else method.MethodFlags = method.MethodFlags |= MethodFlags.Public; // method names are public for this version of wsdl }
internal abstract MethodFlags GetMethodFlags(URTMethod method);
internal override MethodFlags GetMethodFlags(URTMethod method) { BindingFlags bFlags = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic; Type type = _type; while (type != null) { MethodInfo[] methods = type.GetMethods(bFlags); for (int i=0;i<methods.Length;i++) { MethodFlags methodFlags = method.GetMethodFlags(methods[i]); if (methodFlags != 0) return(methodFlags); } type = type.BaseType; } return(0); }
// Check this interface for method private void CheckIfNewNeeded(URTMethod method) { foreach (URTMethod urtMethod in _methods) { if (urtMethod.Name == method.Name) { method.MethodFlags |= MethodFlags.New; break; } } if (URTMethod.MethodFlagsTest(method.MethodFlags, MethodFlags.New)) NewNeeded(method); }
// Check if interface method occurs up the inheritance hierarchy internal void NewNeeded(URTMethod method) { Util.Log("URTInterface.NewNeeded Enter interface "+Name+" method "+method.Name); foreach (URTInterface urtInterface in _extendsInterface) { urtInterface.CheckIfNewNeeded(method); if (URTMethod.MethodFlagsTest(method.MethodFlags, MethodFlags.New)) break; } Util.Log("URTInterface.NewNeeded Exit interface "+Name+" method "+method.Name+" "+((Enum)method.MethodFlags).ToString()); }
internal void AddMethod(URTMethod method) { Util.Log("URTInterface.AddMethod method "+method.Name); _methods.Add(method); method.MethodFlags = MethodFlags.None; // method names don't have public modifiers }
internal void AddMethod(URTMethod method) { Util.Log("URTComplexType.AddMethod "+method); _methods.Add(method); }
internal void AddMethod(URTMethod method) { Util.Log("URTInterface.AddMethod method "+method.Name); _methods.Add(method); }