public static MyError IncDecNonRefError(AstNode node, IncDecOperator op) { MyError error = new MyError(node.Span.Location.Line, node.Span.Location.Column, node.NodePath.StringValue, "No se puede hacer la operacion:" + op.ToStringSymbol() + " a un tipo no referencia", MyError.ErrorType.Semantic, MyError.ErrorLevel.Fatal); AddError(error); return(error); }
public static string ToStringSymbol(this IncDecOperator op) { switch (op) { case IncDecOperator.MinusMinus: return("--"); case IncDecOperator.PlusPlus: return("++"); default: throw new Exception("Operador: " + op.ToString() + " no se puede pasar a symbolString"); } }
public static MyError IncDecError(AstNode node, IncDecOperator op, Word word) { string type; if (word.IsError()) { type = word.GetType().Name; } else { type = TypeConstants.GetMyTypeName(((PyObj)word).GetMyType()); } MyError error = new MyError(node.Span.Location.Line, node.Span.Location.Column, node.NodePath.StringValue, "No se puede hacer " + op.ToStringSymbol() + " con un tipo: " + type, MyError.ErrorType.Semantic, MyError.ErrorLevel.Fatal); AddError(error); return(error); }
public override string DotLabel() { return(Graphviz.DotUtilities.BuildDotLabel(this.GetType().Name, IncDecOperator.ToStringSymbol())); }