4 implementations of IAssemblyReference
Microsoft.CodeAnalysis (1)
Emit\ErrorType.cs (1)
209private sealed class ErrorAssembly : Cci.IAssemblyReference
Microsoft.CodeAnalysis.CSharp (2)
Emitter\Model\AssemblyReference.cs (1)
18internal sealed class AssemblyReference : Cci.IAssemblyReference
Emitter\Model\PEAssemblyBuilder.cs (1)
22internal abstract class PEAssemblyBuilderBase : PEModuleBuilder, Cci.IAssemblyReference
Microsoft.CodeAnalysis.ExpressionEvaluator.ExpressionCompiler (1)
AssemblyReference.cs (1)
13internal sealed class AssemblyReference : IAssemblyReference
66 references to IAssemblyReference
Microsoft.CodeAnalysis (48)
Emit\CommonPEModuleBuilder.cs (11)
154internal abstract Cci.IAssemblyReference Translate(IAssemblySymbolInternal symbol, DiagnosticBag diagnostics); 210protected abstract Cci.IAssemblyReference GetCorLibraryReferenceToEmit(EmitContext context); 211protected abstract IEnumerable<Cci.IAssemblyReference> GetAssemblyReferencesFromAddedModules(DiagnosticBag diagnostics); 446public Cci.IAssemblyReference GetCorLibrary(EmitContext context) 451public Cci.IAssemblyReference GetContainingAssembly(EmitContext context) 453return OutputKind == OutputKind.NetModule ? null : (Cci.IAssemblyReference)this; 547public IEnumerable<Cci.IAssemblyReference> GetAssemblyReferences(EmitContext context) 549Cci.IAssemblyReference corLibrary = GetCorLibraryReferenceToEmit(context); 561foreach (var aRef in GetAssemblyReferencesFromAddedModules(context.Diagnostics)) 785internal abstract Cci.IAssemblyReference Translate(TAssemblySymbol symbol, DiagnosticBag diagnostics); 789internal sealed override Cci.IAssemblyReference Translate(IAssemblySymbolInternal symbol, DiagnosticBag diagnostics)
Emit\EditAndContinue\DeltaMetadataWriter.cs (1)
410protected override AssemblyReferenceHandle GetOrAddAssemblyReferenceHandle(IAssemblyReference reference)
Emit\ErrorType.cs (4)
225AssemblyIdentity Cci.IAssemblyReference.Identity => s_identity; 226Version Cci.IAssemblyReference.AssemblyVersionPattern => null; 228Cci.IAssemblyReference Cci.IModuleReference.GetContainingAssembly(EmitContext context) 240visitor.Visit((Cci.IAssemblyReference)this);
NativePdbWriter\PdbWriter.cs (1)
418private string GetAssemblyReferenceAlias(IAssemblyReference assembly, HashSet<string>? declaredExternAliases)
PEWriter\AssemblyReferenceAlias.cs (2)
23public readonly IAssemblyReference Assembly; 25internal AssemblyReferenceAlias(string name, IAssemblyReference assembly)
PEWriter\FullMetadataWriter.cs (1)
234protected override AssemblyReferenceHandle GetOrAddAssemblyReferenceHandle(IAssemblyReference reference)
PEWriter\MetadataVisitor.cs (5)
32public void Visit(IEnumerable<IAssemblyReference> assemblyReferences) 34foreach (IAssemblyReference assemblyReference in assemblyReferences) 40public virtual void Visit(IAssemblyReference assemblyReference) 698IAssemblyReference? assemblyReference = unitReference as IAssemblyReference;
PEWriter\MetadataWriter.cs (8)
283protected abstract AssemblyReferenceHandle GetOrAddAssemblyReferenceHandle(IAssemblyReference reference); 669foreach (IAssemblyReference assemblyRef in this.module.GetAssemblyReferences(Context)) 690internal AssemblyReferenceHandle GetAssemblyReferenceHandle(IAssemblyReference assemblyReference) 692var containingAssembly = this.module.GetContainingAssembly(Context); 898if (uref is IAssemblyReference aref) 1296if (unitReference is IAssemblyReference aref) 3707internal static string StrongName(IAssemblyReference assemblyReference) 3764if (namespaceType?.GetUnit(context) is IAssemblyReference referencedAssembly)
PEWriter\ReferenceIndexer.cs (3)
52var definingAssembly = definingUnit as IAssemblyReference; 99protected override void RecordAssemblyReference(IAssemblyReference assemblyReference)
PEWriter\ReferenceIndexerBase.cs (4)
33public override void Visit(IAssemblyReference assemblyReference) 41protected abstract void RecordAssemblyReference(IAssemblyReference assemblyReference); 209var assemblyReference = unit as IAssemblyReference;
PEWriter\TypeNameSerializer.cs (3)
187IAssemblyReference referencedAssembly = null; 191referencedAssembly = namespaceType.GetUnit(context) as IAssemblyReference; 196var containingAssembly = context.Module.GetContainingAssembly(context);
PEWriter\TypeReferenceIndexer.cs (1)
34protected override void RecordAssemblyReference(IAssemblyReference assemblyReference)
PEWriter\Units.cs (1)
77IAssemblyReference GetContainingAssembly(EmitContext context);
PEWriter\UsedNamespaceOrType.cs (3)
17public readonly IAssemblyReference? TargetAssemblyOpt; 24IAssemblyReference? targetAssembly = null, 42internal static UsedNamespaceOrType CreateNamespace(INamespace @namespace, IAssemblyReference? assemblyOpt = null, string? aliasOpt = null)
Microsoft.CodeAnalysis.CSharp (10)
Binder\ImportChain.cs (3)
83var assemblyRef = TryGetAssemblyScope(ns, moduleBuilder, diagnostics); 113var assemblyRef = TryGetAssemblyScope(ns, moduleBuilder, diagnostics); 137private static Cci.IAssemblyReference TryGetAssemblyScope(NamespaceSymbol @namespace, Emit.PEModuleBuilder moduleBuilder, DiagnosticBag diagnostics)
Emitter\Model\AssemblyReference.cs (1)
44Cci.IAssemblyReference Cci.IModuleReference.GetContainingAssembly(CodeAnalysis.Emit.EmitContext context)
Emitter\Model\ModuleReference.cs (1)
66Cci.IAssemblyReference Cci.IModuleReference.GetContainingAssembly(EmitContext context)
Emitter\Model\PEModuleBuilder.cs (5)
152protected sealed override IEnumerable<Cci.IAssemblyReference> GetAssemblyReferencesFromAddedModules(DiagnosticBag diagnostics) 860protected sealed override Cci.IAssemblyReference GetCorLibraryReferenceToEmit(CodeAnalysis.Emit.EmitContext context) 874internal sealed override Cci.IAssemblyReference Translate(AssemblySymbol assembly, DiagnosticBag diagnostics) 878return (Cci.IAssemblyReference)this; 885return (Cci.IAssemblyReference)reference;
Microsoft.CodeAnalysis.ExpressionEvaluator.ExpressionCompiler (3)
AssemblyReference.cs (3)
22AssemblyIdentity IAssemblyReference.Identity => _identity; 23Version? IAssemblyReference.AssemblyVersionPattern => null; 26IAssemblyReference IModuleReference.GetContainingAssembly(EmitContext context)
Microsoft.CodeAnalysis.UnitTests (5)
PEWriter\UsedNamespaceOrTypeTests.cs (5)
119UsedNamespaceOrType.CreateNamespace(ns1.Object, CreateEqualsInterface<IAssemblyReference>("a").Object), 127var assembly1 = CreateEqualsInterface<IAssemblyReference>("assembly"); 128var assembly2 = CreateEqualsInterface<IAssemblyReference>("assembly"); 129var assembly3 = CreateEqualsInterface<IAssemblyReference>("other assembly"); 144UsedNamespaceOrType.CreateNamespace(ns1.Object, new Mock<IAssemblyReference>(MockBehavior.Strict).Object),