KT-2397 Prohibit final methods in traits with no implementation

#KT-2397 fixed
This commit is contained in:
Svetlana Isakova
2012-12-29 20:07:58 +04:00
parent 9bd4ed2a8d
commit 0b53bd25bd
7 changed files with 44 additions and 6 deletions
@@ -63,6 +63,8 @@ public class QuickFixes {
factories.put(MUST_BE_INITIALIZED_OR_BE_ABSTRACT, addAbstractModifierFactory);
JetIntentionActionFactory removeFinalModifierFactory = RemoveModifierFix.createRemoveModifierFromListOwnerFactory(FINAL_KEYWORD);
JetIntentionActionFactory addAbstractToClassFactory = AddModifierFix.createFactory(ABSTRACT_KEYWORD, JetClass.class);
factories.put(ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS, removeAbstractModifierFactory);
factories.put(ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS, addAbstractToClassFactory);
@@ -74,6 +76,9 @@ public class QuickFixes {
factories.put(ABSTRACT_FUNCTION_WITH_BODY, removeAbstractModifierFactory);
factories.put(ABSTRACT_FUNCTION_WITH_BODY, removeFunctionBodyFactory);
factories.put(FINAL_PROPERTY_IN_TRAIT, removeFinalModifierFactory);
factories.put(FINAL_FUNCTION_WITH_NO_BODY, removeFinalModifierFactory);
JetIntentionActionFactory addFunctionBodyFactory = AddFunctionBodyFix.createFactory();
factories.put(NON_ABSTRACT_FUNCTION_WITH_NO_BODY, addAbstractModifierFactory);
factories.put(NON_ABSTRACT_FUNCTION_WITH_NO_BODY, addFunctionBodyFactory);
@@ -96,7 +101,7 @@ public class QuickFixes {
factories.put(REDUNDANT_MODIFIER, removeRedundantModifierFactory);
factories.put(ABSTRACT_MODIFIER_IN_TRAIT, RemoveModifierFix.createRemoveModifierFromListOwnerFactory(ABSTRACT_KEYWORD, true));
factories.put(OPEN_MODIFIER_IN_TRAIT, RemoveModifierFix.createRemoveModifierFromListOwnerFactory(OPEN_KEYWORD, true));
factories.put(TRAIT_CAN_NOT_BE_FINAL, RemoveModifierFix.createRemoveModifierFromListOwnerFactory(FINAL_KEYWORD));
factories.put(TRAIT_CAN_NOT_BE_FINAL, removeFinalModifierFactory);
JetIntentionActionFactory removeOpenModifierFactory = RemoveModifierFix.createRemoveModifierFromListOwnerFactory(OPEN_KEYWORD);
factories.put(NON_FINAL_MEMBER_IN_FINAL_CLASS, AddModifierFix.createFactory(OPEN_KEYWORD, JetClass.class));