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;
import com.google.gson.annotations.Expose;
import com.sun.org.glassfish.gmbal.Description;
public class FuncCall extends FileObjectWithMessages {
    //JSON------------------------------------------
    @Expose
    public String funcName = "";
    //END OF JSON------------------------------------
    public int parentLineOffset = 0;// line объявления - line вычислять?
    public boolean canBeInlined = false;
    @Description("IGNORE")
    private boolean selected = false;
    //---
    public FuncCall(DBProjectFile father_in, String funcName_in, int line_in) {
        super(father_in, line_in);
        funcName = funcName_in;
    }
    public FuncCall() {
    }
    //selectable
    @Override
    public String Description() {
        return "вызов " + Utils_.Brackets(funcName);
    }
    @Override
    public boolean isSelectionEnabled() {
        return canBeInlined;
    }
    @Override
    public String getSelectionText() {
        return "вызов в строке " + line;
    }
    @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()));
        }
    }
}
