2024-10-14 12:14:01 +03:00
|
|
|
package _VisualDVM.Passes.All;
|
2024-10-07 00:58:29 +03:00
|
|
|
import _VisualDVM.Global;
|
2024-10-09 22:21:57 +03:00
|
|
|
import _VisualDVM.GlobalData.Settings.SettingName;
|
2024-10-14 12:14:01 +03:00
|
|
|
import _VisualDVM.Passes.PassCode;
|
|
|
|
|
import _VisualDVM.Passes.Sapfor.SapforFilesModification;
|
2024-10-14 15:19:13 +03:00
|
|
|
import _VisualDVM.ProjectData.SapforData.Functions.FuncCall;
|
2023-09-17 22:13:42 +03:00
|
|
|
public class SPF_InlineProcedure extends SapforFilesModification {
|
|
|
|
|
FuncCall call = null;
|
|
|
|
|
// @Override
|
|
|
|
|
// protected PassCode_2021 necessary() {
|
|
|
|
|
// return null;
|
|
|
|
|
// }
|
|
|
|
|
// SPF_InlineProcedure (addOpt1_c -> name | file, addOpt2_c-> line)
|
|
|
|
|
@Override
|
|
|
|
|
protected boolean canStart(Object... args) throws Exception {
|
|
|
|
|
if (super.canStart(args) && (call = (args.length > 0) ? (FuncCall) args[0] : null) != null) {
|
2024-10-13 22:08:13 +03:00
|
|
|
addOpt1 = call.funcName + "|" + Global.mainModule.getFile().name;
|
2023-11-26 16:11:17 +03:00
|
|
|
addOpt2 = String.valueOf(call.parent_offset);
|
2023-09-17 22:13:42 +03:00
|
|
|
Global.changeSetting(SettingName.PARSE_FOR_INLINE, "1");
|
2024-10-14 15:19:13 +03:00
|
|
|
// Pass_2021.passes.get(PassCode_2021.UpdateSetting).Do(SettingName.PARSE_FOR_INLINE, "1");
|
2023-09-17 22:13:42 +03:00
|
|
|
SPF_ParseFilesWithOrder.silent = true;
|
2024-10-14 15:19:13 +03:00
|
|
|
return Global.mainModule.getPass(PassCode.SPF_ParseFilesWithOrder).Do();
|
2023-09-17 22:13:42 +03:00
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
protected void performFinish() throws Exception {
|
|
|
|
|
SPF_ParseFilesWithOrder.silent = false;
|
|
|
|
|
super.performFinish();
|
|
|
|
|
}
|
|
|
|
|
@Override
|
|
|
|
|
protected void showDone() throws Exception {
|
|
|
|
|
super.showDone();
|
2024-10-13 22:08:13 +03:00
|
|
|
Global.mainModule.getFile().form.getEditor().gotoLine(call.line);
|
2023-09-17 22:13:42 +03:00
|
|
|
}
|
|
|
|
|
}
|