public override Unit VisitAssignExpression(AssignExpressionAST assignExpression) { var assignmentGenerationHelper = GetAssignmentGenerator(assignExpression.LeftExpression); //generar la asignacion. assignmentGenerationHelper.GenerateCode(code, assignExpression.RightExpression); return(Unit.Create()); }
public override bool VisitAssignExpression(AssignExpressionAST assignExpression) { var other = _other as AssignExpressionAST; if (other == null) { return(false); } return(IsEqualNodes(other.LeftExpression, assignExpression.LeftExpression) && IsEqualNodes(other.RightExpression, assignExpression.RightExpression)); }
public override bool VisitAssignExpression(AssignExpressionAST assignExpression) { assignExpression.CurrentScope = _scope; assignExpression.ReturnType = TigerType.GetType <ErrorType>(); if (!assignExpression.LeftExpression.Accept(this) || !assignExpression.RightExpression.Accept(this)) { return(false); } if (assignExpression.RightExpression.ReturnType.CanConvertTo(assignExpression.LeftExpression.ReturnType)) { assignExpression.ReturnType = TigerType.GetType <NoType>(); return(true); } _errorListener.Add( new AnalysisError( string.Format(AnalysisError.LoadMessage("Match"), assignExpression.LeftExpression.ReturnType, assignExpression.RightExpression.ReturnType), assignExpression.Line, assignExpression.Columns)); return(false); }
public abstract T VisitAssignExpression(AssignExpressionAST assignExpression);