Exemplo n.º 1
0
		public APIRecord(APIPage InParent, DoxygenEntity InEntity)
			: base(InParent, GetNameFromNode(InEntity.Node))
		{
			// Set all the readonly vars
			Entity = InEntity;
			Node = InEntity.Node;
			RefId = Node.Attributes["id"].InnerText;
			Protection = ParseProtection(Node);

			// Set the record type
			switch (Node.Attributes["kind"].Value)
			{
				case "class":
					RecordType = Name.StartsWith("I")? APIRecordType.Interface : APIRecordType.Class;
					break;
				case "struct":
					RecordType = APIRecordType.Struct;
					break;
				case "union":
					RecordType = APIRecordType.Union;
					break;
			}

			// Register the record for incoming links
			AddRefLink(RefId, this);

			// Add it to the template list
			if(Node.SelectSingleNode("templateparamlist") != null)
			{
				bIsTemplate = true;
				bIsTemplateSpecialization = Name.Contains('<');
				if(!bIsTemplateSpecialization && !TemplateRecords.ContainsKey(FullName)) TemplateRecords.Add(FullName, this);
			}
        }
Exemplo n.º 2
0
        public APIRecord(APIPage InParent, DoxygenEntity InEntity)
            : base(InParent, GetNameFromNode(InEntity.Node))
        {
            // Set all the readonly vars
            Entity     = InEntity;
            Node       = InEntity.Node;
            RefId      = Node.Attributes["id"].InnerText;
            Protection = ParseProtection(Node);

            // Set the record type
            switch (Node.Attributes["kind"].Value)
            {
            case "class":
                RecordType = Name.StartsWith("I")? APIRecordType.Interface : APIRecordType.Class;
                break;

            case "struct":
                RecordType = APIRecordType.Struct;
                break;

            case "union":
                RecordType = APIRecordType.Union;
                break;
            }

            // Register the record for incoming links
            AddRefLink(RefId, this);

            // Add it to the template list
            if (Node.SelectSingleNode("templateparamlist") != null)
            {
                bIsTemplate = true;
                bIsTemplateSpecialization = Name.Contains('<');
                if (!bIsTemplateSpecialization && !TemplateRecords.ContainsKey(FullName))
                {
                    TemplateRecords.Add(FullName, this);
                }
            }
        }