internal BoundLocal MakeTempForDiscard(BoundDiscardedExpression node, ArrayBuilder<LocalSymbol> temps)
 {
     LocalSymbol temp;
     BoundLocal result = MakeTempForDiscard(node, out temp);
     temps.Add(temp);
     return result;
 }
        internal BoundLocal MakeTempForDiscard(BoundDiscardedExpression node, out LocalSymbol temp)
        {
            temp = new SynthesizedLocal(this.CurrentMethod, node.Type, SynthesizedLocalKind.LoweringTemp);

            return new BoundLocal(node.Syntax, temp, constantValueOpt: null, type: node.Type) { WasCompilerGenerated = true };
        }
 private BoundExpression InferTypeForDiscard(BoundDiscardedExpression op1, BoundExpression op2, DiagnosticBag diagnostics)
 {
     if (op2.Type == null)
     {
         return op1.FailInference(this, diagnostics);
     }
     else
     {
         return op1.SetInferredType(op2.Type);
     }
 }