コード例 #1
0
 private static object GetKeyWord(IParameterName parameterName)
 {
     return(parameterName.IsOptional
         ? "opt "
         : parameterName.IsOutput
             ? "out "
             : parameterName.IsParameterArray ? "params " : parameterName.IsPassedByReference ? "ref " : "");
 }
コード例 #2
0
        // 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()));
        }
コード例 #3
0
 public bool Equals(IParameterName other)
 {
     return(base.Equals(other));
 }
コード例 #4
0
 private static bool HasPassByReferenceModifier(this IParameterName parameter)
 {
     return(parameter.IsPassedByReference && !parameter.ValueType.IsReferenceType);
 }
コード例 #5
0
 private static IParameterName ToAnonymousName(IParameterName parameter)
 {
     return(ToAnonymousName(parameter, true));
 }