System.Xml.Schema.XmlSchemaInference.GetEffectiveSchemaType C# (CSharp) Method

GetEffectiveSchemaType() private method

private GetEffectiveSchemaType ( XmlSchemaElement elem, bool bCreatingNewType ) : XmlSchemaType
elem XmlSchemaElement
bCreatingNewType bool
return XmlSchemaType
            private XmlSchemaType GetEffectiveSchemaType(XmlSchemaElement elem, bool bCreatingNewType) {
                XmlSchemaType effectiveSchemaType = null;
                if (!bCreatingNewType && elem.ElementSchemaType != null) {
                    effectiveSchemaType = elem.ElementSchemaType;
                }
                else { //creating new type, hence look up pre-compiled info
                    Debug.Assert(elem.ElementDecl == null);
                    if (elem.SchemaType != null) {
                        effectiveSchemaType = elem.SchemaType;
                    }
                    else if (elem.SchemaTypeName != XmlQualifiedName.Empty) {
                        effectiveSchemaType = schemaSet.GlobalTypes[elem.SchemaTypeName] as XmlSchemaType;
                        if (effectiveSchemaType == null) {
                            effectiveSchemaType = XmlSchemaType.GetBuiltInSimpleType(elem.SchemaTypeName);
                        }
                        if (effectiveSchemaType == null) {
                            effectiveSchemaType = XmlSchemaType.GetBuiltInComplexType(elem.SchemaTypeName);
                        }
                    }
                }
                return effectiveSchemaType;
            }
            /// <summary>