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); }
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); } }
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); }
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); }
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); }