Example #1
0
        public override void VisitDeconstructionDeclarationStatement(DeconstructionDeclarationStatementSyntax node)
        {
            var patternBinder = new PatternVariableBinder(node, _enclosing);

            AddToMap(node, patternBinder);
            Visit(node.Assignment.Value, patternBinder);
        }
Example #2
0
 internal BoundLocalDeconstructionDeclaration BindDeconstructionDeclarationStatement(DeconstructionDeclarationStatementSyntax node, DiagnosticBag diagnostics)
 {
     return new BoundLocalDeconstructionDeclaration(node, BindDeconstructionDeclaration(node, node.Assignment.VariableComponent, node.Assignment.Value, diagnostics));
 }
Example #3
0
 internal BoundLocalDeconstructionDeclaration BindDeconstructionDeclarationStatement(DeconstructionDeclarationStatementSyntax node, DiagnosticBag diagnostics)
 {
     return(new BoundLocalDeconstructionDeclaration(node, BindDeconstructionDeclaration(node, node.Assignment.VariableComponent, node.Assignment.Value, diagnostics)));
 }
Example #4
0
 public override void VisitDeconstructionDeclarationStatement(DeconstructionDeclarationStatementSyntax node)
 {
     Visit(node.Assignment.Value, _enclosing);
 }
Example #5
0
        internal BoundLocalDeconstructionDeclaration BindDeconstructionDeclarationStatement(DeconstructionDeclarationStatementSyntax node, DiagnosticBag diagnostics)
        {
            bool modifierErrors;

            // No modifiers are allowed in deconstruction declarations
            ModifierUtils.MakeAndCheckNontypeMemberModifiers(
                modifiers: node.Modifiers,
                defaultAccess: DeclarationModifiers.None,
                allowedModifiers: DeclarationModifiers.None,
                errorLocation: node.Assignment.VariableComponent.Location,
                diagnostics: diagnostics,
                modifierErrors: out modifierErrors);

            var assignment = BindDeconstructionDeclaration(node, node.Assignment.VariableComponent, node.Assignment.Value, diagnostics);
            return new BoundLocalDeconstructionDeclaration(node, assignment, hasErrors: modifierErrors);
        }
Example #6
0
 public override void VisitDeconstructionDeclarationStatement(DeconstructionDeclarationStatementSyntax node)
 {
     Visit(node.Assignment.Value, _enclosing);
 }
Example #7
0
 public override void VisitDeconstructionDeclarationStatement(DeconstructionDeclarationStatementSyntax node)
 {
     var patternBinder = new ExpressionVariableBinder(node, _enclosing);
     AddToMap(node, patternBinder);
     Visit(node.Assignment.Value, patternBinder);
 }
Example #8
0
        internal BoundLocalDeconstructionDeclaration BindDeconstructionDeclarationStatement(DeconstructionDeclarationStatementSyntax node, DiagnosticBag diagnostics)
        {
            bool modifierErrors;

            // No modifiers are allowed in deconstruction declarations
            ModifierUtils.MakeAndCheckNontypeMemberModifiers(
                modifiers: node.Modifiers,
                defaultAccess: DeclarationModifiers.None,
                allowedModifiers: DeclarationModifiers.None,
                errorLocation: node.Assignment.VariableComponent.Location,
                diagnostics: diagnostics,
                modifierErrors: out modifierErrors);

            var assignment = BindDeconstructionDeclaration(node, node.Assignment.VariableComponent, node.Assignment.Value, diagnostics);

            return(new BoundLocalDeconstructionDeclaration(node, assignment, hasErrors: modifierErrors));
        }