private void ModuleRenamed(object source, ElementPropertyChangedEventArgs e) { //If an element with the old name exists it means the designer is auto-assigning a new name //to a newly dropped element and there's no need to rename the corresponding code element. In //fact that would be wrong because we would end up renaming the code element corresponding to the //model element with the old name, whose name hasn't changed. if (((Module)e.ModelElement).CountModulesWithName((string)e.OldValue) > 0) { return; } FileCodeModel2 fcm = GetGeneratedFileCodeModel(); if (fcm == null) { return; } CodeElement2 field = FindElement(fcm.CodeElements, (string)e.OldValue, vsCMElement.vsCMElementVariable); if (field != null) { field.RenameSymbol((string)e.NewValue); } UpdateView(); }
private string RenameMethod(CodeElement item) { //var sb = new StringBuilder(); if (item.Kind == vsCMElement.vsCMElementFunction) { //Debug.WriteLine("RenameMethod.FullName:" + item.FullName); if (methodWhiteList.Contains(item.Name) || interFaceFunction.Contains(item.Name) || item.Name.Contains(alien)) { Print("WriteListFunction :" + item.Name); return(""); } try { CodeFunction2 code3 = item as CodeFunction2; PrintFunction2Info(code3); if (code3.OverrideKind == vsCMOverrideKind.vsCMOverrideKindOverride || code3.OverrideKind == vsCMOverrideKind.vsCMOverrideKindNew || code3.OverrideKind == vsCMOverrideKind.vsCMOverrideKindAbstract || code3.OverrideKind == vsCMOverrideKind.vsCMOverrideKindVirtual) { PrintDetial("SpecialFunction :" + item.Name); return(""); } if (code3.IsShared) { PrintDetial("StaticFunction :" + item.Name); return(""); } if (item.Name.Contains(stringGlobal)) { PrintDetial("GlobalFunction :" + item.Name); return(""); } CodeElement2 code2 = item as CodeElement2; var one = nameCounter++; var alien2 = alien + nameCounter++; var three = nameCounter++; PrintDetial("RenameFunction :" + item.Name); var randomOne = GetRandomName(3, 5, useUpper: true); var randomThree = GetRandomName(3, 5, useUpper: true); var replacement = string.Format("{0}{1}{2}{3}{4}", randomOne, one, item.Name.Insert(item.Name.Length / 2, alien2), randomThree, three); code2.RenameSymbol(replacement); //sb += (" " + code.Name + " " + code.IsCodeType + " " + code.Kind + "\n"); } catch (Exception ex) { //except += " error: " + ex.Message + "\n" + item.Name; CodeFunction2 code3 = item as CodeFunction2; PrintFunction2Info(code3); } } else { } return(""); }
private string RenameAttr(CodeElement item) { //var sb = new StringBuilder(); //try //{ if (item.Kind == vsCMElement.vsCMElementVariable || item.Kind == vsCMElement.vsCMElementParameter || item.Kind == vsCMElement.vsCMElementProperty) { if (item.Name.Contains(alien)) { PrintDetial("AttrNameHasAlien :" + item.Name); return(""); } if (item.Name.Contains(stringThis)) { PrintDetial("AttrNameHasThis :" + item.Name); return(""); } if (item.Name.Contains(stringGlobal)) { PrintDetial("GlobalAttr :" + item.Name); return(""); } if (interFaceFunction.Contains(item.Name)) { PrintDetial("InterFaceAttr :" + item.Name); return(""); } CodeProperty2 CodeProperty = item as CodeProperty2; if (CodeProperty != null && CodeProperty.OverrideKind != null && (CodeProperty.OverrideKind == vsCMOverrideKind.vsCMOverrideKindOverride || CodeProperty.OverrideKind == vsCMOverrideKind.vsCMOverrideKindNew || CodeProperty.OverrideKind == vsCMOverrideKind.vsCMOverrideKindAbstract || CodeProperty.OverrideKind == vsCMOverrideKind.vsCMOverrideKindVirtual)) { PrintDetial("AttrIsSpecial :" + item.Name); return(""); } CodeVariable2 codeVariable = item as CodeVariable2; if ((CodeProperty != null && CodeProperty.IsShared) || (codeVariable != null && codeVariable.IsShared)) { PrintDetial("StaticAttr :" + item.Name); return(""); } try { CodeElement2 code2 = item as CodeElement2; var one = nameCounter++; var alien2 = alien + nameCounter++; var three = nameCounter++; PrintDetial("RenameAttribute :" + item.Name); var randomOne = GetRandomName(3, 5, useUpper: true); var randomThree = GetRandomName(3, 5, useUpper: true); var replacement = string.Format("{0}{1}{2}{3}{4}", randomOne, one, item.Name.Insert(item.Name.Length / 2, alien2), randomThree, three); code2.RenameSymbol(replacement); } catch (Exception ex) { except += " error: " + ex.Message + "\n" + item.Name; PrintProperty2Info(CodeProperty); } //sb += (" " + code.Name + " " + code.IsCodeType + " " + code.Kind + "\n"); } else { } return(""); }
private string RenameClass(CodeElement item) { //var sb = new StringBuilder(); //try //{ if (item.Kind == vsCMElement.vsCMElementClass) { //if (item.Name.Contains("ACTRuntimeSoundPlayer")) //{ //} CodeClass2 codeClass2 = item as CodeClass2; PrintClass2Info(codeClass2); //if (hasHandleClasses.Contains(item.Name) && codeClass2.ClassKind != vsCMClassKind.vsCMClassKindPartialClass) // return ""; //if (whiteList.Contains(item.Name)) // return ""; //if (item.Name.Contains(alien) && codeClass2.ClassKind != vsCMClassKind.vsCMClassKindPartialClass) // return ""; if (codeClass2.IsShared) { PrintDetial("StaticClass :" + item.Name); return(""); } if (codeClass2.Name.Contains(stringGlobal)) { PrintDetial("GlobalClass :" + item.Name); return(""); } if (codeClass2.ImplementedInterfaces.Count > 0) { foreach (CodeInterface2 codeE in codeClass2.ImplementedInterfaces) { if (codeE.Members != null && codeE.Members.Count > 0) { if (codeE.Bases != null) { PrintDetial("实现了非基接口类 :" + item.Name); return(""); } foreach (CodeElement codeE2 in codeE.Members) { if (codeE2.Kind == vsCMElement.vsCMElementFunction) { Debug.WriteLine("interface name:" + codeE.Name + "." + codeE2.Name); } interFaceFunction.Add(codeE.Name + "." + codeE2.Name); interFaceFunction.Add(codeE2.Name); } } } } CodeElement2 code2 = item as CodeElement2; try { var one = nameCounter++; var alien2 = alien + nameCounter++; var three = nameCounter++; PrintDetial("RenameClass :" + item.Name); hasHandleClasses.Add(item.Name); var randomOne = GetRandomName(3, 5, useUpper: true); var randomThree = GetRandomName(3, 5, useUpper: true); var replacement = string.Format("{0}{1}{2}{3}{4}", randomOne, one, item.Name.Insert(item.Name.Length / 2, alien2), randomThree, three); code2.RenameSymbol(replacement); hasHandleClasses.Add(replacement); } catch (Exception ex) { except += " error: " + ex.Message + "\n" + item.Name; PrintClass2Info(codeClass2); } //sb += (" " + code.Name + " " + code.IsCodeType + " " + code.Kind + "\n"); var resAttrs = RenameAttrs(item); var resMethods = RenameMethods(item); } //sb.AppendLine(RenameClasses(item)); //sb.AppendLine(resAttrs); //sb.AppendLine(resMethods); //sb.AppendLine(item.Name + " " + item.Kind); //} //catch (Exception ex) //{ // except += " error: " + ex.Message + "\n";// item.Name + //} //return sb.ToString(); return(""); }