Ejemplo n.º 1
0
 /// <summary>
 /// Constructor for the <see cref="CsClass"/>
 /// </summary>
 /// <param name="isLoaded">Flag that determines if the model was loaded.</param>
 /// <param name="hasErrors">Flag that determine if errors were found creating the model.</param>
 /// <param name="loadedFromSource">Flag that determines if the model was loaded from source code or from an existing library.</param>
 /// <param name="language">The target language the model was generated from.</param>
 /// <param name="members">The members assigned to this container.</param>
 /// <param name="baseClass">The class model that is base class of this class.</param>
 /// <param name="sourceDocument">The source document that was used to build this model. This is optional parameter and can be null.</param>
 /// <param name="modelStore">Optional the lookup storage for models created during the compile or lookup of the model.</param>
 /// <param name="modelErrors">Optional the error that occured while creating the model.</param>
 /// <param name="attributes">List of the attributes assigned to this model.</param>
 /// <param name="isGeneric">Flag that determines if the container is a generic definition.</param>
 /// <param name="hasStrongTypesInGenerics">Flag that determines if the generics use strong type definitions.</param>
 /// <param name="genericParameters">Generic parameters assigned to the container.</param>
 /// <param name="genericTypes">Target types for the generic parameters assigned to the container.</param>
 /// <param name="sourceFiles">List of the fully qualified paths to the source code files this model is defined in.</param>
 /// <param name="hasDocumentation">Flag that determines if the model has XML documentation assigned to it.</param>
 /// <param name="documentation">The xml documentation assigned to the model.</param>
 /// <param name="lookupPath">The fully qualified model lookup path for this model.</param>
 /// <param name="name">The name of the model.</param>
 /// <param name="ns">The namespace the container belongs to.</param>
 /// <param name="parentPath">The fully qualified lookup path for the parent model to this one.</param>
 /// <param name="security">The security scope assigned to this model.</param>
 /// <param name="inheritedInterfaces">The interfaces that are inherited by this container.</param>
 /// <param name="isStatic">Flag that determines if the model is static.</param>
 /// <param name="isAbstract">Flag that determines if the model is abstract.</param>
 /// <param name="isSealed">Flag that determines if the model is sealed.</param>
 protected CsClass(bool isLoaded, bool hasErrors, bool loadedFromSource, SourceCodeType language,
     IReadOnlyList<CsAttribute> attributes, bool isGeneric, bool hasStrongTypesInGenerics,
     IReadOnlyList<CsGenericParameter> genericParameters, IReadOnlyList<CsType> genericTypes, IReadOnlyList<string> sourceFiles,
     bool hasDocumentation, string documentation, string lookupPath, string name, string ns, string parentPath, 
     CsSecurity security, IReadOnlyList<CsInterface> inheritedInterfaces, IReadOnlyList<CsMember> members,
     bool isStatic, bool isAbstract, bool isSealed, CsClass baseClass, string sourceDocument = null, 
     ModelStore<ICsModel> modelStore = null, IReadOnlyList<ModelLoadException> modelErrors = null)
     : base(isLoaded, hasErrors, loadedFromSource, language, CsModelType.Class, attributes, 
         isGeneric, hasStrongTypesInGenerics, genericParameters, genericTypes, sourceFiles, hasDocumentation,
         documentation, lookupPath, name, ns, parentPath, CsContainerType.Class, security, inheritedInterfaces, 
         members, sourceDocument, modelStore, modelErrors)
 {
     _isStatic = isStatic;
     _isAbstract = isAbstract;
     _isSealed = isSealed;
     _baseClass = baseClass;
 }
 /// <summary>
 /// Creates a list of the interface members that are not implemented in the <see cref="ICsClass"/> model.
 /// </summary>
 /// <param name="source">The source model to check.</param>
 /// <returns>List of models that are missing or an empty list if there are no missing members.</returns>
 /// <exception cref="ArgumentNullException">Throws an argument null exception if the model does not exist.</exception>
 public static IReadOnlyList <CsMember> MissingInterfaceMembers(this CsClass source)
 {
     return(MissingContainerInterfaceMembers(source));
 }