src/Pure/System/session.scala
changeset 56208 06cc31dff138
parent 55801 28b59620f0d0
equal deleted inserted replaced
56207:52d5067ca06a 56208:06cc31dff138
   107     }
   107     }
   108   }
   108   }
   109 }
   109 }
   110 
   110 
   111 
   111 
   112 class Session(val thy_load: Thy_Load)
   112 class Session(val resources: Resources)
   113 {
   113 {
   114   /* global flags */
   114   /* global flags */
   115 
   115 
   116   @volatile var timing: Boolean = false
   116   @volatile var timing: Boolean = false
   117   @volatile var verbose: Boolean = false
   117   @volatile var verbose: Boolean = false
   178         case Stop => finished = true; reply(())
   178         case Stop => finished = true; reply(())
   179 
   179 
   180         case Text_Edits(previous, doc_blobs, text_edits, version_result) =>
   180         case Text_Edits(previous, doc_blobs, text_edits, version_result) =>
   181           val prev = previous.get_finished
   181           val prev = previous.get_finished
   182           val (syntax_changed, doc_edits, version) =
   182           val (syntax_changed, doc_edits, version) =
   183             Timing.timeit("Thy_Load.text_edits", timing) {
   183             Timing.timeit("text_edits", timing) {
   184               thy_load.text_edits(reparse_limit, prev, doc_blobs, text_edits)
   184               resources.text_edits(reparse_limit, prev, doc_blobs, text_edits)
   185             }
   185             }
   186           version_result.fulfill(version)
   186           version_result.fulfill(version)
   187           sender ! Change(doc_blobs, syntax_changed, doc_edits, prev, version)
   187           sender ! Change(doc_blobs, syntax_changed, doc_edits, prev, version)
   188 
   188 
   189         case bad => System.err.println("change_parser: ignoring bad message " + bad)
   189         case bad => System.err.println("change_parser: ignoring bad message " + bad)
   214   def current_state(): Document.State = global_state()
   214   def current_state(): Document.State = global_state()
   215 
   215 
   216   def recent_syntax(): Outer_Syntax =
   216   def recent_syntax(): Outer_Syntax =
   217   {
   217   {
   218     val version = current_state().recent_finished.version.get_finished
   218     val version = current_state().recent_finished.version.get_finished
   219     if (version.is_init) thy_load.base_syntax
   219     if (version.is_init) resources.base_syntax
   220     else version.syntax
   220     else version.syntax
   221   }
   221   }
   222 
   222 
   223   def snapshot(name: Document.Node.Name = Document.Node.Name.empty,
   223   def snapshot(name: Document.Node.Name = Document.Node.Name.empty,
   224       pending_edits: List[Text.Edit] = Nil): Document.Snapshot =
   224       pending_edits: List[Text.Edit] = Nil): Document.Snapshot =
   236   /* theory files */
   236   /* theory files */
   237 
   237 
   238   def header_edit(name: Document.Node.Name, header: Document.Node.Header): Document.Edit_Text =
   238   def header_edit(name: Document.Node.Name, header: Document.Node.Header): Document.Edit_Text =
   239   {
   239   {
   240     val header1 =
   240     val header1 =
   241       if (thy_load.loaded_theories(name.theory))
   241       if (resources.loaded_theories(name.theory))
   242         header.error("Cannot update finished theory " + quote(name.theory))
   242         header.error("Cannot update finished theory " + quote(name.theory))
   243       else header
   243       else header
   244     (name, Document.Node.Deps(header1))
   244     (name, Document.Node.Deps(header1))
   245   }
   245   }
   246 
   246 
   399 
   399 
   400       val assignment = global_state().the_assignment(previous).check_finished
   400       val assignment = global_state().the_assignment(previous).check_finished
   401       global_state >> (_.define_version(version, assignment))
   401       global_state >> (_.define_version(version, assignment))
   402       prover.get.update(previous.id, version.id, doc_edits)
   402       prover.get.update(previous.id, version.id, doc_edits)
   403 
   403 
   404       if (syntax_changed) thy_load.syntax_changed()
   404       if (syntax_changed) resources.syntax_changed()
   405     }
   405     }
   406     //}}}
   406     //}}}
   407 
   407 
   408 
   408 
   409     /* prover output */
   409     /* prover output */