| java.lang.Object | |
| ↳ | com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.EPrototypeHandler |
Standard implementation used to handle wildcard prototypes. This class may be sub-classed and offered by converters.
| Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| protected IERoutineContext | ctx | ||||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| EPrototypeHandler(IERoutineContext ctx) | |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| boolean |
applyKnownPrototype(boolean createCopies)
This implementation may need data chains, will calculate them if so, and invalidate them upon
return if the prototype application rendered them stale.
| ||||||||||
| boolean |
refinePrototype()
Use a final CFG state to refine the method wildcard prototype.
| ||||||||||
| boolean |
retrieveFromPrototype(List<IEGeneric> params, List<IWildcardType> rettypes)
Collect parameter EVars and return type(s).
| ||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEPrototypeHandler
| |||||||||||
This implementation may need data chains, will calculate them if so, and invalidate them upon return if the prototype application rendered them stale.
Use a final CFG state to refine the method wildcard prototype. The current
IERoutineContext's wildcard prototype is updated.
Example: after analysis, a routine prototype may have been determined to be ?(?,?) (= 1 return, 2 params). The actual types have yet to be determined. The CFG instructions (after typing) may carry such information. It is especially important for return types.
Collect parameter EVars and return type(s). A prototype must exist.
| params | output array to collect parameters info |
|---|---|
| rettypes | output array to collect the return types |