Esempio n. 1
0
            public override void VisitDeleteMember(BoundDeleteMember node)
            {
                var getVariable = node.Expression as BoundGetVariable;
                if (getVariable != null)
                {
                    var local = getVariable.Variable as BoundLocal;
                    if (local != null)
                    {
                        var type = SpeculatedType.Object;

                        if (node.Index.ValueType == BoundValueType.Number)
                            type = SpeculatedType.Array;

                        _scope.SpeculateType(
                            local,
                            type,
                            false
                        );
                    }
                }

                base.VisitDeleteMember(node);
            }
Esempio n. 2
0
 public virtual void VisitDeleteMember(BoundDeleteMember node)
 {
     DefaultVisit(node);
 }
Esempio n. 3
0
 private BoundValueType EmitDeleteMember(BoundDeleteMember node)
 {
     return EmitOperationCall(
         Operation.Delete,
         node.Expression,
         node.Index
     );
 }