Skip to main content

module analysis::typepal::AType

rascal-0.43.0
org.rascalmpl.typepal-0.17.2

Usage​

import analysis::typepal::AType;

Dependencies​

import List;
extend analysis::typepal::GetLoc;
extend analysis::typepal::TModel;

data AType​

data AType  
= tvar(loc tname)
| lazyLub(list[AType] atypes)
| atypeList(list[AType] atypes)
| overloadedAType(rel[loc, IdRole, AType] overloads)
;

function isOverloadedAType​

bool isOverloadedAType(overloadedAType(rel[loc, IdRole, AType] overloads))

default bool isOverloadedAType(AType _)

function lazyLub​

AType lazyLub([*AType atypes1, lazyLub([*AType atypes2]), *AType atypes3])

AType lazyLub([*AType atypes1, AType atypea, *AType atypes2, AType atypeb, *AType atypes3])

AType lazyLub([AType atype])

function flatten​

rel[loc, IdRole, AType] flatten(rel[loc, IdRole, AType] overloads)

function containsNestedOverloading​

bool containsNestedOverloading(rel[loc, IdRole, AType] overloads)

function overloadedAType​

AType overloadedAType(rel[loc, IdRole, AType] overloads)

function prettyAType​

str prettyAType(tvar(loc tname))

str prettyAType(lazyLub(list[AType] atypes))

str prettyAType(atypeList(list[AType] atypes))

default str prettyAType(overloadedAType(rel[loc, IdRole, AType] overloads))

default str prettyAType(AType tp)

function itemizeLocs​

str itemizeLocs(set[loc] locs)