private void checkQualifier ( XMethod xmethod , CFG cfg , TypeQualifierValue < ? > typeQualifierValue , ForwardTypeQualifierDataflowFactory forwardDataflowFactory , BackwardTypeQualifierDataflowFactory backwardDataflowFactory , ValueNumberDataflow vnaDataflow ) throws CheckedAnalysisException { if ( DEBUG ) { System . out . println ( "----------------------------------------------------------------------" ) ; System . out . println ( "Checking type qualifier " + typeQualifierValue . toString ( ) + " on method " + xmethod . toString ( ) ) ; if ( typeQualifierValue . isStrictQualifier ( ) ) { System . out . println ( " Strict type qualifier" ) ; } System . out . println ( "----------------------------------------------------------------------" ) ; } if ( DEBUG_DATAFLOW ) { System . out . println ( "********* Valuenumber analysis *********" ) ; DataflowCFGPrinter < ValueNumberFrame , ValueNumberAnalysis > p = new DataflowCFGPrinter <> ( vnaDataflow ) ; p . print ( System . out ) ; } ForwardTypeQualifierDataflow forwardDataflow = forwardDataflowFactory . getDataflow ( typeQualifierValue ) ; if ( DEBUG_DATAFLOW && ( DEBUG_DATAFLOW_MODE . startsWith ( "forward" ) || "both" . equals ( DEBUG_DATAFLOW_MODE ) ) ) { System . out . println ( "********* Forwards analysis *********" ) ; DataflowCFGPrinter < TypeQualifierValueSet , ForwardTypeQualifierDataflowAnalysis > p = new DataflowCFGPrinter <> ( forwardDataflow ) ; p . print ( System . out ) ; } BackwardTypeQualifierDataflow backwardDataflow = backwardDataflowFactory . getDataflow ( typeQualifierValue ) ; if ( DEBUG_DATAFLOW && ( DEBUG_DATAFLOW_MODE . startsWith ( "backward" ) || "both" . equals ( DEBUG_DATAFLOW_MODE ) ) ) { System . out . println ( "********* Backwards analysis *********" ) ; DataflowCFGPrinter < TypeQualifierValueSet , BackwardTypeQualifierDataflowAnalysis > p = new DataflowCFGPrinter <> ( backwardDataflow ) ; p . print ( System . out ) ; } checkDataflow ( xmethod , cfg , typeQualifierValue , vnaDataflow , forwardDataflow , backwardDataflow ) ; checkValueSources ( xmethod , cfg , typeQualifierValue , vnaDataflow , forwardDataflow , backwardDataflow ) ; }
Check a specific TypeQualifierValue on a method .