File tree Expand file tree Collapse file tree 9 files changed +28
-16
lines changed
OPAL/tac/src/main/scala/org/opalj/tac/fpcf/analyses/string Expand file tree Collapse file tree 9 files changed +28
-16
lines changed Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ import org.opalj.br.fpcf.FPCFAnalysis
1111import org .opalj .fpcf .FinalEP
1212import org .opalj .fpcf .InterimResult
1313import org .opalj .fpcf .ProperPropertyComputationResult
14+ import org .opalj .fpcf .PropertyBounds
1415import org .opalj .fpcf .SomeEPS
1516import org .opalj .tac .fpcf .properties .TACAI
1617import org .opalj .tac .fpcf .properties .string .StringFlowFunctionProperty
@@ -76,5 +77,7 @@ abstract class InterpretationHandler extends FPCFAnalysis with StringAnalysisCon
7677
7778object InterpretationHandler {
7879
80+ def uses : Set [PropertyBounds ] = PropertyBounds .ubs(TACAI )
81+
7982 def getEntity (implicit state : InterpretationState ): MethodPC = MethodPC (state.pc, state.dm)
8083}
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ package l0
88
99import org .opalj .br .analyses .SomeProject
1010import org .opalj .br .fpcf .FPCFLazyAnalysisScheduler
11+ import org .opalj .fpcf .PropertyBounds
1112import org .opalj .fpcf .PropertyStore
1213import org .opalj .tac .fpcf .analyses .string .flowanalysis .LazyMethodStringFlowAnalysis
1314import org .opalj .tac .fpcf .analyses .string .interpretation .LazyStringFlowAnalysis
@@ -27,5 +28,7 @@ object LazyL0StringFlowAnalysis extends LazyStringFlowAnalysis {
2728 LazyL0StringFlowAnalysis
2829 )
2930
31+ override final def uses : Set [PropertyBounds ] = super .uses ++ L0InterpretationHandler .uses
32+
3033 override def init (p : SomeProject , ps : PropertyStore ): InitializationData = L0InterpretationHandler (p)
3134}
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ package interpretation
99
1010import org .opalj .br .analyses .SomeProject
1111import org .opalj .fpcf .ProperPropertyComputationResult
12+ import org .opalj .fpcf .PropertyBounds
1213import org .opalj .tac .fpcf .analyses .string .interpretation .InterpretationHandler
1314import org .opalj .tac .fpcf .analyses .string .interpretation .InterpretationState
1415import org .opalj .tac .fpcf .properties .string .StringFlowFunctionProperty
@@ -50,5 +51,7 @@ class L0InterpretationHandler(implicit override val project: SomeProject) extend
5051
5152object L0InterpretationHandler {
5253
54+ def uses : Set [PropertyBounds ] = InterpretationHandler .uses
55+
5356 def apply (project : SomeProject ): L0InterpretationHandler = new L0InterpretationHandler ()(project)
5457}
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ package l1
88
99import org .opalj .br .analyses .SomeProject
1010import org .opalj .br .fpcf .FPCFLazyAnalysisScheduler
11+ import org .opalj .fpcf .PropertyBounds
1112import org .opalj .fpcf .PropertyStore
1213import org .opalj .tac .fpcf .analyses .string .flowanalysis .LazyMethodStringFlowAnalysis
1314import org .opalj .tac .fpcf .analyses .string .interpretation .LazyStringFlowAnalysis
@@ -26,5 +27,7 @@ object LazyL1StringFlowAnalysis extends LazyStringFlowAnalysis {
2627 LazyL1StringFlowAnalysis
2728 )
2829
30+ override final def uses : Set [PropertyBounds ] = super .uses ++ L1InterpretationHandler .uses
31+
2932 override def init (p : SomeProject , ps : PropertyStore ): InitializationData = L1InterpretationHandler (p)
3033}
Original file line number Diff line number Diff line change @@ -8,7 +8,10 @@ package l1
88package interpretation
99
1010import org .opalj .br .analyses .SomeProject
11+ import org .opalj .br .fpcf .properties .SystemProperties
12+ import org .opalj .br .fpcf .properties .string .StringConstancyProperty
1113import org .opalj .fpcf .ProperPropertyComputationResult
14+ import org .opalj .fpcf .PropertyBounds
1215import org .opalj .tac .fpcf .analyses .string .interpretation .InterpretationState
1316import org .opalj .tac .fpcf .analyses .string .l0 .interpretation .L0InterpretationHandler
1417import org .opalj .tac .fpcf .properties .string .StringFlowFunctionProperty
@@ -53,5 +56,8 @@ class L1InterpretationHandler(implicit override val project: SomeProject) extend
5356
5457object L1InterpretationHandler {
5558
59+ def uses : Set [PropertyBounds ] = L0InterpretationHandler .uses ++
60+ PropertyBounds .ubs(StringConstancyProperty , SystemProperties )
61+
5662 def apply (project : SomeProject ): L1InterpretationHandler = new L1InterpretationHandler ()(project)
5763}
Original file line number Diff line number Diff line change @@ -9,9 +9,6 @@ package l2
99import org .opalj .br .analyses .ProjectInformationKeys
1010import org .opalj .br .analyses .SomeProject
1111import org .opalj .br .fpcf .FPCFLazyAnalysisScheduler
12- import org .opalj .br .fpcf .properties .SystemProperties
13- import org .opalj .br .fpcf .properties .cg .Callees
14- import org .opalj .br .fpcf .properties .fieldaccess .FieldWriteAccessInformation
1512import org .opalj .fpcf .PropertyBounds
1613import org .opalj .fpcf .PropertyStore
1714import org .opalj .tac .fpcf .analyses .string .flowanalysis .LazyMethodStringFlowAnalysis
@@ -31,11 +28,7 @@ object LazyL2StringFlowAnalysis extends LazyStringFlowAnalysis {
3128 LazyL2StringFlowAnalysis
3229 )
3330
34- override final def uses : Set [PropertyBounds ] = super .uses ++ PropertyBounds .ubs(
35- Callees ,
36- FieldWriteAccessInformation ,
37- SystemProperties
38- )
31+ override final def uses : Set [PropertyBounds ] = super .uses ++ L2InterpretationHandler .uses
3932
4033 override final def init (p : SomeProject , ps : PropertyStore ): InitializationData = L2InterpretationHandler (p)
4134
Original file line number Diff line number Diff line change @@ -11,7 +11,9 @@ import org.opalj.br.analyses.ProjectInformationKeys
1111import org .opalj .br .analyses .SomeProject
1212import org .opalj .br .fpcf .ContextProviderKey
1313import org .opalj .br .fpcf .analyses .ContextProvider
14+ import org .opalj .br .fpcf .properties .cg .Callees
1415import org .opalj .fpcf .ProperPropertyComputationResult
16+ import org .opalj .fpcf .PropertyBounds
1517import org .opalj .tac .fpcf .analyses .string .interpretation .InterpretationState
1618import org .opalj .tac .fpcf .analyses .string .l1 .interpretation .L1InterpretationHandler
1719import org .opalj .tac .fpcf .properties .string .StringFlowFunctionProperty
@@ -53,5 +55,7 @@ object L2InterpretationHandler {
5355
5456 def requiredProjectInformation : ProjectInformationKeys = Seq (ContextProviderKey )
5557
58+ def uses : Set [PropertyBounds ] = L1InterpretationHandler .uses ++ PropertyBounds .ubs(Callees )
59+
5660 def apply (project : SomeProject ): L2InterpretationHandler = new L2InterpretationHandler ()(project)
5761}
Original file line number Diff line number Diff line change @@ -9,9 +9,6 @@ package l3
99import org .opalj .br .analyses .ProjectInformationKeys
1010import org .opalj .br .analyses .SomeProject
1111import org .opalj .br .fpcf .FPCFLazyAnalysisScheduler
12- import org .opalj .br .fpcf .properties .SystemProperties
13- import org .opalj .br .fpcf .properties .cg .Callees
14- import org .opalj .br .fpcf .properties .fieldaccess .FieldWriteAccessInformation
1512import org .opalj .fpcf .PropertyBounds
1613import org .opalj .fpcf .PropertyStore
1714import org .opalj .tac .fpcf .analyses .string .flowanalysis .LazyMethodStringFlowAnalysis
@@ -31,11 +28,7 @@ object LazyL3StringFlowAnalysis extends LazyStringFlowAnalysis {
3128 LazyL3StringFlowAnalysis
3229 )
3330
34- override final def uses : Set [PropertyBounds ] = super .uses ++ PropertyBounds .ubs(
35- Callees ,
36- FieldWriteAccessInformation ,
37- SystemProperties
38- )
31+ override final def uses : Set [PropertyBounds ] = super .uses ++ L3InterpretationHandler .uses
3932
4033 override final def init (p : SomeProject , ps : PropertyStore ): InitializationData = L3InterpretationHandler (p)
4134
Original file line number Diff line number Diff line change @@ -12,7 +12,9 @@ import org.opalj.br.analyses.DeclaredFieldsKey
1212import org .opalj .br .analyses .ProjectInformationKeys
1313import org .opalj .br .analyses .SomeProject
1414import org .opalj .br .fpcf .ContextProviderKey
15+ import org .opalj .br .fpcf .properties .fieldaccess .FieldWriteAccessInformation
1516import org .opalj .fpcf .ProperPropertyComputationResult
17+ import org .opalj .fpcf .PropertyBounds
1618import org .opalj .tac .fpcf .analyses .string .interpretation .InterpretationState
1719import org .opalj .tac .fpcf .analyses .string .l2 .interpretation .L2InterpretationHandler
1820import org .opalj .tac .fpcf .properties .string .StringFlowFunctionProperty
@@ -46,5 +48,7 @@ object L3InterpretationHandler {
4648
4749 def requiredProjectInformation : ProjectInformationKeys = Seq (DeclaredFieldsKey , ContextProviderKey )
4850
51+ def uses : Set [PropertyBounds ] = L2InterpretationHandler .uses ++ PropertyBounds .ubs(FieldWriteAccessInformation )
52+
4953 def apply (project : SomeProject ): L3InterpretationHandler = new L3InterpretationHandler ()(project)
5054}
You can’t perform that action at this time.
0 commit comments