Next: Expression names
Up: Disambiguating names
Previous: Disambiguating names
RULE: TypeName ::= Name $pTypeName COMPUTE
pTypeName.GENTREE=TP_tpTypeName(Name.tp);
END;
RULE: Expression ::= Name $pTypeName '.' 'class' COMPUTE
pTypeName.GENTREE=TP_tpTypeName(Name.tp);
END;
RULE: Expression ::= Name $pTypeName '.' 'super'
'.' MethodIdUse '(' Arguments ')'
COMPUTE
pTypeName.GENTREE=TP_tpTypeName(Name.tp);
END;
RULE: Expression ::= Name $pTypeName '.' 'super'
'.' FieldIdUse
COMPUTE
pTypeName.GENTREE=TP_tpTypeName(Name.tp);
END;
RULE: Expression ::= Name $pTypeName '.' 'this' COMPUTE
pTypeName.GENTREE=TP_tpTypeName(Name.tp);
END;
RULE: Expression ::= '(' Expression $pTypeName ')' Expression COMPUTE
pTypeName.GENTREE=TP_tpTypeName(Expression[2].tp);
Expression[2].IsCastType=1;
END;
RULE stypnm: pTypeName ::= sTypeIdUse END;
RULE qtypnm: pTypeName ::= pPkgOrTypName qTypeIdUse END;
RULE spotnm: pPkgOrTypName ::= sTypeIdUse END;
RULE qpotnm: pPkgOrTypName ::= pPkgOrTypName qTypeIdUse END;
RULE stypid: sTypeIdUse ::= Identifier END;
RULE qtypid: qTypeIdUse ::= Identifier END;
This macro is defined in definitions 4 and 7.
This macro is invoked in definition 3.
tpTypeName ::= tpId(int): mkstypnm;
tpTypeName ::= tpDot(tpPkgOrTypName,int): mkqtypnm;
tpPkgOrTypName ::= tpId(int): mkspotnm;
tpPkgOrTypName ::= tpDot(tpPkgOrTypName,int): mkqpotnm;
This macro is defined in definitions 5, 9, 12, 15, and 19.
This macro is invoked in definition 18.
#define mkstypnm(x)\
Mkstypnm(NoPosition,Mkstypid(NoPosition,x))
#define mkqtypnm(x,y)\
Mkqtypnm(NoPosition,x,Mkqtypid(NoPosition,y))
#define mkspotnm(x)\
Mkspotnm(NoPosition,Mkstypid(NoPosition,x))
#define mkqpotnm(x,y)\
Mkqpotnm(NoPosition,x,Mkqtypid(NoPosition,y))
This macro is defined in definitions 6, 10, 13, and 16.
This macro is invoked in definition 21.
RULE: ArrayType ::= Name $pTypeName '[' ']' COMPUTE
pTypeName.GENTREE=TP_tpTypeName(Name.tp);
END;
This macro is defined in definitions 4 and 7.
This macro is invoked in definition 3.
Next: Expression names
Up: Disambiguating names
Previous: Disambiguating names
2008-09-11