public string FormatBeginFile(IIntermediateProject project, IIntermediateCodeTranslatorOptions options) { if (options.GetLineNumber == null) { return("<html><body style=\"font-family:Courier New;font-size:10pt;\">"); } else { return(string.Format("<html><body style=\"margin:0px;background-color:{1};\"><table cellpadding=\"0\" cellspacing=\"0\" style=\"font-family:Courier New;font-size:10pt;border:none;white-space:nowrap;width:100%;\"><tbody>{0}", FormatLineStart(project, options), textBackgroundColor)); } }
public string DenoteNewLine(IIntermediateProject project, IIntermediateCodeTranslatorOptions options) { if (options.GetLineNumber == null) { return("<br/>"); } else { return(string.Format("</td></tr>{0}", FormatLineStart(project, options))); } }
private static string FormatLineStart(IIntermediateProject project, IIntermediateCodeTranslatorOptions options) { int lineIndex = options.GetLineNumber(project); string lineColor = textBackgroundColor; string lineBackColor = textBackgroundColorAlt; if (lineIndex % 2 == 0) { lineColor = textBackgroundColorAlt; lineBackColor = textBackgroundColor; } return(string.Format("<tr><td style=\"text-align:right;background-color:{3};color:{2};padding-right:4px;padding-left:4px;\">{0}</td><td style=\"padding-left:20px;background-color:{1};width:100%;\">", lineIndex, lineColor, namespaceColor, lineBackColor)); }
public string FormatTypeNameToken(string identifierToken, IType type, IIntermediateCodeTranslatorOptions options, bool declarePoint) { string color = ""; bool bold = false; if (type.IsDelegate) { color = delegateColor; } else if (type.IsClass) { color = classColor; bold = true; } else if (type.IsInterface) { color = interfaceColor; } else if (type.IsEnumerator) { color = enumColor; } else if (type.IsStructure) { color = structColor; } string result = identifierToken; if (declarePoint && type is IDeclaredType) { result = string.Format("<a name=\"t:{1}\"></a>{0}", result, type.GetTypeName(options, true)); } if (bold) { result = string.Format("<span style=\"color:{0};font-weight:bolder;\">{1}</span>", color, result); } else { result = string.Format("<span style=\"color:{0};\">{1}</span>", color, result); } if (!declarePoint && options.GetFileNameOf != null && type is IDeclaredType) { result = string.Format("<a style=\"text-decoration:none;\" href=\"{1}#t:{2}\">{0}</a>", result, options.GetFileNameOf(type), type.GetTypeName(options, true)); } return(result); }
public string FormatLabelToken(string labelName, ILabelStatement label, IIntermediateCodeTranslatorOptions options, bool declarePoint) { var parentTarget = label.SourceBlock; Stack <int> indices = new Stack <int>(); indices.Push(parentTarget.IndexOf(label)); while (parentTarget.Parent is IStatementBlock) { var oldTarget = parentTarget; parentTarget = (IStatementBlock)parentTarget.Parent; indices.Push(parentTarget.IndexOf((IStatement)oldTarget)); } var parentMember = parentTarget.Parent as IMember; string uniqueIdentifier; string result = labelName; var activeType = options.BuildTrail.FirstOrDefault(p => p is IDeclaredType) as IDeclaredType; if (parentMember == null) { uniqueIdentifier = label.Name; } else { uniqueIdentifier = string.Format("{0}::{{{1}}}", parentMember.GetUniqueIdentifier(), string.Join("}.{", (from i in indices select i.ToString()).ToArray())); } if (declarePoint) { result = string.Format("<a name=\"{0}\"></a>{1}", uniqueIdentifier, result); } string titleText = string.Format("(label) {0}", labelName); result = FormatMemberNameToken(result, TranslatorFormatterMemberType.Label); if (!declarePoint) { result = string.Format("<a style=\"text-decoration:none;\" {3}href=\"{0}#{1}\">{2}</a>", options.GetFileNameOf(activeType), uniqueIdentifier, result, string.IsNullOrEmpty(titleText) ? string.Empty : string.Format("title=\"{0}\" ", titleText)); } return(result); }
public string FormatMemberNameToken(string token, IMember member, IIntermediateCodeTranslatorOptions options, bool declarePoint) { TranslatorFormatterMemberType memberType = TranslatorFormatterMemberType.Local; if (member is IMethodMember) { memberType = TranslatorFormatterMemberType.Method; } else if (member is IMethodSignatureMember) { memberType = TranslatorFormatterMemberType.MethodSignature; } else if (member is IPropertyMember || member is IIndexerMember) { memberType = TranslatorFormatterMemberType.Property; } else if (member is IPropertySignatureMember || member is IIndexerSignatureMember) { memberType = TranslatorFormatterMemberType.PropertySignature; } else if (member is IMethodParameterMember || member is IMethodSignatureParameterMember || member is IIndexerParameterMember || member is IIndexerSignatureParameterMember || member is IConstructorParameterMember) { memberType = TranslatorFormatterMemberType.Parameter; } else if (member is IFieldMember) { memberType = TranslatorFormatterMemberType.Field; } else if (member is IStatementBlockLocalMember) { memberType = TranslatorFormatterMemberType.Local; } return(FormatMemberNameToken(token, memberType)); }
public string FormatTypeNameToken(string identifierToken, IType type, IIntermediateCodeTranslatorOptions options, bool declarePoint) { string color = ""; bool bold = false; if (type.IsDelegate) { color = "DarkCyan"; } else if (type.IsClass) { color = "purple"; bold = true; } else if (type.IsInterface) { color = "Magenta"; } else if (type.IsEnumerator) { color = "#C08080"; bold = true; } else if (type.IsStructure) { color = "Dark Yellow"; } if (bold) { return(string.Format("[color={0}][font=courier new][b]{1}[/b][/font][/color]", color, identifierToken)); } else { return(string.Format("[color={0}][font=courier new]{1}[/font][/color]", color, identifierToken)); } }
public string FormatLabelToken(string labelName, ILabelStatement label, IIntermediateCodeTranslatorOptions options, bool declarePoint) { return(labelName); }
public string FormatBeginFile(IIntermediateProject project, IIntermediateCodeTranslatorOptions options) { return(string.Empty); }
public string DenoteNewLine(IIntermediateProject project, IIntermediateCodeTranslatorOptions options) { return(String.Empty); }
public string FormatMemberNameToken(string token, IMember member, IIntermediateCodeTranslatorOptions options, bool declarePoint) { TranslatorFormatterMemberType memberType = TranslatorFormatterMemberType.Local; string titleText = string.Empty; if (member is IMethodMember) { memberType = TranslatorFormatterMemberType.Method; titleText = string.Format("(method) {0}", member.GetUniqueIdentifier()); } else if (member is IMethodSignatureMember) { memberType = TranslatorFormatterMemberType.MethodSignature; titleText = string.Format("(method) {0}", member.GetUniqueIdentifier()); } else if (member is IPropertyMember || member is IIndexerMember) { memberType = TranslatorFormatterMemberType.Property; var pMember = ((IPropertyMember)member); titleText = string.Format("(property) {0} {1}", pMember.PropertyType.ToString(), member.GetUniqueIdentifier()); } else if (member is IPropertySignatureMember || member is IIndexerSignatureMember) { memberType = TranslatorFormatterMemberType.PropertySignature; var pMember = ((IPropertySignatureMember)member); titleText = string.Format("(property) {0} {1}", pMember.PropertyType.ToString(), member.GetUniqueIdentifier()); } else if (member is IMethodParameterMember) { memberType = TranslatorFormatterMemberType.Parameter; var pMember = ((IMethodParameterMember)member); titleText = string.Format("(parameter) {0} {1}", pMember.ParameterType.ToString(), member.GetUniqueIdentifier()); } else if (member is IMethodSignatureParameterMember) { memberType = TranslatorFormatterMemberType.Parameter; var pMember = ((IMethodSignatureParameterMember)member); titleText = string.Format("(parameter) {0} {1}", pMember.ParameterType.ToString(), member.GetUniqueIdentifier()); } else if (member is IIndexerParameterMember) { memberType = TranslatorFormatterMemberType.Parameter; var pMember = ((IIndexerParameterMember)member); titleText = string.Format("(parameter) {0} {1}", pMember.ParameterType.ToString(), member.GetUniqueIdentifier()); } else if (member is IIndexerSignatureParameterMember) { memberType = TranslatorFormatterMemberType.Parameter; var pMember = ((IIndexerSignatureParameterMember)member); titleText = string.Format("(parameter) {0} {1}", pMember.ParameterType.ToString(), member.GetUniqueIdentifier()); } else if (member is IConstructorParameterMember) { memberType = TranslatorFormatterMemberType.Parameter; var pMember = ((IConstructorParameterMember)member); titleText = string.Format("(parameter) {0} {1}", pMember.ParameterType.ToString(), member.GetUniqueIdentifier()); } else if (member is IFieldMember) { var fMember = ((IFieldMember)member); titleText = string.Format("(field) {0} {1}", fMember.FieldType.ToString(), member.GetUniqueIdentifier()); memberType = TranslatorFormatterMemberType.Field; } else if (member is IStatementBlockLocalMember) { var lMember = ((IStatementBlockLocalMember)member); titleText = string.Format("(local variable) {0} {1}", lMember.LocalType.ToString(), member.GetUniqueIdentifier()); memberType = TranslatorFormatterMemberType.Local; } var activeType = options.BuildTrail.FirstOrDefault(p => p is IDeclaredType) as IDeclaredType; string result = token.HtmlEncode(); if (declarePoint) { string targetName = string.Format("m:{0}::{1}", activeType.GetTypeName(options, true), GetMemberUniqueIdentifier(member).Replace("<", "[").Replace(">", "]").Replace("(", "%28").Replace(")", "%29")); result = string.Format("<a name=\"{1}\"></a>{0}", result, targetName); } result = FormatMemberNameToken(result, memberType); var declaringType = GetDeclaringType(member); if (!declarePoint && declaringType != null) { string targetName = string.Format("m:{0}::{1}", declaringType.GetTypeName(options, true), GetMemberUniqueIdentifier(member).Replace("<", "[").Replace(">", "]").Replace("(", "%28").Replace(")", "%29")); result = string.Format("<a style=\"text-decoration:none;\" {3}href=\"{0}#{1}\">{2}</a>", options.GetFileNameOf(declaringType), targetName, result, string.IsNullOrEmpty(titleText) ? string.Empty : string.Format("title=\"{0}\" ", titleText)); } return(result); }
public MixedOptions(IIntermediateCodeTranslatorOptions o) { originalDom = false; this.options = o; }