def issue()

in sapp/ui/interactive.py [0:0]


    def issue(self, issue_instance_id: DBID) -> None:
        """Select an issue.

        Parameters:
            issue_instance_id: int    id of the issue instance to select

        Note: We are selecting issue instances, even though the command is called
        issue.
        """
        with self.db.make_session() as session:
            selected_issue = (
                session.query(IssueInstance)
                .filter(IssueInstance.id == issue_instance_id)
                .scalar()
            )

            if selected_issue is None:
                self.warning(
                    f"Issue {issue_instance_id} doesn't exist. "
                    "Type 'issues' for available issues."
                )
                return

            self.sources = self._get_leaves_issue_instance(
                session, issue_instance_id, SharedTextKind.SOURCE
            )

            self.sinks = self._get_leaves_issue_instance(
                session, issue_instance_id, SharedTextKind.SINK
            )

            self.features = self._get_leaves_issue_instance(
                session, issue_instance_id, SharedTextKind.FEATURE
            )

        self.current_issue_instance_id = selected_issue.id
        self.current_frame_id = DBID(-1)
        self.current_trace_frame_index = 1  # first one after the source

        print(f"Set issue to {issue_instance_id}.")
        if selected_issue.run_id != self._current_run_id:
            self._current_run_id = selected_issue.run_id
            print(f"Set run to {self._current_run_id}.")
        print()

        self._generate_trace_from_issue()
        self.show()