@@ -23,48 +23,52 @@ public abstract class CsClass:CsContainerWithNestedContainers,ICsClass
2323 #endregion
2424
2525 /// <summary>
26- /// Constructor for the <see cref="CsClass"/>
26+ /// Represents a C# class model, providing metadata and structural information about the class.
2727 /// </summary>
28- /// <param name="isLoaded">Flag that determines if the model was loaded.</param>
29- /// <param name="hasErrors">Flag that determine if errors were found creating the model.</param>
30- /// <param name="loadedFromSource">Flag that determines if the model was loaded from source code or from an existing library.</param>
31- /// <param name="language">The target language the model was generated from.</param>
32- /// <param name="members">The members assigned to this container.</param>
33- /// <param name="isNested">Flag that determines if the container type is nested in another type definition.</param>
34- /// <param name="nestedType">Enumeration of the type of nesting the container is.</param>
35- /// <param name="nestedModels">List of nested models assigned to this container. This is an optional parameter and can be null</param>
36- /// <param name="baseClass">The class model that is base class of this class.</param>
37- /// <param name="sourceDocument">The source document that was used to build this model. This is optional parameter and can be null.</param>
38- /// <param name="modelStore">Optional the lookup storage for models created during the compile or lookup of the model.</param>
39- /// <param name="modelErrors">Optional the error that occurred while creating the model.</param>
40- /// <param name="attributes">List of the attributes assigned to this model.</param>
41- /// <param name="isGeneric">Flag that determines if the container is a generic definition.</param>
42- /// <param name="hasStrongTypesInGenerics">Flag that determines if the generics use strong type definitions.</param>
43- /// <param name="genericParameters">Generic parameters assigned to the container.</param>
44- /// <param name="genericTypes">Target types for the generic parameters assigned to the container.</param>
45- /// <param name="modelSourceFile">The source code file the model was generated from.</param>
46- /// <param name="sourceFiles">List of the fully qualified paths to the source code files this model is defined in.</param>
47- /// <param name="hasDocumentation">Flag that determines if the model has XML documentation assigned to it.</param>
48- /// <param name="documentation">The xml documentation assigned to the model.</param>
49- /// <param name="lookupPath">The fully qualified model lookup path for this model.</param>
50- /// <param name="name">The name of the model.</param>
51- /// <param name="ns">The namespace the container belongs to.</param>
52- /// <param name="parentPath">The fully qualified lookup path for the parent model to this one.</param>
53- /// <param name="security">The security scope assigned to this model.</param>
54- /// <param name="inheritedInterfaces">The interfaces that are inherited by this container.</param>
55- /// <param name="isStatic">Flag that determines if the model is static.</param>
56- /// <param name="isAbstract">Flag that determines if the model is abstract.</param>
57- /// <param name="isSealed">Flag that determines if the model is sealed.</param>
28+ /// <remarks>This class encapsulates details about a C# class, including its attributes, generic
29+ /// parameters, inheritance hierarchy, members, and other metadata. It is primarily used to analyze and
30+ /// represent the structure of a class in source code.</remarks>
31+ /// <param name="isLoaded">Indicates whether the class model has been successfully loaded.</param>
32+ /// <param name="hasErrors">Indicates whether the class model contains errors.</param>
33+ /// <param name="loadedFromSource">Indicates whether the class was loaded directly from source code.</param>
34+ /// <param name="language">The programming language of the source code (e.g., C#).</param>
35+ /// <param name="attributes">A read-only list of attributes applied to the class.</param>
36+ /// <param name="isGeneric">Indicates whether the class is a generic type.</param>
37+ /// <param name="hasStrongTypesInGenerics">Indicates whether the generic parameters of the class are strongly typed.</param>
38+ /// <param name="genericParameters">A read-only list of generic parameters defined by the class.</param>
39+ /// <param name="genericTypes">A read-only list of generic types used by the class.</param>
40+ /// <param name="modelSourceFile">The file path of the primary source file for the class.</param>
41+ /// <param name="sourceFiles">A read-only list of source files associated with the class.</param>
42+ /// <param name="hasDocumentation">Indicates whether the class has associated XML documentation.</param>
43+ /// <param name="documentation">The XML documentation associated with the class, if available.</param>
44+ /// <param name="lookupPath">The lookup path used to identify the class within its namespace or hierarchy.</param>
45+ /// <param name="name">The name of the class.</param>
46+ /// <param name="ns">The namespace to which the class belongs.</param>
47+ /// <param name="parentPath">The hierarchical path of the parent container, if the class is nested.</param>
48+ /// <param name="security">The security level (accessibility) of the class (e.g., public, private).</param>
49+ /// <param name="inheritedInterfaces">A read-only list of all interfaces inherited by the class, including those inherited indirectly.</param>
50+ /// <param name="directInheritedInterfaces">A read-only list of interfaces directly implemented by the class.</param>
51+ /// <param name="members">A read-only list of members (e.g., methods, properties, fields) defined in the class.</param>
52+ /// <param name="isNested">Indicates whether the class is nested within another type.</param>
53+ /// <param name="nestedType">The type of nesting, if the class is nested.</param>
54+ /// <param name="isStatic">Indicates whether the class is static.</param>
55+ /// <param name="isAbstract">Indicates whether the class is abstract.</param>
56+ /// <param name="isSealed">Indicates whether the class is sealed.</param>
57+ /// <param name="baseClass">The base class from which this class directly inherits, if any.</param>
58+ /// <param name="nestedModels">A read-only list of nested models (e.g., nested classes, interfaces) within the class.</param>
59+ /// <param name="sourceDocument">The source document associated with the class, if available.</param>
60+ /// <param name="modelStore">The model store containing additional metadata or related models for the class.</param>
61+ /// <param name="modelErrors">A read-only list of errors encountered while loading the class model, if any.</param>
5862 protected CsClass ( bool isLoaded , bool hasErrors , bool loadedFromSource , SourceCodeType language ,
5963 IReadOnlyList < CsAttribute > attributes , bool isGeneric , bool hasStrongTypesInGenerics ,
6064 IReadOnlyList < CsGenericParameter > genericParameters , IReadOnlyList < CsType > genericTypes , string modelSourceFile , IReadOnlyList < string > sourceFiles ,
6165 bool hasDocumentation , string documentation , string lookupPath , string name , string ns , string parentPath ,
62- CsSecurity security , IReadOnlyList < CsInterface > inheritedInterfaces , IReadOnlyList < CsMember > members , bool isNested , CsNestedType nestedType ,
66+ CsSecurity security , IReadOnlyList < CsInterface > inheritedInterfaces , IReadOnlyList < CsInterface > directInheritedInterfaces , IReadOnlyList < CsMember > members , bool isNested , CsNestedType nestedType ,
6367 bool isStatic , bool isAbstract , bool isSealed , CsClass baseClass , IReadOnlyList < ICsNestedModel > nestedModels , string sourceDocument = null ,
6468 ModelStore < ICsModel > modelStore = null , IReadOnlyList < ModelLoadException > modelErrors = null )
6569 : base ( isLoaded , hasErrors , loadedFromSource , language , CsModelType . Class , attributes ,
6670 isGeneric , hasStrongTypesInGenerics , genericParameters , genericTypes , modelSourceFile , sourceFiles , hasDocumentation ,
67- documentation , lookupPath , name , ns , parentPath , CsContainerType . Class , security , inheritedInterfaces ,
71+ documentation , lookupPath , name , ns , parentPath , CsContainerType . Class , security , inheritedInterfaces , directInheritedInterfaces ,
6872 members , isNested , nestedType , nestedModels , sourceDocument , modelStore , modelErrors )
6973 {
7074 _isStatic = isStatic ;
0 commit comments