示例#1
0
 public MetaModuleSymbol(AssemblySymbol owningAssembly, ImmutableModelGroup modelGroup, int ordinal)
 {
     _owningAssembly = owningAssembly;
     _models         = modelGroup.Models.ToImmutableArray();
     _ordinal        = ordinal;
     _symbolMap      = new MetaSymbolMap(this);
 }
示例#2
0
        /// <summary>
        /// Create metadata reference from a MetaDslx model group.
        /// </summary>
        /// <param name="model">A MetaDslx model.</param>
        /// <exception cref="ArgumentNullException"><paramref name="modelGroup"/> is null.</exception>
        public static ModelReference CreateFromModelGroup(ImmutableModelGroup modelGroup)
        {
            if (modelGroup == null)
            {
                throw new ArgumentNullException(nameof(modelGroup));
            }

            return(new ModelReference(ModelGroupMetadata.CreateFromModelGroup(modelGroup), MetadataReferenceProperties.Module, DocumentationProvider.Default, null, null));
        }
        /// <summary>
        /// Create metadata module from a MetaDslx model.
        /// </summary>
        /// <param name="model">A MetaDslx model.</param>
        /// <exception cref="ArgumentNullException"><paramref name="modelGroup"/> is null.</exception>
        public static ModelGroupMetadata CreateFromModelGroup(ImmutableModelGroup modelGroup)
        {
            if (modelGroup == null)
            {
                throw new ArgumentNullException(nameof(modelGroup));
            }

            return(new ModelGroupMetadata(modelGroup));
        }
 // creates a copy
 private ModelGroupMetadata(ModelGroupMetadata metadata)
     : base(isImageOwner: false, id: metadata.Id)
 {
     _modelGroup = metadata.ModelGroup;
 }
 private ModelGroupMetadata(ImmutableModelGroup modelGroup)
     : base(isImageOwner: true, id: MetadataId.CreateNewId())
 {
     _modelGroup = modelGroup;
 }