protected void SetBaseUri(ReferenceArgs <HtmlNode, HtmlAttribute> referenceArgs, string attributeName)
        {
            var baseUriAttribute = referenceArgs.Element.Attributes[attributeName];

            if (baseUriAttribute == null)
            {
                return;
            }
            if (!Uri.TryCreate(baseUriAttribute.Value, UriKind.Absolute, out _baseUri))
            {
                _baseUri = null;
            }
            if (_htmlParser != null)
            {
                _htmlParser.Remove(baseUriAttribute);
            }
        }
 private void CountAll()
 {
     while (refsToProcess.Count > 0 || fieldsToProcess.Count > 0)
     {
         while (fieldsToProcess.Count > 0)
         {
             FieldArgs fieldArgs = fieldsToProcess[fieldsToProcess.Count - 1];
             fieldsToProcess.RemoveAt(fieldsToProcess.Count - 1);
             CountField(fieldArgs);
         }
         while (refsToProcess.Count > 0)
         {
             ReferenceArgs refArgs = refsToProcess[refsToProcess.Count - 1];
             refsToProcess.RemoveAt(refsToProcess.Count - 1);
             CountReference(refArgs);
         }
     }
 }
Beispiel #3
0
 public Script(ReferenceArgs <HtmlNode, HtmlAttribute> referenceArgs) : base(referenceArgs)
 {
 }
Beispiel #4
0
 public Any(ReferenceArgs <XmlElement, XmlAttribute> referenceArgs) : base(referenceArgs)
 {
 }
Beispiel #5
0
 public Override(ReferenceArgs <XmlElement, XmlAttribute> referenceArgs) : base(referenceArgs)
 {
 }
Beispiel #6
0
 public Track(ReferenceArgs <HtmlNode, HtmlAttribute> referenceArgs) : base(referenceArgs)
 {
 }
Beispiel #7
0
 public Applet(ReferenceArgs <HtmlNode, HtmlAttribute> referenceArgs)
     : base(referenceArgs)
 {
     SetBaseUri(referenceArgs, "codeBase");
 }
Beispiel #8
0
 public MenuItem(ReferenceArgs <HtmlNode, HtmlAttribute> referenceArgs) : base(referenceArgs)
 {
 }
 protected XmlReference(ReferenceArgs <XmlElement, XmlAttribute> referenceArgs) : base(referenceArgs)
 {
 }
Beispiel #10
0
 public Include(ReferenceArgs <XmlElement, XmlAttribute> referenceArgs) : base(referenceArgs)
 {
 }
 private void CountReference(ReferenceArgs refArgs)
 {
     if (!ShouldExclude(refArgs.reference_type))
     {
         if (refArgs.reference_type == detailType)
         {
             string text = "\"";
             text = ((!(refArgs.lineage.obj as UnityEngine.Object != (UnityEngine.Object)null)) ? ("\"" + detailTypeStr) : ("\"" + ((UnityEngine.Object)refArgs.lineage.obj).name));
             if (refArgs.lineage.parent0 != null)
             {
                 text += "\",\"";
                 text += refArgs.lineage.parent0.ToString();
             }
             if (refArgs.lineage.parent1 != null)
             {
                 text = text + "\",\"" + refArgs.lineage.parent1.ToString();
             }
             if (refArgs.lineage.parent2 != null)
             {
                 text = text + "\",\"" + refArgs.lineage.parent2.ToString();
             }
             if (refArgs.lineage.parent3 != null)
             {
                 text = text + "\",\"" + refArgs.lineage.parent3.ToString();
             }
             if (refArgs.lineage.parent4 != null)
             {
                 text = text + "\",\"" + refArgs.lineage.parent4.ToString();
             }
             text += "\"\n";
             detailTypeCount.TryGetValue(text, out DetailInfo value);
             value.count++;
             if (typeof(Array).IsAssignableFrom(refArgs.reference_type) && refArgs.lineage.obj != null)
             {
                 Array array = refArgs.lineage.obj as Array;
                 value.numArrayEntries += (array?.Length ?? 0);
             }
             detailTypeCount[text] = value;
         }
         if (refArgs.reference_type.IsClass)
         {
             TypeData typeData = GetTypeData(refArgs.reference_type, types);
             typeData.refCount++;
             IncrementFieldCount(fieldCounts, refArgs.field_name);
         }
         if (refArgs.lineage.obj != null)
         {
             try
             {
                 if (refArgs.lineage.obj.GetType().IsClass&& !walked.Add(refArgs.lineage.obj))
                 {
                     return;
                 }
             }
             catch
             {
                 return;
             }
             TypeData typeData2 = GetTypeData(refArgs.lineage.obj.GetType(), types);
             if (typeData2.type.IsClass)
             {
                 typeData2.instanceCount++;
                 if (typeof(Array).IsAssignableFrom(typeData2.type))
                 {
                     Array array2 = refArgs.lineage.obj as Array;
                     typeData2.numArrayEntries += (array2?.Length ?? 0);
                 }
                 HierarchyNode key    = new HierarchyNode(refArgs.lineage.parent0, refArgs.lineage.parent1, refArgs.lineage.parent2, refArgs.lineage.parent3, refArgs.lineage.parent4);
                 int           value2 = 0;
                 typeData2.hierarchies.TryGetValue(key, out value2);
                 typeData2.hierarchies[key] = value2 + 1;
             }
             foreach (FieldInfo field in typeData2.fields)
             {
                 fieldsToProcess.Add(new FieldArgs(field, new Lineage(refArgs.lineage.obj, refArgs.lineage.parent3, refArgs.lineage.parent2, refArgs.lineage.parent1, refArgs.lineage.parent0, field.DeclaringType)));
             }
             ICollection collection = refArgs.lineage.obj as ICollection;
             if (collection != null)
             {
                 Type type = typeof(object);
                 if (collection.GetType().GetElementType() != null)
                 {
                     type = collection.GetType().GetElementType();
                 }
                 else if (collection.GetType().GetGenericArguments().Length > 0)
                 {
                     type = collection.GetType().GetGenericArguments()[0];
                 }
                 if (!ShouldExclude(type))
                 {
                     IEnumerator enumerator2 = collection.GetEnumerator();
                     try
                     {
                         while (enumerator2.MoveNext())
                         {
                             object current2 = enumerator2.Current;
                             refsToProcess.Add(new ReferenceArgs(type, refArgs.field_name + ".Item", new Lineage(current2, refArgs.lineage.parent3, refArgs.lineage.parent2, refArgs.lineage.parent1, refArgs.lineage.parent0, collection.GetType())));
                         }
                     }
                     finally
                     {
                         IDisposable disposable;
                         if ((disposable = (enumerator2 as IDisposable)) != null)
                         {
                             disposable.Dispose();
                         }
                     }
                 }
             }
         }
     }
 }
 public Documentation(ReferenceArgs <XmlElement, XmlAttribute> referenceArgs) : base(referenceArgs)
 {
 }
 public ImportSchema(ReferenceArgs <XmlElement, XmlAttribute> referenceArgs) : base(referenceArgs)
 {
 }
Beispiel #14
0
 public XmlStyleSheet(ReferenceArgs <XmlProcessingInstruction, XmlAttribute> referenceArgs) : base(referenceArgs)
 {
 }
 protected ProcessingInstructionReference(ReferenceArgs <XmlProcessingInstruction, XmlAttribute> referenceArgs)
     : base(referenceArgs)
 {
     _processingInstructionElement = referenceArgs.Attribute.GetOwnerElement();
 }
 protected HtmlReference(ReferenceArgs <HtmlNode, HtmlAttribute> referenceArgs)
     : base(referenceArgs)
 {
     _htmlParser = referenceArgs.Parser as HtmlParser;
 }
Beispiel #17
0
 public Frame(ReferenceArgs <HtmlNode, HtmlAttribute> referenceArgs) : base(referenceArgs)
 {
 }
Beispiel #18
0
 public Redefine(ReferenceArgs <XmlElement, XmlAttribute> referenceArgs) : base(referenceArgs)
 {
 }
Beispiel #19
0
 public Video(ReferenceArgs <HtmlNode, HtmlAttribute> referenceArgs) : base(referenceArgs)
 {
 }
Beispiel #20
0
 public Embed(ReferenceArgs <HtmlNode, HtmlAttribute> referenceArgs) : base(referenceArgs)
 {
 }