void Cci.IReference.Dispatch(Cci.MetadataVisitor visitor) { Debug.Assert(this.IsDefinitionOrDistinct()); if (!this.IsDefinition) { if (this.IsGenericMethod) { Debug.Assert(((Cci.IMethodReference) this).AsGenericMethodInstanceReference != null); visitor.Visit((Cci.IGenericMethodInstanceReference) this); } else { Debug.Assert(((Cci.IMethodReference) this).AsSpecializedMethodReference != null); visitor.Visit((Cci.ISpecializedMethodReference) this); } } else { PEModuleBuilder moduleBeingBuilt = (PEModuleBuilder)visitor.Context.Module; if (object.ReferenceEquals(this.ContainingModule, moduleBeingBuilt.SourceModule)) { Debug.Assert(((Cci.IMethodReference) this).GetResolvedMethod(visitor.Context) != null); visitor.Visit((Cci.IMethodDefinition) this); } else { visitor.Visit((Cci.IMethodReference) this); } } }
void Cci.IReference.Dispatch(Cci.MetadataVisitor visitor) { if (((Cci.IMethodReference) this).AsGenericMethodInstanceReference != null) { visitor.Visit((Cci.IGenericMethodInstanceReference) this); } else if (((Cci.IMethodReference) this).AsSpecializedMethodReference != null) { visitor.Visit((Cci.ISpecializedMethodReference) this); } else { visitor.Visit((Cci.IMethodReference) this); } }
void Cci.IReference.Dispatch(Cci.MetadataVisitor visitor) { Debug.Assert(this.IsDefinitionOrDistinct()); if (!this.IsDefinition) { visitor.Visit((Cci.ISpecializedFieldReference) this); } else if (object.ReferenceEquals(this.ContainingModule, ((PEModuleBuilder)visitor.Context.Module).SourceModule)) { visitor.Visit((Cci.IFieldDefinition) this); } else { visitor.Visit((Cci.IFieldReference) this); } }
void Cci.IReference.Dispatch(Cci.MetadataVisitor visitor) { throw ExceptionUtilities.Unreachable; //We've not yet discovered a scenario in which we need this. //If you're hitting this exception, uncomment the code below //and add a unit test. #if false Debug.Assert(this.IsDefinition); SymbolKind kind = this.ContainingSymbol.Kind; if (((Module)visitor.Context).SourceModule == this.ContainingModule) { if (kind == SymbolKind.NamedType) { visitor.Visit((IGenericTypeParameter)this); } else if (kind == SymbolKind.Method) { visitor.Visit((IGenericMethodParameter)this); } else { throw new NotSupportedException(); } } else { if (kind == SymbolKind.NamedType) { visitor.Visit((IGenericTypeParameterReference)this); } else if (kind == SymbolKind.Method) { visitor.Visit((IGenericMethodParameterReference)this); } else { throw new NotSupportedException(); } } #endif }
void Cci.IReference.Dispatch(Cci.MetadataVisitor visitor) { throw ExceptionUtilities.Unreachable; //At present we have no scenario that needs this method. //Should one arise, uncomment implementation and add a test. #if false Debug.Assert(this.IsDefinitionOrDistinct()); if (!this.IsDefinition) { visitor.Visit((IParameterTypeInformation)this); } else if (this.ContainingModule == ((Module)visitor.Context).SourceModule) { visitor.Visit((IParameterDefinition)this); } else { visitor.Visit((IParameterTypeInformation)this); } #endif }
void IReference.Dispatch(MetadataVisitor visitor) { visitor.Visit((IModifiedTypeReference)this); }
void IReference.Dispatch(MetadataVisitor visitor) { visitor.Visit(this); }
public sealed override void Dispatch(Cci.MetadataVisitor visitor) { visitor.Visit((Cci.IGenericTypeInstanceReference) this); }
public override void Dispatch(Cci.MetadataVisitor visitor) { visitor.Visit((Cci.ISpecializedFieldReference) this); }
public override void Dispatch(Cci.MetadataVisitor visitor) { visitor.Visit((Cci.IAssembly) this); }
void Cci.IReference.Dispatch(Cci.MetadataVisitor visitor) { visitor.Visit((Cci.IAssemblyReference) this); }
void Cci.IReference.Dispatch(Cci.MetadataVisitor visitor) { visitor.Visit(this); }
void Cci.IMetadataExpression.Dispatch(Cci.MetadataVisitor visitor) { visitor.Visit(this); }
public void Dispatch(Cci.MetadataVisitor visitor) { visitor.Visit((Cci.IMethodReference) this); }
void Cci.IReference.Dispatch(Cci.MetadataVisitor visitor) { visitor.Visit((Cci.IPointerTypeReference) this); }
void Cci.IMethodBody.Dispatch(Cci.MetadataVisitor visitor) { visitor.Visit((Cci.IMethodBody) this); }
public void Dispatch(MetadataVisitor visitor) => visitor.Visit((IMethodDefinition)this);
public override void Dispatch(Cci.MetadataVisitor visitor) { visitor.Visit((Cci.IGenericMethodInstanceReference) this); }
void Cci.IReference.Dispatch(Cci.MetadataVisitor visitor) { CheckDefinitionInvariant(); visitor.Visit((Cci.IPropertyDefinition) this); }
void Cci.IReference.Dispatch(Cci.MetadataVisitor visitor) { visitor.Visit((Cci.INamespaceTypeReference) this); }
void Cci.IReference.Dispatch(Cci.MetadataVisitor visitor) { visitor.Visit((Cci.IPropertyDefinition) this); }
void IReference.Dispatch(MetadataVisitor visitor) { visitor.Visit((IAliasForType)this); }