public string VisitPrefixOperation(PrefixOperation prefixOperation) { var @operator = GeneratePrefixOperator(prefixOperation.Operator.Node); var operand = GenerateExpression(prefixOperation.Operand); return($"{@operator}{operand}"); }
public bool VisitPrefixOperation(PrefixOperation prefixOperation) { if (!IsExpressionValid(prefixOperation.Operand)) { return(false); } var operandType = Typer.GetExpressionType( _context, _environment, prefixOperation.Operand); if (operandType == null || operandType.GetPrefixOperationResultType(prefixOperation.Operator.Node) != null) { return(true); } _context.Error( prefixOperation.Span, "cannot apply unary operator " + $"{prefixOperation.Operator.Node.GetDescription()} to type \"{operandType}\""); return(false); }
public IType VisitPrefixOperation(PrefixOperation prefixOperation) => GetExpressionType(prefixOperation.Operand) .GetPrefixOperationResultType(prefixOperation.Operator.Node);