我正在使用 OPAL 框架编写静态分析。
因此,我调用了一个方法的抽象解释,其中我将传递参数的类型上限作为 FieldTypes。
它看起来像这样:
BaseAI.perform(classFile, caller, domain)(parameters)
其中参数是 IndexedSeq[FieldType]。
这会导致以下类型错误:
类型不匹配; 找到:scala.collection.immutable.IndexedSeq[org.opalj.br.FieldType] 需要:Option[scala.collection.IndexedSeq[domain.DomainValue]](扩展为)Option[scala.collection.IndexedSeq[domain.Value] ]
是否有可能将我的 FieldTypes 转换为 DomainValues?
我可以用吗
domain.ClassValue(origin, identifiedFieldType)
转换它,即使类型是例如 int?(因为 int 不是一个类)
如果是,是否有一种方法可以计算方法参数的原始索引?