private static object GetKeyWord(IParameterName parameterName) { return(parameterName.IsOptional ? "opt " : parameterName.IsOutput ? "out " : parameterName.IsParameterArray ? "params " : parameterName.IsPassedByReference ? "ref " : ""); }
// TODO NameUpdate: put modifier to central place private static IParameterName ToAnonymousName(IParameterName parameter, bool anonymizeName) { var identifier = new StringBuilder(); identifier.AppendIf(parameter.IsParameterArray, ParameterName.VarArgsModifier + " "); identifier.AppendIf(parameter.IsOutput, ParameterName.OutputModifier + " "); identifier.AppendIf(parameter.IsOptional, ParameterName.OptionalModifier + " "); identifier.AppendIf(parameter.HasPassByReferenceModifier(), ParameterName.PassByReferenceModifier + " "); identifier.AppendAnonymousTypeName(parameter.ValueType, anonymizeName).Append(' '); identifier.Append(anonymizeName ? parameter.Name.ToHash() : parameter.Name); return(Names.Parameter(identifier.ToString())); }
public bool Equals(IParameterName other) { return(base.Equals(other)); }
private static bool HasPassByReferenceModifier(this IParameterName parameter) { return(parameter.IsPassedByReference && !parameter.ValueType.IsReferenceType); }
private static IParameterName ToAnonymousName(IParameterName parameter) { return(ToAnonymousName(parameter, true)); }