object IsOverridableMethodKey extends ProjectInformationKey[(Method) => Answer, Nothing]
The key object to get a function that determines whether a method can be overridden by a not yet existing type. A method can be overridden if it's declaring type _dt_is extensible by an (unknown) type _ut_ (e.g., when the analysis assumes an open world) and if the method is not overridden by another subtype _s_ such that _ut <: s <: st_ and if the method can be overridden according to the JVM's semantics.
- Alphabetic
- By Inheritance
- IsOverridableMethodKey
- ProjectInformationKey
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- def compute(project: SomeProject): (Method) => Answer
Computes the information for the given project.
Computes the information for the given project.
- Definition Classes
- IsOverridableMethodKey → ProjectInformationKey
- Note
Classes that inherit from this trait are not expected to make this method public. This method is only expected to be called by an instance of a
Project
.
- def requirements(project: SomeProject): ProjectInformationKeys
The IsOverridableMethodKey has the TypeExtensibilityKey as prerequisite.
The IsOverridableMethodKey has the TypeExtensibilityKey as prerequisite.
- returns
Seq(TypeExtensibilityKey).
- Definition Classes
- IsOverridableMethodKey → ProjectInformationKey
- final val uniqueId: Int
The unique id of this key.
The unique id of this key. The key is used to enable efficient access and is automatically assigned by OPAL and will not change after that.
- Definition Classes
- ProjectInformationKey