コード例 #1
0
 public void GenerateCode(CodeGenerationContext ctx, TextWriter writer)
 {
     switch (Member != null ? Member.ToString () : null) {
     case "MIN_VALUE":
         ctx.DoNotEscape = true;
         Target.GenerateCode (ctx, writer);
         ctx.DoNotEscape = false;
         writer.Write ('.');
         writer.Write ("MinValue");
         break;
     case "MAX_VALUE":
         ctx.DoNotEscape = true;
         Target.GenerateCode (ctx, writer);
         ctx.DoNotEscape = false;
         writer.Write ('.');
         writer.Write ("MaxValue");
         break;
     default:
         bool gen = AccessType == MemberAccessType.GenericSubtype;
         if (Target != null) {
             if (gen)
                 writer.Write ("new ");
             Target.GenerateCode (ctx, writer);
             if (gen)
                 writer.Write ("<" + GenericSubtype + ">");
             else
                 writer.Write ("." + ctx.SafeName (Member));
         }
         else if (!gen)
             writer.Write (ctx.GetActualName (Member));
         break;
     }
 }