public override LatteParser.TypeContext VisitEId(LatteParser.EIdContext context) { var id = context.ID().GetText(); if (id == "self") { if (_environment.CurrentClassName == null) { Utils.StateUtils.InterruptWithMessage(context.start.Line, ErrorMessages.SelfOnlyInClassException); } return(new LatteParser.TTypeNameContext(_environment.CurrentClassName)); } if (!_environment.NameToVarDef.ContainsKey(id)) { Utils.StateUtils.InterruptWithMessage(context.start.Line, ErrorMessages.VarNotDefined(id)); } return(_environment.NameToVarDef[id].Type); }
public ID(LatteParser.EIdContext context) { Id = context.ID().GetText(); }