package _VisualDVM.ProjectData.SapforData.Functions;
import Common.Utils.Utils_;
import Common.Visual.UI_;
import _VisualDVM.Global;
import _VisualDVM.Passes.PassCode;
import _VisualDVM.ProjectData.Files.DBProjectFile;
import _VisualDVM.ProjectData.SapforData.FileObjectWithMessages;
public class FuncCall extends FileObjectWithMessages {
    public String funcName = "";  //не нужны дополнительные поля.имя функции это уже ключ.
    public boolean canBeInlined = false;
    public int parent_offset = 0;
    public FuncCall(DBProjectFile father_in, String funcName_in, int line_in) {
        super(father_in, line_in);
        funcName = funcName_in;
    }
    public FuncCall() {
    }
    @Override
    public String getSelectionText() {
        return "вызов в строке " + line;
    }
    @Override
    public boolean isSelectionEnabled() {
        return canBeInlined;
    }
    @Override
    public String Description() {
        return "вызов " + Utils_.Brackets(funcName);
    }
    @Override
    public void Select(boolean flag) {
        if (Global.mainModule.getPass(PassCode.SPF_GetGraphFunctions).isDone()) {
            super.Select(flag);
        } else {
            UI_.Info("Для подстановки функций требуется выполнить проход " + Utils_.DQuotes(PassCode.SPF_GetGraphFunctions.getDescription()));
        }
    }
}
