The following rules need conditions, as explained in the todo’s.

It’s not impossible, but a bit tricky to implement. This will be implemented when Dryad has more complete support for member classes.

/**
* @todo This reclassification should be checked. This seems to require
* the combination of the name reclassifier with the type checker, which
* is very annoying.
* @todo Reclassify to ExprName and reuse ExprName reclassification?
*/
ReclassifyAs-ExprName-ExprName :
AmbName(ExprName(q), Id(x)) -> Field(ExprName(q), Id(x))

/**
* @todo This reclassification should be checked: DRY-244
*/
ReclassifyAs-Field-Field :
AmbName(f@Field(_), Id(y)) -> Field(f, Id(y))
// where
// <reclassify-has-field(|y)> f

/**
* @todo This reclassification should be checked: DRY-244
*/
ReclassifyAs-Field-Field :
AmbName(f@Field(_, _), Id(y)) -> Field(f, Id(y))

Submitted on 28 September 2006 at 21:56

Log in to post comments