public override void ChangeSignatureParameterArraySupport <TParent, TIntermediateParent, TParameter, TIntermediateParameter>(IIntermediateParameterParent <TParent, TIntermediateParent, TParameter, TIntermediateParameter> target, IIntermediateAssembly associatedAssembly, bool support) { var metadatumType = this.IdentityManager.ObtainTypeReference(this.IdentityManager.RuntimeEnvironment.GetCoreIdentifier(CliRuntimeCoreType.ParamArrayMetadatum, associatedAssembly)); if (metadatumType == null) { return; } if (target.Parameters.Count == 0) { return; } IIntermediateParameterMember <TParent, TIntermediateParent> lastParameter = target.Parameters.Values[target.Parameters.Count - 1]; if (SignatureSupportsParameterArray(target, associatedAssembly)) { if (support) { return; } var metadatum = lastParameter.Metadata[metadatumType]; lastParameter.Metadata.Remove(metadatum); return; } else if (support) { lastParameter.Metadata.Add(new MetadatumDefinitionParameterValueCollection(metadatumType)); } }
public string Visit <TParent, TIntermediateParent>(IIntermediateParameterMember <TParent, TIntermediateParent> parameter, IntermediateNameRequestDetails context) where TParent : Abstract.Members.IParameterParent where TIntermediateParent : TParent, IIntermediateParameterParent { string name = null; switch (context) { case IntermediateNameRequestDetails.TargetFileName: if (this.HtmlContext) { name = string.Format("#arg{0:X8}", parameter.GetHashCode()); } break; case IntermediateNameRequestDetails.DisplayName: name = parameter.Name; break; case IntermediateNameRequestDetails.ReferenceName: if (this.HtmlContext) { name = string.Format("arg{0:X8}", parameter.GetHashCode()); } break; } return(name); }
bool IIntermediateParameterMemberDictionary.Remove(IIntermediateParameterMember member, bool dispose) { if (member == null || member is TIntermediateParameter) { return(this.Remove((TIntermediateParameter)member, dispose)); } throw ThrowHelper.ObtainArgumentException(ArgumentWithException.member, ExceptionMessageId.ValueIsWrongType, ThrowHelper.GetArgumentName(ArgumentWithException.member), member.GetType().ToString(), typeof(TIntermediateParameter).ToString()); }
IIntermediateParameterMember[] IIntermediateParameterMemberDictionary.AddRange(params TypedName[] parameterInfo) { var resultOriginal = this.AddRange(parameterInfo); var result = new IIntermediateParameterMember[resultOriginal.Length]; for (int i = 0; i < resultOriginal.Length; i++) { result[i] = resultOriginal[i]; } return(result); }
public void ReferenceDeclaration(IIntermediateParameterMember declaration) { }
public void DefineDeclaration(IIntermediateParameterMember declaration) { }
void IIntermediateMemberVisitor.Visit <TParent, TIntermediateParent>(IIntermediateParameterMember <TParent, TIntermediateParent> intermediateMember) { this.Translate(intermediateMember); }
public TestLinkerResult Visit <TParent, TIntermediateParent>(IIntermediateParameterMember <TParent, TIntermediateParent> parameter, ICompilationContext context) where TParent : IParameterParent where TIntermediateParent : TParent, IIntermediateParameterParent { throw new NotImplementedException(); }
public void DefineDeclaration(IIntermediateParameterMember declaration) { this.DefineDeclaration((IIntermediateMember)declaration); }
public abstract void Translate <TParent, TIntermediateParent>(IIntermediateParameterMember <TParent, TIntermediateParent> intermediateMember) where TParent : IParameterParent where TIntermediateParent : TParent, IIntermediateParameterParent;
public void ReferenceDeclaration(IIntermediateParameterMember declaration) { this.Formatter.ReferenceDeclaration(declaration); }
public void DefineDeclaration(IIntermediateParameterMember declaration) { this.Formatter.DefineDeclaration(declaration); }
public TransformationKind Visit <TParent, TIntermediateParent>(IIntermediateParameterMember <TParent, TIntermediateParent> parameter, ITransformationContext context) where TParent : IParameterParent where TIntermediateParent : TParent, IIntermediateParameterParent { throw new NotImplementedException(); }