在我的 OPAL 分析中,我以下列方式创建域值:
domain.TypedValue(org.opalj.ai.parameterToValueIndex(
caller.isStatic, caller.descriptor, index), typeApproximation.upperTypeBound)
在我的 typeApproximation 对象中,我有信息,它的类型是上限类型还是精确的运行时类型。但是,我不知道如何将此信息传递给相应的 DomainValue。
我将这些 DomainValues 传递给BaseAI.perform
方法以执行对 java 方法的抽象解释:
BaseAI.perform(classFile, caller, domain)(Some(parameters))
DomainValues 包含在参数值中。
有没有可能告诉抽象解释,我的一些参数是精确的运行时类型,而其他一些参数只是类型上限?