⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 refactorings.java

📁 emacs的一个非常有用的插件,叫xrefactory,可以实现source insight里的那种函数跳转.和cscope(跳回来不方便)配合使用,非常的不错.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		void perform() {			String name = s.getIdentifierOnCaret();			new MoveDialog("Pull up method '"+name+"'", false, "-rfct-pull-up-method","-olcxmmtarget");		}	}	static public class Push_down_field extends Refactorings {		int getCode() {			return(Protocol.PPC_AVR_PUSH_DOWN_FIELD);		}		public String toString() {			return("Push Down Field");		}		void perform() {			String name = s.getIdentifierOnCaret();			new MoveDialog("Push down field '"+name+"'", false, "-rfct-push-down-field","-olcxmmtarget");		}	}	static public class Push_down_method extends Refactorings {		int getCode() {			return(Protocol.PPC_AVR_PUSH_DOWN_METHOD);		}		public String toString() {			return("Push Down Method");		}		void perform() {			String name = s.getIdentifierOnCaret();			new MoveDialog("Push down method '"+name+"'", false, "-rfct-push-down-method","-olcxmmtarget");		}	}	static public class Encapsulate_field extends Refactorings {		int getCode() {			return(Protocol.PPC_AVR_ENCAPSULATE_FIELD);		}		public String toString() {			return("Encapsulate Field");		}		void perform() {			XrefStringArray xroption = new XrefStringArray();			xroption.add("-rfct-encapsulate-field");			mainRefactorerInvocation(xroption,false);		}	}	static public class Self_encapsulate_field extends Refactorings {		int getCode() {			return(Protocol.PPC_AVR_SELF_ENCAPSULATE_FIELD);		}		public String toString() {			return("Self Encapsulate Field");		}		void perform() {			XrefStringArray xroption = new XrefStringArray();			xroption.add("-rfct-self-encapsulate-field");			mainRefactorerInvocation(xroption,false);		}	}	static public class Turn_dynamic_method_to_static extends Refactorings {		int getCode() {			return(Protocol.PPC_AVR_TURN_DYNAMIC_METHOD_TO_STATIC);		}		public String toString() {			return("Turn Virtual Method to Static");		}		void perform() {			String name = s.getIdentifierOnCaret();			new TurnDynamicToStaticDialog(name);		}	}	static public class Turn_static_method_to_dynamic extends Refactorings {		int getCode() {			return(Protocol.PPC_AVR_TURN_STATIC_METHOD_TO_DYNAMIC);		}		public String toString() {			return("Turn Static Method to Virtual");		}		void perform() {			String name = s.getIdentifierOnCaret();			new TurnStaticToDynamicDialog(name);		}	}	static public class Reduce_names extends Refactorings {		int getCode() {			return(Protocol.PPC_AVR_REDUCE_NAMES);		}		public String toString() {			return("Reduce Names");		}		void perform() {			XrefStringArray xroption = new XrefStringArray();			xroption.add("-rfct-reduce");			mainRefactorerInvocation(xroption,false);		}	}	static public class Expand_names extends Refactorings {		int getCode() {			return(Protocol.PPC_AVR_EXPAND_NAMES);		}		public String toString() {			return("Expand Names");		}		void perform() {			XrefStringArray xroption = new XrefStringArray();			xroption.add("-rfct-expand");			mainRefactorerInvocation(xroption,false);		}	}	static public class Set_move_target extends Refactorings {		int getCode() {			return(Protocol.PPC_AVR_SET_MOVE_TARGET);		}		public String toString() {			return("Set Target for Next Moving Refactoring");		}		void perform() {			setMovingTarget();			SwingUtilities.invokeLater(new s.MessageDisplayer("Next moving refactoring will move to "+new File(s.getBuffer().getPath()).getName()+":"+s.targetLine,false));		}	}	public static Refactorings getRefactoringFromCode(int code) {		Refactorings res = null;		switch(code) {		case Protocol.PPC_AVR_NO_REFACTORING:			res = new No_refactoring();			break;		case Protocol.PPC_AVR_RENAME_SYMBOL:			res = new Rename_symbol();			break;		case Protocol.PPC_AVR_RENAME_CLASS:			res = new Rename_class();			break;		case Protocol.PPC_AVR_RENAME_PACKAGE:			res = new Rename_package();			break;		case Protocol.PPC_AVR_ADD_PARAMETER:			res = new Add_parameter();			break;		case Protocol.PPC_AVR_DEL_PARAMETER:			res = new Del_parameter();			break;		case Protocol.PPC_AVR_MOVE_PARAMETER:			res = new Move_parameter();			break;		case Protocol.PPC_AVR_EXTRACT_METHOD:			res = new Extract_method();			break;		case Protocol.PPC_AVR_EXTRACT_FUNCTION:			res = new Extract_function();			break;		case Protocol.PPC_AVR_EXTRACT_MACRO:			res = new Extract_macro();			break;		case Protocol.PPC_AVR_MOVE_STATIC_FIELD:			res = new Move_static_field();			break;		case Protocol.PPC_AVR_MOVE_STATIC_METHOD:			res = new Move_static_method();			break;		case Protocol.PPC_AVR_MOVE_FIELD:			res = new Move_field();			break;		case Protocol.PPC_AVR_PULL_UP_FIELD:			res = new Pull_up_field();			break;		case Protocol.PPC_AVR_PULL_UP_METHOD:			res = new Pull_up_method();			break;		case Protocol.PPC_AVR_PUSH_DOWN_FIELD:			res = new Push_down_field();			break;		case Protocol.PPC_AVR_PUSH_DOWN_METHOD:			res = new Push_down_method();			break;		case Protocol.PPC_AVR_MOVE_CLASS:			res = new Move_class();			break;		case Protocol.PPC_AVR_MOVE_CLASS_TO_NEW_FILE:			res = new Move_class_to_new_file();			break;		case Protocol.PPC_AVR_ENCAPSULATE_FIELD:			res = new Encapsulate_field();			break;		case Protocol.PPC_AVR_SELF_ENCAPSULATE_FIELD:			res = new Self_encapsulate_field();			break;		case Protocol.PPC_AVR_TURN_DYNAMIC_METHOD_TO_STATIC:			res = new Turn_dynamic_method_to_static();			break;		case Protocol.PPC_AVR_TURN_STATIC_METHOD_TO_DYNAMIC:			res = new Turn_static_method_to_dynamic();			break;		case Protocol.PPC_AVR_REDUCE_NAMES:			res = new Reduce_names();			break;		case Protocol.PPC_AVR_EXPAND_NAMES:			res = new Expand_names();			break;		case Protocol.PPC_AVR_SET_MOVE_TARGET:			res = new Set_move_target();			break;		default:			res = null;			JOptionPane.showMessageDialog(s.view, "Unknown refactoring code: " + code, 										  "Xrefactory Internal Error", JOptionPane.ERROR_MESSAGE);		}		return(res);	}	static class ApplyRefactoring implements Runnable {		XrefCharBuffer	receipt;		DispatchData 	ndata;		public void run() {			Dispatch.dispatch(receipt, ndata);			if ((!ndata.panic) && Opt.saveFilesAfterRefactorings()) s.saveAllBuffers(s.view);		}		ApplyRefactoring(XrefCharBuffer receipt, DispatchData ndata) {			this.receipt = receipt;			this.ndata = ndata;		}	}	static class RefactoringsRunnable implements Runnable {		XrefStringArray				runOptions;		static boolean 				running;		static XrefactorerTask		activeProcess;		public static boolean passCheckForRunningProcess() {			while (running) {				int res = JOptionPane.showConfirmDialog(s.view, "A refactoring process is running, kill it?", "Xrefactory", JOptionPane.YES_NO_CANCEL_OPTION);				if (res == JOptionPane.YES_OPTION) {					// verify once more time, maybe exited in between					if (activeProcess!=null) {						activeProcess.killThis(false);					}				} else if (res == JOptionPane.CANCEL_OPTION) {					return(false);				}			}			return(true);		}		public void run() {			if (! passCheckForRunningProcess()) return;			running = true;			String project = null;			if (Opt.saveFilesBeforeRefactorings()) s.saveAllBuffers(s.view);			if (Opt.updateBeforeRefactorings()) {				boolean panic = s.synchronizedUpdateTagFile(s.view);				if (panic) {					running = false;					return;				}			} else {				// also check that there is no Tag updating running				if (! XrefTaskForTagFile.passCheckForRunningProcess("Tags are currently being created or updated. Can I kill this process?", s.view)) {					running = false;					return;				}			}			project = s.activeProject; // getActiveProject(s.view);			if (project!=null) {				XrefStringArray taskOptions = new XrefStringArray();				DispatchData ndata = new DispatchData(s.view);				taskOptions.add("-p");				taskOptions.add(project);				taskOptions.add(runOptions);				taskOptions.add("-user");				taskOptions.add(s.getViewParameter(ndata.viewId));				if (jEdit.getBooleanProperty(s.optRefactoryPreferImportOnDemand, true)) {					taskOptions.add("-addimportdefault=0");				} else {					taskOptions.add("-addimportdefault=1");				}				activeProcess = new XrefactorerTask(taskOptions);				ndata.xTask = activeProcess;				ndata.progressMessage = "Computing patches.";				XrefCharBuffer receipt = activeProcess.getTaskOutput(ndata);				new ApplyRefactoring(receipt, ndata).run();				//&VFSManager.runInAWTThread(new ApplyRefactoring(receipt, ndata));				//&VFSManager.waitForRequests();			}			running = false;		}		RefactoringsRunnable(XrefStringArray runOptions) {			this.runOptions = runOptions;		}	}	public static void renameSymbol(String newname) {		if (newname!=null) {			XrefStringArray xroption = new XrefStringArray();			xroption.add("-rfct-rename");			xroption.add("-renameto=" + newname);			mainRefactorerInvocation(xroption, false);		}	}	public static void renameClass(String newname, boolean synchro) {		if (newname!=null) {			XrefStringArray xroption = new XrefStringArray();			xroption.add("-rfct-rename-class");			xroption.add("-renameto="+newname);			mainRefactorerInvocation(xroption, synchro);		}	}	static boolean 		running;	public static void mainRefactorerInvocation(XrefStringArray options,												boolean synchronisation		) {		RefactoringsRunnable r = new RefactoringsRunnable(options);		if (synchronisation) {			r.run();		} else {			//&Thread t = new Thread(new RefactoringsRunnable(options));			r.run(); //t.start();		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -