CaptureConversion

File CaptureConversion.str
Author Martin Bravenboer
Since unknown

5.1.10: Capture Conversion

First, I wanted to store the upper and lower bound of fresh type variablesin the qualifier of TypeVar. However, these bounds can refer to the typevariables themselves, which can be recursive. To workaround this, the boundsare now stored in dynamic rules. Unfortunately, the bounds are now not partof the ATerm after serialization. Maybe there should be a representationfor declaring these fresh type variables.




Statistics


General
Lines of code 108
Stratego
Module number 1 (100% documented)
Constructor number 1 (0% documented)
Overlay number 0
Strategy number 7 (42% documented)
Rule number 3 (0% documented)
DynamicRule number 2 (50% documented)



Constructor summary


OpenWildcard(ATerm , ATerm , ATerm ) n/a CaptureConversion.str

Strategy summary


apply-capture-conversion-helper(ATerm tn) n/a CaptureConversion.str
capture-conversion Applies capture conversion if necessary CaptureConversion.str
capture-declare-bounds(ATerm upper-bound, ATerm lower-bound) n/a CaptureConversion.str
capture-declare-lower-bound(ATerm lower-bound) n/a CaptureConversion.str
capture-declare-upper-bound(ATerm upper-bound) n/a CaptureConversion.str
capture-set-open-wildcard-bounds(ATerm class, ATerm capturedargs) n/a CaptureConversion.str
must-be-capture-converted n/a CaptureConversion.str

Rule summary


apply-capture-conversion n/a CaptureConversion.str
apply-capture-conversion n/a CaptureConversion.str
capture-wildcard n/a CaptureConversion.str



Strategy details


ATerm apply-capture-conversion-helper(ATerm tn)
File CaptureConversion.str
Author unknown
Since unknown
 
Parameters
ATerm tn TypeName

No information available.


type List(ActualTypeArg) -> List(ActualTypeArg)

 
ATerm capture-conversion
File CaptureConversion.str
Author unknown
Since unknown
 

Applies capture conversion if necessary.


type Type -> Type

 
ATerm capture-set-open-wildcard-bounds(ATerm class, ATerm capturedargs)
File CaptureConversion.str
Author unknown
Since unknown
 
Parameters
ATerm class Class Object
ATerm capturedargs List(ActualTypeArgument)

No information available.


type OpenWildcard -> OpenWildcard