Struct rupta::pta::context_sensitive::ContextSensitivePTA
source · pub struct ContextSensitivePTA<'pta, 'tcx, 'compilation, S: ContextStrategy> {
pub call_graph: CSCallGraph,
/* private fields */
}Fields§
§call_graph: CSCallGraphCall graph
Implementations§
source§impl<'pta, 'tcx, 'compilation, S: ContextStrategy> ContextSensitivePTA<'pta, 'tcx, 'compilation, S>
impl<'pta, 'tcx, 'compilation, S: ContextStrategy> ContextSensitivePTA<'pta, 'tcx, 'compilation, S>
Constructor
pub fn new( acx: &'pta mut AnalysisContext<'tcx, 'compilation>, ctx_strategy: S ) -> Self
pub fn get_context_id(&mut self, context: &Rc<Context<S::E>>) -> ContextId
pub fn get_context_by_id(&self, context_id: ContextId) -> Rc<Context<S::E>>
pub fn get_empty_context_id(&mut self) -> ContextId
sourcepub fn initialize(&mut self)
pub fn initialize(&mut self)
Initialize the analysis.
sourcepub fn add_fpag_edges(&mut self, func: CSFuncId)
pub fn add_fpag_edges(&mut self, func: CSFuncId)
Adds internal edges of a function pag to the whole program’s pag. The function pag for the given def_id should be built before calling this function.
pub fn get_pt_data(&self) -> &DiffPTDataTy
Trait Implementations§
source§impl<'pta, 'tcx, 'compilation, S: ContextStrategy> Debug for ContextSensitivePTA<'pta, 'tcx, 'compilation, S>
impl<'pta, 'tcx, 'compilation, S: ContextStrategy> Debug for ContextSensitivePTA<'pta, 'tcx, 'compilation, S>
source§impl<'pta, 'tcx, 'compilation, S: ContextStrategy> PointerAnalysis<'tcx, 'compilation> for ContextSensitivePTA<'pta, 'tcx, 'compilation, S>
impl<'pta, 'tcx, 'compilation, S: ContextStrategy> PointerAnalysis<'tcx, 'compilation> for ContextSensitivePTA<'pta, 'tcx, 'compilation, S>
Auto Trait Implementations§
impl<'pta, 'tcx, 'compilation, S> !RefUnwindSafe for ContextSensitivePTA<'pta, 'tcx, 'compilation, S>
impl<'pta, 'tcx, 'compilation, S> !Send for ContextSensitivePTA<'pta, 'tcx, 'compilation, S>
impl<'pta, 'tcx, 'compilation, S> !Sync for ContextSensitivePTA<'pta, 'tcx, 'compilation, S>
impl<'pta, 'tcx, 'compilation, S> Unpin for ContextSensitivePTA<'pta, 'tcx, 'compilation, S>where
S: Unpin,
impl<'pta, 'tcx, 'compilation, S> !UnwindSafe for ContextSensitivePTA<'pta, 'tcx, 'compilation, S>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more