]> git.lizzy.rs Git - rust.git/commitdiff
Add DepGraph to tcx.
authorNiko Matsakis <niko@alum.mit.edu>
Tue, 5 Jan 2016 18:07:45 +0000 (13:07 -0500)
committerNiko Matsakis <niko@alum.mit.edu>
Wed, 6 Jan 2016 02:05:50 +0000 (21:05 -0500)
src/librustc/middle/ty/context.rs

index cee651743ca866d08cb3120cc8b560f1a761da6a..e700abf9db197b262da88fc37d1f18e5c619b2b4 100644 (file)
@@ -13,6 +13,7 @@
 // FIXME: (@jroesch) @eddyb should remove this when he renames ctxt
 #![allow(non_camel_case_types)]
 
+use dep_graph::{DepGraph, DepNode, DepTrackingMap};
 use front::map as ast_map;
 use session::Session;
 use lint;
@@ -224,6 +225,8 @@ pub struct ctxt<'tcx> {
     region_interner: RefCell<FnvHashMap<&'tcx Region, &'tcx Region>>,
     stability_interner: RefCell<FnvHashMap<&'tcx attr::Stability, &'tcx attr::Stability>>,
 
+    pub dep_graph: DepGraph,
+
     /// Common types, pre-interned for your convenience.
     pub types: CommonTypes<'tcx>,
 
@@ -483,7 +486,7 @@ pub fn create_and_enter<F, R>(s: &'tcx Session,
     {
         let interner = RefCell::new(FnvHashMap());
         let common_types = CommonTypes::new(&arenas.type_, &interner);
-
+        let dep_graph = DepGraph::new(s.opts.incremental_compilation);
         tls::enter(ctxt {
             arenas: arenas,
             interner: interner,
@@ -491,6 +494,7 @@ pub fn create_and_enter<F, R>(s: &'tcx Session,
             bare_fn_interner: RefCell::new(FnvHashMap()),
             region_interner: RefCell::new(FnvHashMap()),
             stability_interner: RefCell::new(FnvHashMap()),
+            dep_graph: dep_graph.clone(),
             types: common_types,
             named_region_map: named_region_map,
             region_maps: region_maps,