public IGeneralGenericSignatureMemberUniqueIdentifier GetIdentifier(IIntermediateMethodMember member) { if (member is IIntermediateClassMethodMember || member is IIntermediateStructMethodMember) { var internalHelper = member as _IIntermediateMethodSignatureMember; var classMethod = member as IIntermediateClassMethodMember; if (classMethod != null) { var firstImpl = classMethod.Implementations.FirstOrDefault(); if (firstImpl != null) { return(GetIdentifierInternal(member, internalHelper, firstImpl)); } } else { var structMethod = member as IIntermediateStructMethodMember; var firstImpl = structMethod.Implementations.FirstOrDefault(); if (firstImpl != null) { return(GetIdentifierInternal(member, internalHelper, firstImpl)); } } } return(IntermediateGateway.DefaultUniqueIdentifierService.GetIdentifier(member)); }
public void DefineDeclaration(IIntermediateMethodMember declaration) { }
public void ReferenceDeclaration(IIntermediateMethodMember declaration) { }
public string Visit <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent>(IIntermediateMethodMember <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent> method, IntermediateNameRequestDetails context) where TMethod : Abstract.Members.IMethodMember <TMethod, TMethodParent> where TIntermediateMethod : IIntermediateMethodMember <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent>, TMethod where TMethodParent : Abstract.IMethodParent <TMethod, TMethodParent> where TIntermediateMethodParent : IIntermediateMethodParent <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent>, TMethodParent { string name = null; switch (context) { case IntermediateNameRequestDetails.TargetFileName: if (!(method.Parent is IIntermediateType)) { return(null); } this.fileNameLookup.TryGetValue(((IIntermediateType)method.Parent).Assembly, out name); if (this.HtmlContext) { name = string.Format("{0}#fnc{1:X8}", name, method.GetHashCode()); } break; case IntermediateNameRequestDetails.SourceFileName: if (!(method.Parent is IIntermediateType)) { return(null); } name = ((IIntermediateType)method.Parent).Assembly.FileName; break; case IntermediateNameRequestDetails.DisplayName: name = method.Name; break; case IntermediateNameRequestDetails.ReferenceName: if (this.HtmlContext) { name = string.Format("fnc{0:X8}", method.GetHashCode()); } break; } return(name); }
void IIntermediateMemberVisitor.Visit <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent>(IIntermediateMethodMember <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent> intermediateMember) { this.Translate(intermediateMember); }
public bool MethodsAreEquivalent(IIntermediateMethodMember methodA, IIntermediateMethodMember methodB) { return(this.Visit((IEnumerable <IStatement>)methodA, methodB)); }
public TestLinkerResult Visit <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent>(IIntermediateMethodMember <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent> method, ICompilationContext context) where TMethod : IMethodMember <TMethod, TMethodParent> where TIntermediateMethod : IIntermediateMethodMember <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent>, TMethod where TMethodParent : IMethodParent <TMethod, TMethodParent> where TIntermediateMethodParent : IIntermediateMethodParent <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent>, TMethodParent { throw new NotImplementedException(); }
public void DefineDeclaration(IIntermediateMethodMember declaration) { this.DefineDeclaration((IIntermediateMember)declaration); }
public IGeneralGenericSignatureMemberUniqueIdentifier GetIdentifier(IIntermediateMethodMember member) { return(GetIdentifier((IIntermediateMethodSignatureMember)(member))); }
public abstract void Translate <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent>(IIntermediateMethodMember <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent> intermediateMember) where TMethod : IMethodMember <TMethod, TMethodParent> where TIntermediateMethod : IIntermediateMethodMember <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent>, TMethod where TMethodParent : IMethodParent <TMethod, TMethodParent> where TIntermediateMethodParent : IIntermediateMethodParent <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent>, TMethodParent;
public void ReferenceDeclaration(IIntermediateMethodMember declaration) { this.Formatter.ReferenceDeclaration(declaration); }
public void DefineDeclaration(IIntermediateMethodMember declaration) { this.Formatter.DefineDeclaration(declaration); }
private static IGeneralGenericSignatureMemberUniqueIdentifier GetIdentifierInternal(IIntermediateMethodMember member, _IIntermediateMethodSignatureMember internalHelper, IType firstImpl) { if (internalHelper == null) { return(TypeSystemIdentifiers.GetGenericSignatureIdentifier(member.Name, member.TypeParameters.Count, string.Format("{0}{1}", firstImpl.FullName, member.UserSpecificQualifier), member.Parameters.ParameterTypes.ToArray())); } else if (internalHelper.IsDisposed) { throw new InvalidOperationException(Utilities.Properties.Resources.ObjectStateThrowMessage); } else if (internalHelper.AreTypeParametersInitialized) { if (internalHelper.AreParametersInitialized) { return(TypeSystemIdentifiers.GetGenericSignatureIdentifier(member.Name, member.TypeParameters.Count, string.Format("{0}{1}", firstImpl.FullName, member.UserSpecificQualifier), member.Parameters.ParameterTypes.ToArray())); } else { return(TypeSystemIdentifiers.GetGenericSignatureIdentifier(member.Name, member.TypeParameters.Count, string.Format("{0}{1}", firstImpl.FullName, member.UserSpecificQualifier), new IType[0])); } } else if (internalHelper.AreParametersInitialized) { return(TypeSystemIdentifiers.GetGenericSignatureIdentifier(member.Name, 0, string.Format("{0}{1}", firstImpl.FullName, member.UserSpecificQualifier), member.Parameters.ParameterTypes.ToArray())); } else { return(TypeSystemIdentifiers.GetGenericSignatureIdentifier(member.Name, 0, string.Format("{0}{1}", firstImpl.FullName, member.UserSpecificQualifier), new IType[0])); } }
public TransformationKind Visit <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent>(IIntermediateMethodMember <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent> method, ITransformationContext context) where TMethod : IMethodMember <TMethod, TMethodParent> where TIntermediateMethod : IIntermediateMethodMember <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent>, TMethod where TMethodParent : IMethodParent <TMethod, TMethodParent> where TIntermediateMethodParent : IIntermediateMethodParent <TMethod, TIntermediateMethod, TMethodParent, TIntermediateMethodParent>, TMethodParent { throw new NotImplementedException(); }