public MetaModuleSymbol(AssemblySymbol owningAssembly, ImmutableModelGroup modelGroup, int ordinal) { _owningAssembly = owningAssembly; _models = modelGroup.Models.ToImmutableArray(); _ordinal = ordinal; _symbolMap = new MetaSymbolMap(this); }
/// <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; }