public override string ToString() { StringBuilder b = new StringBuilder(); if (IsRef) { b.Append("ref "); } if (IsOut) { b.Append("out "); } if (IsParams) { b.Append("params "); } b.Append(name); b.Append(':'); b.Append(type.ToString()); if (defaultValue != null) { b.Append(" = "); b.Append(defaultValue.ToString()); } return(b.ToString()); }
private bool isKnownUIChanger(ITypeReference typeRef, IMethodCall call) { string methodName = call.MethodToCall.Name.Value; IEnumerable <String> methodsForType = PHONE_UI_CHANGER_METHODS[typeRef.ToString()]; return(methodsForType != null && methodsForType.Contains(methodName)); }
public static bool IsIEnumeratorScopeMapUsage(this ITypeReference type) { return(type.ToString().Contains("ScopeMapUsage")); //var basicType = type as INamedTypeReference; //if (basicType != null) //{ // return basicType.GenericName == "IEnumerator<ScopeMapUsage>"; //} //return false; }
public override string ToString() { StringBuilder b = new StringBuilder("["); b.Append(GetType().Name); b.Append(' '); b.Append(declaringType.ToString()); b.Append('.'); b.Append(this.Name); b.Append(':'); b.Append(returnType.ToString()); b.Append(']'); return(b.ToString()); }
public override string ToString() { StringBuilder b = new StringBuilder(genericType.ToString()); b.Append('['); for (int i = 0; i < typeArguments.Length; i++) { if (i > 0) { b.Append(','); } b.Append('['); b.Append(typeArguments[i].ToString()); b.Append(']'); } b.Append(']'); return(b.ToString()); }
public string ToString(ICodeTranslationOptions options) { if (options == null) { options = CodeGeneratorHelper.DefaultDomOptions; } if (this.ArrayElementType != null) { List <int> arrayRanks = new List <int>(); ITypeReference arrayElementItem = this; while (arrayElementItem.ArrayElementType != null) { arrayRanks.Add(arrayElementItem.ArrayRank); arrayElementItem = arrayElementItem.ArrayElementType; } string[] arrayRankTexts = new string[arrayRanks.Count]; for (int i = 0; i < arrayRankTexts.Length; i++) { arrayRankTexts[i] = GetArrayRankText(arrayRanks[i]); } return(String.Format("{0}{1}", arrayElementItem.ToString(), String.Join("", arrayRankTexts))); } string pointer = string.Empty; for (int i = 0; i < this.pointerRank; i++) { pointer += "*"; } string[] typeParamNames = new string[this.TypeParameters.Count]; if (this.TypeParameters.Count > 0) { for (int i = 0; i < this.TypeParameters.Count; i++) { typeParamNames[i] = TypeParameters[i].ToString(); } return(String.Format("{0}<{1}>{2}{3}", this.typeInstance.GetTypeName(options), String.Join(",", typeParamNames), Nullable ? "?" : string.Empty, pointer)); } else { return(string.Format("{0}{1}{2}", this.typeInstance.GetTypeName(options), Nullable ? "?" : string.Empty, pointer)); } }
public override string ToString() { StringBuilder b = new StringBuilder(); b.Append('['); b.Append(attributeType.ToString()); if (this.PositionalArguments.Count + this.NamedArguments.Count > 0) { b.Append('('); bool first = true; foreach (var element in this.PositionalArguments) { if (first) { first = false; } else { b.Append(", "); } b.Append(element.ToString()); } foreach (var pair in this.NamedArguments) { if (first) { first = false; } else { b.Append(", "); } b.Append(pair.Key); b.Append('='); b.Append(pair.Value.ToString()); } b.Append(')'); } b.Append(']'); return(b.ToString()); }
public static ITypeDeclaration FindMatchingType(ITypeDeclaration tdec, ITypeReference tref) { ITypeDeclaration result = null; if (tdec.ToString() == tref.ToString()) { return(tdec); } else { foreach (ITypeDeclaration idec in tdec.NestedTypes) { result = FindMatchingType(idec, tref); if (result != null) { return(result); } } } return(null); }
public static string GetTypeName(this ITypeReference type, string[] usedNamespaces) { string retval; if (type is ParameterizedTypeReference) { retval = (type as ParameterizedTypeReference).GetTypeName(usedNamespaces); //generic type } else if (type is ArrayTypeReference) { retval = (type as ArrayTypeReference).GetTypeName(usedNamespaces); } else if (type is DefaultUnresolvedTypeDefinition) { retval = (type as DefaultUnresolvedTypeDefinition).FullName.NormaliseClrName(usedNamespaces); } else if (type is PointerTypeReference) { retval = (type as PointerTypeReference).GetTypeName(usedNamespaces); } else if (type is DefaultResolvedTypeDefinition) { retval = (type as DefaultResolvedTypeDefinition).GetTypeName(usedNamespaces); } else if (type is ByReferenceTypeReference) { retval = (type as ByReferenceTypeReference).ElementType.GetTypeName(usedNamespaces); } else if (type is GetClassTypeReference) { retval = (type as GetClassTypeReference).GetTypeName(usedNamespaces); } else { retval = type.ToString(); } return(retval.NormaliseClrName(usedNamespaces)); }
public override string ToString() { return(elementType.ToString() + "*"); }
internal static bool IsString(this ITypeReference typeReference) { return(typeReference.ToString() == "System.String"); }
private List<IOperation> loadBogusParameter(ITypeReference type) { return loadBogusParameter(type.ToString()); }
private string GetDelphiStyleResolutionScope(ITypeReference reference) { string result = reference.ToString(); while (true) { ITypeReference OwnerRef = (reference.Owner as ITypeReference); if (OwnerRef == null) { string namespacestr = reference.Namespace; if (namespacestr.Length == 0) return result; else return namespacestr + "." + result; } reference = OwnerRef; result = reference.ToString() + "." + result; } }
/// <summary> /// Tests is the given Assembly is a BizTalk assembly or not. /// </summary> /// <param name="assembly">Assembly to test.</param> /// <returns>true if this is a BizTalk assembly, false otherwise.</returns> private static bool TestForBizTalkAssembly(IAssembly assembly) { bool isBTSAssembly = false; if (assembly != null) { // A BizTalk assembly is a Library if (assembly.Type == AssemblyType.Library) { // A BizTalk assembly has the "BizTalkAssemblyAttribute" set foreach (ICustomAttribute attribute in assembly.Attributes) { // Get the constructor MethodReference for this attribute IMethodReference ctorReference = attribute.Constructor as IMethodReference; if (ctorReference != null) { // Get the declaring type for the constructor ITypeReference ctorDeclaringType = ctorReference.DeclaringType as ITypeReference; if (ctorDeclaringType != null) { isBTSAssembly = (String.CompareOrdinal(ctorDeclaringType.Owner.ToString(), Constants.XLANGBaseTypesFullyQualifiedAssemblyName) == 0) && (String.CompareOrdinal(Constants.BizTalkAssemblyAttribute, ctorDeclaringType.ToString()) == 0); // If we found the attribute we expect, we can declare it is a BizTalk assembly if (isBTSAssembly) { break; } } } } } } return(isBTSAssembly); }
/// <summary> /// Adds the type of the additional. /// </summary> /// <param name="typeReference">The type reference.</param> private void AddAdditionalType(ITypeReference typeReference) { if (this.TypeDataList.Find(typeInfo => string.Compare(typeInfo.TypeName, typeReference.Name, StringComparison.Ordinal) == 0) != null) { // Type already added Logger.Current.Info("The type is already in the additional list..." + typeReference.ToString()); return; } this.AdditionalLoadList.Add(typeReference.Resolve()); }
public override string ToString() { return(elementType.ToString() + "[" + new string(',', dimensions - 1) + "]"); }
private List <IOperation> loadBogusParameter(ITypeReference type) { return(loadBogusParameter(type.ToString())); }
public override string ToString() { return(withoutSuffix.ToString() + "[Attribute]"); }
protected bool TypeListContainsType(List<ITypeReference> list, ITypeReference type) { foreach (var t in list) { if (t.ToString() == type.ToString()) { return true; } } return false; }
/// <summary> /// Returns the rsd field for the method, type and name, if it doesn't exist it is created and added to the class /// </summary> protected FieldDefinition GetRsdField(IMethodDefinition method, string rsdName, ITypeReference type) { return GetRsdField(method, rsdName, type.ToString()); }
private bool isPhoneUIChangerClass(ITypeReference typeRef) { return PHONE_UI_CHANGER_METHODS.Keys.Contains(typeRef.ToString()); }
private bool isPhoneUIChangerClass(ITypeReference typeRef) { return(PHONE_UI_CHANGER_METHODS.Keys.Contains(typeRef.ToString())); }
private void initializeKnownUIChangers() { PHONE_UI_CHANGER_METHODS = new Dictionary <string, string[]>(); IAssemblyReference systemAssembly = PhoneTypeHelper.getSystemAssemblyReference(host); IAssemblyReference systemWinAssembly = PhoneTypeHelper.getSystemWindowsAssemblyReference(host); IAssemblyReference phoneAssembly = PhoneTypeHelper.getPhoneAssemblyReference(host); ITypeReference textBoxType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "TextBox"); PHONE_UI_CHANGER_METHODS[textBoxType.ToString()] = new string[] { "set_BaselineOffset", "set_CaretBrush", "set_FontSource", "set_HorizontalScrollBarVisibility", "set_IsReadOnly", "set_LineHeight", "set_LineStackingStrategy", "set_MaxLength", "set_SelectedText", "set_SelectionBackground", "set_SelectionForeground", "set_SelectionLength", "set_SelectionStart", "set_Text", "set_TextAlignment", "set_TextWrapping", "set_VerticalScrollBarVisibility", "set_Watermark", }; ITypeReference textBlockType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "TextBlock"); PHONE_UI_CHANGER_METHODS[textBlockType.ToString()] = new string[] { "set_BaselineOffset", "set_FontFamily", "set_FontSize", "set_FontSource", "set_FontStretch", "set_FontStyle", "set_FontWeight", "set_Foreground", "set_CharacterSpacing", "set_LineHeight", "set_LineStackingStrategy", "set_Padding", "set_Text", "set_TextAlignment", "set_TextDecorations", "set_TextTrimming", "set_TextWrapping", }; ITypeReference uiElementType = platform.CreateReference(systemAssembly, "System", "Windows", "UIElement"); PHONE_UI_CHANGER_METHODS[uiElementType.ToString()] = new string[] { "set_Clip", "set_Opacity", "set_OpacityMask", "set_Projection", "set_RenderTransform", "set_RenderTransformOrigin", "set_Visibility", "Arrange", "InvalidateArrange", "InvalidateMeasure", "SetValue", "ClearValue", // Set/ClearValue are quite unsafe "UpdateLayout", "Measure", }; ITypeReference frameworkElementType = platform.CreateReference(systemAssembly, "System", "Windows", "FrameworkElement"); PHONE_UI_CHANGER_METHODS[frameworkElementType.ToString()] = new string[] { "set_FlowDirection", "set_Height", "set_HorizontalAlignment", "set_Language", "set_Margin", "set_MaxHeight", "set_MaxWidth", "set_MinHeight", "set_MinWidth", "set_Style", "set_VerticalAlignment", "set_Width", "set_Cursor", }; ITypeReference borderType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "Border"); PHONE_UI_CHANGER_METHODS[borderType.ToString()] = new string[] { "set_Background", "set_BorderBrush", "set_BorderThickness", "set_CornerRadius", "set_Padding", }; ITypeReference controlType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "Control"); PHONE_UI_CHANGER_METHODS[controlType.ToString()] = new string[] { "set_Background", "set_BorderBrush", "set_BorderThickness", "set_CharacterSpacing", "set_FontFamily", "set_FontSize", "set_FontStretch", "set_FontStyle", "set_FontWeight", "set_Foreground", "set_HorizontalContentAlignment", "set_IsEnabled", "set_Padding", "set_VerticalContentAlignment", }; ITypeReference contentControlType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "ContentControl"); PHONE_UI_CHANGER_METHODS[contentControlType.ToString()] = new string[] { "set_Content", }; ITypeReference panelType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "Panel"); PHONE_UI_CHANGER_METHODS[panelType.ToString()] = new string[] { "set_Background", }; ITypeReference canvasType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "Canvas"); PHONE_UI_CHANGER_METHODS[canvasType.ToString()] = new string[] { "set_Left", "set_Top", "set_ZIndex", }; ITypeReference toggleButtonType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "Primitives", "ToggleButton"); PHONE_UI_CHANGER_METHODS[toggleButtonType.ToString()] = new string[] { "set_IsChecked", }; ITypeReference gridType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "Grid"); PHONE_UI_CHANGER_METHODS[gridType.ToString()] = new string[] { "set_ShowGridLines", "set_Column", "set_ColumnSpan", "set_Row", "set_RowSpan", }; ITypeReference imageType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "Image"); PHONE_UI_CHANGER_METHODS[imageType.ToString()] = new string[] { "set_Source", "set_Stretch", }; ITypeReference inkPresenterType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "InkPresenter"); PHONE_UI_CHANGER_METHODS[inkPresenterType.ToString()] = new string[] { "set_Strokes", }; ITypeReference itemsControlType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "ItemsControl"); PHONE_UI_CHANGER_METHODS[itemsControlType.ToString()] = new string[] { "set_DisplayMemberPath", "set_ItemsSource", "set_ItemTemplate", }; ITypeReference selectorType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "Primitives", "Selector"); PHONE_UI_CHANGER_METHODS[selectorType.ToString()] = new string[] { "set_SelectedIndex", "set_SelectedItem", "set_SelectedValue", "set_SelectedValuePath", }; ITypeReference listBoxType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "ListBox"); PHONE_UI_CHANGER_METHODS[listBoxType.ToString()] = new string[] { "set_ItemContainerStyle", }; ITypeReference passwordBoxType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "PasswordBox"); PHONE_UI_CHANGER_METHODS[passwordBoxType.ToString()] = new string[] { "set_CaretBrush", "set_FontSource", "set_MaxLength", "set_Password", "set_PasswordChar", "set_SelectionBackground", "set_SelectionForeground", }; ITypeReference rangeBaseType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "Primitives", "RangeBase"); PHONE_UI_CHANGER_METHODS[rangeBaseType.ToString()] = new string[] { "set_LargeChange", "set_Maximum", "set_Minimum", "set_SmallChange", "set_Value", }; ITypeReference progressBarType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "ProgressBar"); PHONE_UI_CHANGER_METHODS[progressBarType.ToString()] = new string[] { "set_IsIndeterminate", }; ITypeReference sliderType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "Slider"); PHONE_UI_CHANGER_METHODS[sliderType.ToString()] = new string[] { "set_IsDirectionReversed", "set_Orientation", }; ITypeReference stackPanelType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "StackPanel"); PHONE_UI_CHANGER_METHODS[stackPanelType.ToString()] = new string[] { "set_Orientation", }; ITypeReference richTextBoxType = platform.CreateReference(systemAssembly, "System", "Windows", "Controls", "RichTextBox"); PHONE_UI_CHANGER_METHODS[richTextBoxType.ToString()] = new string[] { "set_BaselineOffset", "set_CaretBrush", "set_HorizontalScrollBartVisibility", "set_LineHeight", "set_LineStackingStrategy", "set_TextAlignment", "set_TextWrapping", "set_VerticalScrollBarVisibility", "set_Xaml", }; ITypeReference webBrowserTaskType = platform.CreateReference(phoneAssembly, "Microsoft", "Phone", "Tasks", "WebBrowserTask"); PHONE_UI_CHANGER_METHODS[webBrowserTaskType.ToString()] = new string[] { "Show", }; ITypeReference appBarIconButtonType = platform.CreateReference(phoneAssembly, "Microsoft", "Phone", "Shell", "ApplicationBarIconButton"); PHONE_UI_CHANGER_METHODS[appBarIconButtonType.ToString()] = new string[] { "set_IsEnabled", "set_IconUri", "set_Text", }; ITypeReference appBarMenuItemType = platform.CreateReference(phoneAssembly, "Microsoft", "Phone", "Shell", "ApplicationBarMenuItem"); PHONE_UI_CHANGER_METHODS[appBarMenuItemType.ToString()] = new string[] { "set_IsEnabled", "set_Text", }; ITypeReference emailComposeTaskType = platform.CreateReference(phoneAssembly, "Microsoft", "Phone", "Tasks", "EmailComposeTask"); PHONE_UI_CHANGER_METHODS[emailComposeTaskType.ToString()] = new string[] { "Show", }; ITypeReference scaleTransformType = platform.CreateReference(systemWinAssembly, "System", "Windows", "Media", "ScaleTransform"); PHONE_UI_CHANGER_METHODS[scaleTransformType.ToString()] = new string[] { "set_CenterX", "set_CenterY", "set_ScaleX", "set_ScaleY", }; }
private bool isKnownUIChanger(ITypeReference typeRef, IMethodCall call) { string methodName= call.MethodToCall.Name.Value; IEnumerable<String> methodsForType = PHONE_UI_CHANGER_METHODS[typeRef.ToString()]; return methodsForType != null && methodsForType.Contains(methodName); }
public virtual string GetSignatureForError() { return type.ToString(); }
public static ITypeDeclaration FindMatchingType(ITypeDeclaration tdec, ITypeReference tref) { return(tdec.ToString() == tref.ToString() ? tdec : (tdec.NestedTypes.Cast <ITypeDeclaration>().Select(idec => FindMatchingType(idec, tref))).FirstOrDefault(result => result != null)); }
/// <summary> /// Returns the tmp field for the method and type, if it doesn't exist it is created and added to the class /// </summary> protected FieldDefinition GetTmpField(IMethodDefinition method, ITypeReference type) { return GetTmpField(method, type.ToString()); }