コード例 #1
0
 protected override void PostProcess(ISignaturePart part, ref JObject pendingResult)
 {
     if (part.Name != null)
     {
         pendingResult["name"] = part.Name;
     }
 }
コード例 #2
0
        static string Describe([NotNull] ISignaturePart part)
        {
            var sb      = new StringBuilder();
            var visitor = new PlainDescriber(sb);

            part.Accept(visitor);
            return(sb.ToString());
        }
コード例 #3
0
 ZBuiltinSignature(int minArgs, int?maxArgs, int minVersion, int maxVersion,
                   IReadOnlyList <ISignaturePart> parts, ISignaturePart returnPart)
 {
     MinArgs    = minArgs;
     MaxArgs    = maxArgs;
     MinVersion = minVersion;
     MaxVersion = maxVersion;
     Parts      = parts;
     ReturnPart = returnPart;
 }
コード例 #4
0
 protected virtual void PostProcess([NotNull] ISignaturePart part, ref T pendingResult)
 {
     // by default, nada
 }
コード例 #5
0
 internal T Run([NotNull] ISignaturePart part)
 {
     part.Accept(this);
     PostProcess(part, ref result);
     return(result);
 }
コード例 #6
0
 public static T AcceptForValue <T>([NotNull] this ISignaturePart part, [NotNull] SignatureVisitorWithValue <T> visitor)
 {
     return(visitor.Run(part));
 }