src/Pure/Tools/dump.scala
changeset 71158 1c58a01a372e
parent 70876 91b311e7d040
child 71159 6b03ce9b02c7
equal deleted inserted replaced
71157:8bdf3c36011c 71158:1c58a01a372e
   168 
   168 
   169       /* resulting sessions */
   169       /* resulting sessions */
   170 
   170 
   171       def make_session(
   171       def make_session(
   172         selected_sessions: List[String],
   172         selected_sessions: List[String],
   173         pure: Boolean = false,
   173         session_logic: String = logic,
   174         record_proofs: Boolean = false): List[Session] =
   174         record_proofs: Boolean = false): List[Session] =
   175       {
   175       {
   176         if (selected_sessions.isEmpty) Nil
   176         if (selected_sessions.isEmpty) Nil
   177         else {
   177         else List(new Session(context, session_logic, log, selected_sessions, record_proofs))
   178           val session_logic = if (pure) isabelle.Thy_Header.PURE else logic
       
   179           List(new Session(context, session_logic, log, selected_sessions, record_proofs))
       
   180         }
       
   181       }
   178       }
   182 
   179 
   183       val base =
   180       val base =
   184         if (logic == isabelle.Thy_Header.PURE) Nil
   181         if (logic == isabelle.Thy_Header.PURE) Nil
   185         else make_session(base_sessions, pure = true)
   182         else make_session(base_sessions, session_logic = isabelle.Thy_Header.PURE)
   186 
   183 
   187       val main =
   184       val main =
   188         make_session(
   185         make_session(
   189           session_graph.topological_order.filterNot(name =>
   186           session_graph.topological_order.filterNot(name =>
   190             afp_sessions.contains(name) ||
   187             afp_sessions.contains(name) ||
   191             base_sessions.contains(name) ||
   188             base_sessions.contains(name) ||
   192             proof_sessions.contains(name)))
   189             proof_sessions.contains(name)))
   193 
   190 
   194       val proofs =
   191       val proofs =
   195         make_session(proof_sessions, pure = true, record_proofs = true)
   192         make_session(proof_sessions, session_logic = isabelle.Thy_Header.PURE, record_proofs = true)
   196 
   193 
   197       val afp =
   194       val afp =
   198         if (afp_sessions.isEmpty) Nil
   195         if (afp_sessions.isEmpty) Nil
   199         else {
   196         else {
   200           val (part1, part2) =
   197           val (part1, part2) =