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); } }