public class WorkQueueVarContext<T extends AbstractValue<T>> extends WorkQueue<VarContext<T>>
Modifier and Type | Class and Description |
---|---|
static class |
WorkQueueVarContext.AnalysisUnitRecordLocs<T extends AbstractValue<T>> |
WorkQueue.AnalysisUnitRecord<T extends Ordered<T>>
Constructor and Description |
---|
WorkQueueVarContext(Registrar registrar,
polyglot.frontend.ExtensionInfo extInfo,
AnalysisFactory<VarContext<T>> factory,
polyglot.frontend.Pass pass) |
callGraph, clearDependees, createExitMap, dumpQueue, emptyExitMap, extensionInfo, getAnalysisResult, getDependees, isEmpty, maybeRecursiveCall, pass, processQueue, recordResult, registrar
public WorkQueueVarContext(Registrar registrar, polyglot.frontend.ExtensionInfo extInfo, AnalysisFactory<VarContext<T>> factory, polyglot.frontend.Pass pass)
protected boolean existingResultSuitable(VarContext<T> input, WorkQueue.AnalysisUnitRecord<VarContext<T>> rec)
existingResultSuitable
in class WorkQueue<VarContext<T extends AbstractValue<T>>>
protected ExitMap<VarContext<T>> restoreCallingFrame(ExitMap<VarContext<T>> output, VarContext<T> input, WorkQueue.AnalysisUnitRecord<VarContext<T>> rec)
restoreCallingFrame
in class WorkQueue<VarContext<T extends AbstractValue<T>>>
protected boolean isOutputChanged(ExitMap<VarContext<T>> output, WorkQueue.AnalysisUnitRecord<VarContext<T>> rec, AnalysisUtil<VarContext<T>> autil)
isOutputChanged
in class WorkQueue<VarContext<T extends AbstractValue<T>>>
protected void updateOutput(WorkQueue.AnalysisUnitRecord<VarContext<T>> rec, ExitMap<VarContext<T>> output, AnalysisUtil<VarContext<T>> autil)
updateOutput
in class WorkQueue<VarContext<T extends AbstractValue<T>>>
public AnalysisFactoryVarContext<T> factory()
factory
in class WorkQueue<VarContext<T extends AbstractValue<T>>>
protected void updateCallerRecordAfterCalleeProcessing(WorkQueue.AnalysisUnitRecord<VarContext<T>> callerRec, WorkQueue.AnalysisUnitRecord<VarContext<T>> rec)
updateCallerRecordAfterCalleeProcessing
in class WorkQueue<VarContext<T extends AbstractValue<T>>>
public WorkQueueVarContext.AnalysisUnitRecordLocs<T> getAnalysisUnitRecord(AnalysisUnit unit)
getAnalysisUnitRecord
in class WorkQueue<VarContext<T extends AbstractValue<T>>>
protected FinalVarContext<T> initialAnalysisUnitOutput(AnalysisUnit callee, VarContext<T> input)
initialAnalysisUnitOutput
in class WorkQueue<VarContext<T extends AbstractValue<T>>>
protected WorkQueue.AnalysisUnitRecord<VarContext<T>> createAnalysisUnitRecord()
createAnalysisUnitRecord
in class WorkQueue<VarContext<T extends AbstractValue<T>>>
protected WorkQueue.AnalysisUnitRecord<VarContext<T>> createAnalysisUnitRecord(VarContext<T> initialInput, ExitMap<VarContext<T>> initialOutput)
createAnalysisUnitRecord
in class WorkQueue<VarContext<T extends AbstractValue<T>>>