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

            AddToMap(node, patternBinder);
            Visit(node.Assignment.Value, patternBinder);
        }
 internal BoundLocalDeconstructionDeclaration BindDeconstructionDeclarationStatement(DeconstructionDeclarationStatementSyntax node, DiagnosticBag diagnostics)
 {
     return new BoundLocalDeconstructionDeclaration(node, BindDeconstructionDeclaration(node, node.Assignment.VariableComponent, node.Assignment.Value, diagnostics));
 }
Exemple #3
0
 internal BoundLocalDeconstructionDeclaration BindDeconstructionDeclarationStatement(DeconstructionDeclarationStatementSyntax node, DiagnosticBag diagnostics)
 {
     return(new BoundLocalDeconstructionDeclaration(node, BindDeconstructionDeclaration(node, node.Assignment.VariableComponent, node.Assignment.Value, diagnostics)));
 }
Exemple #4
0
 public override void VisitDeconstructionDeclarationStatement(DeconstructionDeclarationStatementSyntax node)
 {
     Visit(node.Assignment.Value, _enclosing);
 }
Exemple #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);
        }
Exemple #6
0
 public override void VisitDeconstructionDeclarationStatement(DeconstructionDeclarationStatementSyntax node)
 {
     Visit(node.Assignment.Value, _enclosing);
 }
Exemple #7
0
 public override void VisitDeconstructionDeclarationStatement(DeconstructionDeclarationStatementSyntax node)
 {
     var patternBinder = new ExpressionVariableBinder(node, _enclosing);
     AddToMap(node, patternBinder);
     Visit(node.Assignment.Value, patternBinder);
 }
        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));
        }