protected override Action <ITextControl> ExecutePsiTransaction(ISolution solution, IProgressIndicator progress) { if (myIsSerialized) { AttributeUtil.RemoveAttributeFromAllDeclarations(myFieldDeclaration, KnownTypes.SerializeField); if (myFieldDeclaration.GetAccessRights() == AccessRights.PUBLIC) { AttributeUtil.AddAttributeToAllDeclarations(myFieldDeclaration, PredefinedType.NONSERIALIZED_ATTRIBUTE_CLASS, myModule, myElementFactory); } } else { if (myFieldDeclaration.IsStatic) { ModifiersUtil.SetStatic(myMultipleFieldDeclaration, false); } if (myFieldDeclaration.IsReadonly) { ModifiersUtil.SetReadonly(myMultipleFieldDeclaration, false); } AttributeUtil.RemoveAttributeFromAllDeclarations(myFieldDeclaration, PredefinedType.NONSERIALIZED_ATTRIBUTE_CLASS); if (myFieldDeclaration.GetAccessRights() != AccessRights.PUBLIC) { AttributeUtil.AddAttributeToAllDeclarations(myFieldDeclaration, KnownTypes.SerializeField, myModule, myElementFactory); } } return(null); }
protected override Action <ITextControl> ExecutePsiTransaction(ISolution solution, IProgressIndicator progress) { var fieldDeclaration = (IFieldDeclaration)myMultipleFieldDeclaration.Declarators[0]; if (myExistingAttribute != null) { CSharpSharedImplUtil.RemoveAttribute(fieldDeclaration, myExistingAttribute); } else { AttributeUtil.AddAttributeToAllDeclarations(fieldDeclaration, KnownTypes.HideInInspector, myModule, myElementFactory); } return(null); }