tip.cfg
Interface CFGAnswer<A>

Type Parameters:
A - the type of the answers
All Known Implementing Classes:
CFGAnswerAdapter, SubExpressions

public interface CFGAnswer<A>

CFGAnswer defines an interface for the abstraction of answers based on a ICFG. The interface is a visitor pattern.

Author:
Johnni Winther, jw@brics.dk

Method Summary
 A caseCAssignPtrStmPoint(AAssignPtrStm node, CAssignPtrStmPoint point)
          caseCAssignPtrStmPoint is called by a CAssignPtrStmPoint from CAssignPtrStmPoint.apply(CFGAnswer).
 A caseCAssignVarStmPoint(AAssignVarStm node, CAssignVarStmPoint point)
          caseCAssignVarStmPoint is called by a CAssignVarStmPoint from CAssignVarStmPoint.apply(CFGAnswer).
 A caseCBinopExpPoint(ABinopExp node, CBinopExpPoint point)
          caseCBinopExpPoint is called by a CBinopExpPoint from CBinopExpPoint.apply(CFGAnswer).
 A caseCBlockPoint(ABlock node, CBlockPoint point)
          caseCBlockPoint is called by a CBlockPoint from CBlockPoint.apply(CFGAnswer).
 A caseCDeclStmPoint(ADeclStm node, CDeclStmPoint point)
          caseCDeclStmPoint is called by a CDeclStmPoint from CDeclStmPoint.apply(CFGAnswer).
 A caseCDerefExpPoint(ADerefExp node, CDerefExpPoint point)
          caseCDerefExpPoint is called by a CDerefExpPoint from CDerefExpPoint.apply(CFGAnswer).
 A caseCFunctionCallExpPoint(AFunctionCallExp node, CFunctionCallExpPoint point)
          caseCFunctionCallExpPoint is called by a CFunctionCallExpPoint from CFunctionCallExpPoint.apply(CFGAnswer).
 A caseCFunctionPtrCallExpPoint(AFunctionPtrCallExp node, CFunctionPtrCallExpPoint point)
          caseCFunctionPtrCallExpPoint is called by a CFunctionPtrCallExpPoint from CFunctionPtrCallExpPoint.apply(CFGAnswer).
 A caseCIfThenElseStmPoint(AIfThenElseStm node, CIfThenElseStmPoint point)
          caseCIfThenElseStmPoint is called by a CIfThenElseStmPoint from CIfThenElseStmPoint.apply(CFGAnswer).
 A caseCIfThenStmPoint(AIfThenStm node, CIfThenStmPoint point)
          caseCIfThenStmPoint is called by a CIfThenStmPoint from CIfThenStmPoint.apply(CFGAnswer).
 A caseCInputExpPoint(AInputExp node, CInputExpPoint point)
          caseCInputExpPoint is called by a CInputExpPoint from CInputExpPoint.apply(CFGAnswer).
 A caseCIntConstExpPoint(AIntConstExp node, CIntConstExpPoint point)
          caseCIntConstExpPoint is called by a CIntConstExpPoint from CIntConstExpPoint.apply(CFGAnswer).
 A caseCMallocExpPoint(AMallocExp node, CMallocExpPoint point)
          caseCMallocExpPoint is called by a CMallocExpPoint from CMallocExpPoint.apply(CFGAnswer).
 A caseCNullExpPoint(ANullExp node, CNullExpPoint point)
          caseCNullExpPoint is called by a CNullExpPoint from CNullExpPoint.apply(CFGAnswer).
 A caseCOutputStmPoint(AOutputStm node, COutputStmPoint point)
          caseCOutputStmPoint is called by a COutputStmPoint from COutputStmPoint.apply(CFGAnswer).
 A caseCPointerExpPoint(APointerExp node, CPointerExpPoint point)
          caseCPointerExpPoint is called by a CPointerExpPoint from CPointerExpPoint.apply(CFGAnswer).
 A caseCReturnStmPoint(AReturnStm node, CReturnStmPoint point)
          caseCReturnStmPoint is called by a CReturnStmPoint from CReturnStmPoint.apply(CFGAnswer).
 A caseCVarExpPoint(AVarExp node, CVarExpPoint point)
          caseCVarExpPoint is called by a CVarExpPoint from CVarExpPoint.apply(CFGAnswer).
 A caseCWhileStmPoint(AWhileStm node, CWhileStmPoint point)
          caseCWhileStmPoint is called by a CWhileStmPoint from CWhileStmPoint.apply(CFGAnswer).
 A caseEntryPoint(Node node, EntryPoint point)
          caseEntryPoint is called by a EntryPoint from EntryPoint.apply(CFGAnswer).
 A caseExitPoint(Node node, ExitPoint point)
          caseExitPoint is called by a ExitPoint from ExitPoint.apply(CFGAnswer).
 

Method Detail

caseEntryPoint

A caseEntryPoint(Node node,
                 EntryPoint point)
caseEntryPoint is called by a EntryPoint from EntryPoint.apply(CFGAnswer).

Parameters:
node - the Node associated with point
point - the EntryPoint calling the method
Returns:
the answer to the call

caseExitPoint

A caseExitPoint(Node node,
                ExitPoint point)
caseExitPoint is called by a ExitPoint from ExitPoint.apply(CFGAnswer).

Parameters:
node - the Node associated with point
point - the ExitPoint calling the method
Returns:
the answer to the call

caseCReturnStmPoint

A caseCReturnStmPoint(AReturnStm node,
                      CReturnStmPoint point)
caseCReturnStmPoint is called by a CReturnStmPoint from CReturnStmPoint.apply(CFGAnswer).

Parameters:
node - the AReturnStm associated with point
point - the CReturnStmPoint calling the method
Returns:
the answer to the call

caseCAssignPtrStmPoint

A caseCAssignPtrStmPoint(AAssignPtrStm node,
                         CAssignPtrStmPoint point)
caseCAssignPtrStmPoint is called by a CAssignPtrStmPoint from CAssignPtrStmPoint.apply(CFGAnswer).

Parameters:
node - the AAssignPtrStm associated with point
point - the CAssignPtrStmPoint calling the method
Returns:
the answer to the call

caseCBlockPoint

A caseCBlockPoint(ABlock node,
                  CBlockPoint point)
caseCBlockPoint is called by a CBlockPoint from CBlockPoint.apply(CFGAnswer).

Parameters:
node - the ABlock associated with point
point - the CBlockPoint calling the method
Returns:
the answer to the call

caseCVarExpPoint

A caseCVarExpPoint(AVarExp node,
                   CVarExpPoint point)
caseCVarExpPoint is called by a CVarExpPoint from CVarExpPoint.apply(CFGAnswer).

Parameters:
node - the AVarExp associated with point
point - the CVarExpPoint calling the method
Returns:
the answer to the call

caseCFunctionCallExpPoint

A caseCFunctionCallExpPoint(AFunctionCallExp node,
                            CFunctionCallExpPoint point)
caseCFunctionCallExpPoint is called by a CFunctionCallExpPoint from CFunctionCallExpPoint.apply(CFGAnswer).

Parameters:
node - the AFunctionCallExp associated with point
point - the CFunctionCallExpPoint calling the method
Returns:
the answer to the call

caseCDerefExpPoint

A caseCDerefExpPoint(ADerefExp node,
                     CDerefExpPoint point)
caseCDerefExpPoint is called by a CDerefExpPoint from CDerefExpPoint.apply(CFGAnswer).

Parameters:
node - the ADerefExp associated with point
point - the CDerefExpPoint calling the method
Returns:
the answer to the call

caseCDeclStmPoint

A caseCDeclStmPoint(ADeclStm node,
                    CDeclStmPoint point)
caseCDeclStmPoint is called by a CDeclStmPoint from CDeclStmPoint.apply(CFGAnswer).

Parameters:
node - the ADeclStm associated with point
point - the CDeclStmPoint calling the method
Returns:
the answer to the call

caseCInputExpPoint

A caseCInputExpPoint(AInputExp node,
                     CInputExpPoint point)
caseCInputExpPoint is called by a CInputExpPoint from CInputExpPoint.apply(CFGAnswer).

Parameters:
node - the AInputExp associated with point
point - the CInputExpPoint calling the method
Returns:
the answer to the call

caseCMallocExpPoint

A caseCMallocExpPoint(AMallocExp node,
                      CMallocExpPoint point)
caseCMallocExpPoint is called by a CMallocExpPoint from CMallocExpPoint.apply(CFGAnswer).

Parameters:
node - the AMallocExp associated with point
point - the CMallocExpPoint calling the method
Returns:
the answer to the call

caseCIfThenStmPoint

A caseCIfThenStmPoint(AIfThenStm node,
                      CIfThenStmPoint point)
caseCIfThenStmPoint is called by a CIfThenStmPoint from CIfThenStmPoint.apply(CFGAnswer).

Parameters:
node - the AIfThenStm associated with point
point - the CIfThenStmPoint calling the method
Returns:
the answer to the call

caseCIntConstExpPoint

A caseCIntConstExpPoint(AIntConstExp node,
                        CIntConstExpPoint point)
caseCIntConstExpPoint is called by a CIntConstExpPoint from CIntConstExpPoint.apply(CFGAnswer).

Parameters:
node - the AIntConstExp associated with point
point - the CIntConstExpPoint calling the method
Returns:
the answer to the call

caseCFunctionPtrCallExpPoint

A caseCFunctionPtrCallExpPoint(AFunctionPtrCallExp node,
                               CFunctionPtrCallExpPoint point)
caseCFunctionPtrCallExpPoint is called by a CFunctionPtrCallExpPoint from CFunctionPtrCallExpPoint.apply(CFGAnswer).

Parameters:
node - the AFunctionPtrCallExp associated with point
point - the CFunctionPtrCallExpPoint calling the method
Returns:
the answer to the call

caseCWhileStmPoint

A caseCWhileStmPoint(AWhileStm node,
                     CWhileStmPoint point)
caseCWhileStmPoint is called by a CWhileStmPoint from CWhileStmPoint.apply(CFGAnswer).

Parameters:
node - the AWhileStm associated with point
point - the CWhileStmPoint calling the method
Returns:
the answer to the call

caseCBinopExpPoint

A caseCBinopExpPoint(ABinopExp node,
                     CBinopExpPoint point)
caseCBinopExpPoint is called by a CBinopExpPoint from CBinopExpPoint.apply(CFGAnswer).

Parameters:
node - the ABinopExp associated with point
point - the CBinopExpPoint calling the method
Returns:
the answer to the call

caseCAssignVarStmPoint

A caseCAssignVarStmPoint(AAssignVarStm node,
                         CAssignVarStmPoint point)
caseCAssignVarStmPoint is called by a CAssignVarStmPoint from CAssignVarStmPoint.apply(CFGAnswer).

Parameters:
node - the AAssignVarStm associated with point
point - the CAssignVarStmPoint calling the method
Returns:
the answer to the call

caseCIfThenElseStmPoint

A caseCIfThenElseStmPoint(AIfThenElseStm node,
                          CIfThenElseStmPoint point)
caseCIfThenElseStmPoint is called by a CIfThenElseStmPoint from CIfThenElseStmPoint.apply(CFGAnswer).

Parameters:
node - the AIfThenElseStm associated with point
point - the CIfThenElseStmPoint calling the method
Returns:
the answer to the call

caseCOutputStmPoint

A caseCOutputStmPoint(AOutputStm node,
                      COutputStmPoint point)
caseCOutputStmPoint is called by a COutputStmPoint from COutputStmPoint.apply(CFGAnswer).

Parameters:
node - the AOutputStm associated with point
point - the COutputStmPoint calling the method
Returns:
the answer to the call

caseCPointerExpPoint

A caseCPointerExpPoint(APointerExp node,
                       CPointerExpPoint point)
caseCPointerExpPoint is called by a CPointerExpPoint from CPointerExpPoint.apply(CFGAnswer).

Parameters:
node - the APointerExp associated with point
point - the CPointerExpPoint calling the method
Returns:
the answer to the call

caseCNullExpPoint

A caseCNullExpPoint(ANullExp node,
                    CNullExpPoint point)
caseCNullExpPoint is called by a CNullExpPoint from CNullExpPoint.apply(CFGAnswer).

Parameters:
node - the ANullExp associated with point
point - the CNullExpPoint calling the method
Returns:
the answer to the call