Esempio n. 1
0
 /// <summary>
 /// Performs an augmented assignment propagating the value into the
 /// object.
 /// </summary>
 public static void AugmentAssign(this IAnalysisSet self, AugmentedAssignStatement node, AnalysisUnit unit, IAnalysisSet value)
 {
     foreach (var ns in self)
     {
         ns.AugmentAssign(node, unit, value);
     }
 }
Esempio n. 2
0
 public override void AugmentAssign(AugmentedAssignStatement node, AnalysisUnit unit, IAnalysisSet value)
 {
     foreach (var member in _members)
     {
         member.AugmentAssign(node, unit, value);
     }
 }
        public override bool Walk(AugmentedAssignStatement node)
        {
            WalkIfNotLibraryMode(node.Right);

            AddVarSymbol(node.Left as NameExpression);
            return(false);
        }
 public override void AugmentAssign(AugmentedAssignStatement node, AnalysisUnit unit, IAnalysisSet value)
 {
     foreach (var ns in Resolve(unit))
     {
         ns.AugmentAssign(node, unit, value);
     }
 }
Esempio n. 5
0
        private void HandleAugmentedAllAssign(AugmentedAssignStatement node)
        {
            if (!IsHandleableAll(node.Left))
            {
                return;
            }

            if (node.Right is ErrorExpression)
            {
                return;
            }

            if (node.Operator != Parsing.PythonOperator.Add)
            {
                _allIsUsable = false;
                return;
            }

            var rightVar = Eval.GetValueFromExpression(node.Right);
            var right    = rightVar as IPythonCollection;

            if (right == null)
            {
                _allIsUsable = false;
                return;
            }

            ExtendAll(node.Left, right);
        }
Esempio n. 6
0
 public override void AugmentAssign(AugmentedAssignStatement node, AnalysisUnit unit, IAnalysisSet value)
 {
     foreach (var p in _protocols)
     {
         p.AugmentAssign(node, unit, value);
     }
 }
Esempio n. 7
0
        public override void AugmentAssign(AugmentedAssignStatement node, AnalysisUnit unit, IAnalysisSet value)
        {
            base.AugmentAssign(node, unit, value);
            var args = GetEventInvokeArgs(ProjectState);

            foreach (var r in value)
            {
                r.Call(node, unit, args, ExpressionEvaluator.EmptyNames);
            }
        }
Esempio n. 8
0
        public override void AugmentAssign(AugmentedAssignStatement node, AnalysisUnit unit, ISet <Namespace> value)
        {
            base.AugmentAssign(node, unit, value);
            var args = GetEventInvokeArgs(ProjectState);

            foreach (var r in value)
            {
                r.Call(node, unit, args, new string[0]);
            }
        }
Esempio n. 9
0
        public override void AugmentAssign(AugmentedAssignStatement node, AnalysisUnit unit, IAnalysisSet value)
        {
            if (_original == null)
            {
                base.AugmentAssign(node, unit, value);
                return;
            }

            _original.AugmentAssign(node, unit, value);
        }
Esempio n. 10
0
        public override void AugmentAssign(AugmentedAssignStatement node, AnalysisUnit unit, ISet <Namespace> value)
        {
            base.AugmentAssign(node, unit, value);
            var args = GetEventInvokeArgs(ProjectState, _type);

            foreach (var r in value)
            {
                r.Call(node, unit, args, ArrayUtils.EmptyStrings);
            }
        }
Esempio n. 11
0
        public override bool Walk(AugmentedAssignStatement node)
        {
            var right = _eval.Evaluate(node.Right);

            foreach (var x in _eval.Evaluate(node.Left))
            {
                x.AugmentAssign(node, _unit, right);
            }
            return(false);
        }
Esempio n. 12
0
        private static PythonNode Wrap(AugmentedAssignStatement stmt, PythonNode parent)
        {
            var result = new AugmentedAssignStatementNode(stmt)
            {
                Parent = parent, Value = stmt.Operator.ToString()
            };

            result.AddChild(Wrap(stmt.Left, result));
            result.AddChild(Wrap(stmt.Right, result));
            result.Value = stmt.Operator;
            return(result);
        }
        public override bool Walk(AugmentedAssignStatement node)
        {
            _cancellationToken.ThrowIfCancellationRequested();

            if (node.Operator == Parsing.PythonOperator.Add &&
                node.Left is NameExpression nex &&
                nex.Name == AllVariableName)
            {
                AddNames(node.Right as ListExpression);
            }

            return(base.Walk(node));
        }
        /// <summary>
        /// Walks a statement of the form:
        ///
        /// self.a += self.b
        /// </summary>
        public override bool Walk(AugmentedAssignStatement node)
        {
            if (!FoundInitializeComponentMethod)
            {
                return(false);
            }

            MemberExpression             eventExpression = node.Left as MemberExpression;
            string                       eventName       = eventExpression.Name.ToString();
            PythonControlFieldExpression field           = PythonControlFieldExpression.Create(eventExpression);

            MemberExpression eventHandlerExpression = node.Right as MemberExpression;
            string           eventHandlerName       = eventHandlerExpression.Name.ToString();

            IComponent currentComponent = fieldExpression.GetObject(componentCreator) as IComponent;

            EventDescriptor    eventDescriptor    = TypeDescriptor.GetEvents(currentComponent).Find(eventName, false);
            PropertyDescriptor propertyDescriptor = componentCreator.GetEventProperty(eventDescriptor);

            propertyDescriptor.SetValue(currentComponent, eventHandlerName);
            return(false);
        }
Esempio n. 15
0
 // AugmentedAssignStatement
 public virtual bool Walk(AugmentedAssignStatement node)
 {
     return(true);
 }
Esempio n. 16
0
 // AugmentedAssignStatement
 public override bool Walk(AugmentedAssignStatement node)
 {
     return(Location >= node.StartIndex && Location <= node.EndIndex);
 }
Esempio n. 17
0
 public override void AugmentAssign(AugmentedAssignStatement node, AnalysisUnit unit, IAnalysisSet value)
 {
     _builtinInfo.AugmentAssign(node, unit, value);
 }
Esempio n. 18
0
 public virtual void AugmentAssign(AugmentedAssignStatement node, AnalysisUnit unit, ISet <Namespace> value)
 {
 }
Esempio n. 19
0
 // AugmentedAssignStatement
 public override bool Walk(AugmentedAssignStatement node) { return Location >= node.StartIndex && Location <= node.EndIndex; }
Esempio n. 20
0
 public override bool Walk(AugmentedAssignStatement node)
 {
     HandleAugmentedAllAssign(node);
     return(base.Walk(node));
 }
Esempio n. 21
0
 public override void PostWalk(AugmentedAssignStatement node)
 {
 }
 public override bool Walk(AugmentedAssignStatement node)
 {
     HandleAugmentedAllAssign(node);
     _cancellationToken.ThrowIfCancellationRequested();
     return(base.Walk(node));
 }
Esempio n. 23
0
 public virtual void AugmentAssign(AugmentedAssignStatement node, AnalysisUnit unit, IAnalysisSet value)
 {
 }
Esempio n. 24
0
 public override void PostWalk(AugmentedAssignStatement node)
 {
     node.Left.Walk(_fdef);
 }
Esempio n. 25
0
 public virtual void PostWalk(AugmentedAssignStatement node)
 {
 }
Esempio n. 26
0
 // AugmentedAssignStatement
 public override bool Walk(AugmentedAssignStatement node)
 {
     return(false);
 }
Esempio n. 27
0
 // AugmentedAssignStatement
 public virtual bool Walk(AugmentedAssignStatement node) { return true; }
Esempio n. 28
0
 // AugmentedAssignStatement
 public override bool Walk(AugmentedAssignStatement node) { return false; }
Esempio n. 29
0
 public override bool Walk(AugmentedAssignStatement node)
 {
     node.Right?.Walk(this);
     AddVarSymbol(node.Left as NameExpression);
     return(false);
 }
Esempio n. 30
0
 public virtual void PostWalk(AugmentedAssignStatement node) { }
Esempio n. 31
0
 public override bool Walk(AugmentedAssignStatement node)
 {
     DefineExpr(node.Left);
     node.Right.Walk(this);
     return(false);
 }
Esempio n. 32
0
 public override void PostWalk(AugmentedAssignStatement node) { }
Esempio n. 33
0
 public override bool Walk(AugmentedAssignStatement node)
 {
     UpdateChildRanges(node);
     return(base.Walk(node));
 }
Esempio n. 34
0
        public override bool Walk(AugmentedAssignStatement node)
        {
            UpdateLineInfo(node);

            return(base.Walk(node));
        }
Esempio n. 35
0
 public override bool Walk(AugmentedAssignStatement node)
 {
     CanComplete     = IsActualExpression(node.Right);
     CommitByDefault = true;
     return(base.Walk(node));
 }