Exemplo n.º 1
0
 public void Write(ISyntaxHighlightOutput output, ILanguage language, MethodDef method, bool showToken)
 {
     output.Write(NameUtils.CleanIdentifier(method.Name), TextTokenKindUtils.GetTextTokenType(method));
     output.Write("(", TextTokenKind.Operator);
     foreach (var p in method.Parameters)
     {
         if (p.IsHiddenThisParameter)
         {
             continue;
         }
         if (p.MethodSigIndex > 0)
         {
             output.WriteCommaSpace();
         }
         language.WriteType(output, p.Type.ToTypeDefOrRef(), false, p.ParamDef);
     }
     if (method.CallingConvention == CallingConvention.VarArg || method.CallingConvention == CallingConvention.NativeVarArg)
     {
         if (method.MethodSig.GetParamCount() > 0)
         {
             output.WriteCommaSpace();
         }
         output.Write("...", TextTokenKind.Operator);
     }
     output.Write(")", TextTokenKind.Operator);
     output.WriteSpace();
     output.Write(":", TextTokenKind.Operator);
     output.WriteSpace();
     language.WriteType(output, method.ReturnType.ToTypeDefOrRef(), false, method.Parameters.ReturnParameter.ParamDef);
     WriteToken(output, method, showToken);
 }
Exemplo n.º 2
0
        public void WriteUserState(ThreadVM vm)
        {
            var  state     = vm.UserState;
            bool needComma = false;

            foreach (var t in UserStates)
            {
                if ((state & t.Item1) != 0)
                {
                    state &= ~t.Item1;
                    if (needComma)
                    {
                        output.WriteCommaSpace();
                    }
                    needComma = true;
                    output.Write(t.Item2, TextTokenKind.EnumField);
                }
            }
            if (state != 0)
            {
                if (needComma)
                {
                    output.WriteCommaSpace();
                }
                output.Write(string.Format("0x{0:X}", (int)state), TextTokenKind.Number);
            }
        }
Exemplo n.º 3
0
        public void Write(ISyntaxHighlightOutput output, ILanguage language, AssemblyDef asm, bool showToken, bool showAssemblyVersion, bool showAssemblyPublicKeyToken)
        {
            output.Write(asm.Name, IsExe(asm.ManifestModule) ? TextTokenKind.AssemblyExe : TextTokenKind.Assembly);

            bool showAsmVer         = showAssemblyVersion;
            bool showPublicKeyToken = showAssemblyPublicKeyToken && !PublicKeyBase.IsNullOrEmpty2(asm.PublicKeyToken);

            if (showAsmVer || showPublicKeyToken)
            {
                output.WriteSpace();
                output.Write("(", TextTokenKind.Operator);

                bool needComma = false;
                if (showAsmVer)
                {
                    if (needComma)
                    {
                        output.WriteCommaSpace();
                    }
                    needComma = true;

                    output.Write(asm.Version);
                }

                if (showPublicKeyToken)
                {
                    if (needComma)
                    {
                        output.WriteCommaSpace();
                    }
                    needComma = true;

                    var pkt = asm.PublicKeyToken;
                    if (PublicKeyBase.IsNullOrEmpty2(pkt))
                    {
                        output.Write("null", TextTokenKind.Keyword);
                    }
                    else
                    {
                        output.Write(pkt.ToString(), TextTokenKind.Number);
                    }
                }

                output.Write(")", TextTokenKind.Operator);
            }

            WriteToken(output, asm, showToken);
        }
Exemplo n.º 4
0
        public void Write(ISyntaxHighlightOutput output, ILanguage language, AssemblyDef asm, bool showToken, bool showAssemblyVersion, bool showAssemblyPublicKeyToken)
        {
            output.Write(asm.Name, IsExe(asm.ManifestModule) ? TextTokenKind.AssemblyExe : TextTokenKind.Assembly);

            bool showAsmVer = showAssemblyVersion;
            bool showPublicKeyToken = showAssemblyPublicKeyToken && !PublicKeyBase.IsNullOrEmpty2(asm.PublicKeyToken);

            if (showAsmVer || showPublicKeyToken) {
                output.WriteSpace();
                output.Write("(", TextTokenKind.Operator);

                bool needComma = false;
                if (showAsmVer) {
                    if (needComma)
                        output.WriteCommaSpace();
                    needComma = true;

                    output.Write(asm.Version);
                }

                if (showPublicKeyToken) {
                    if (needComma)
                        output.WriteCommaSpace();
                    needComma = true;

                    var pkt = asm.PublicKeyToken;
                    if (PublicKeyBase.IsNullOrEmpty2(pkt))
                        output.Write("null", TextTokenKind.Keyword);
                    else
                        output.Write(pkt.ToString(), TextTokenKind.Number);
                }

                output.Write(")", TextTokenKind.Operator);
            }

            WriteToken(output, asm, showToken);
        }
Exemplo n.º 5
0
 public void Write(ISyntaxHighlightOutput output, ILanguage language, MethodDef method, bool showToken)
 {
     output.Write(NameUtils.CleanIdentifier(method.Name), TextTokenKindUtils.GetTextTokenType(method));
     output.Write("(", TextTokenKind.Operator);
     foreach (var p in method.Parameters) {
         if (p.IsHiddenThisParameter)
             continue;
         if (p.MethodSigIndex > 0)
             output.WriteCommaSpace();
         language.WriteType(output, p.Type.ToTypeDefOrRef(), false, p.ParamDef);
     }
     if (method.CallingConvention == CallingConvention.VarArg || method.CallingConvention == CallingConvention.NativeVarArg) {
         if (method.MethodSig.GetParamCount() > 0)
             output.WriteCommaSpace();
         output.Write("...", TextTokenKind.Operator);
     }
     output.Write(")", TextTokenKind.Operator);
     output.WriteSpace();
     output.Write(":", TextTokenKind.Operator);
     output.WriteSpace();
     language.WriteType(output, method.ReturnType.ToTypeDefOrRef(), false, method.Parameters.ReturnParameter.ParamDef);
     WriteToken(output, method, showToken);
 }