예제 #1
0
 internal ForeachStmtPoint(ForeachStmt foreachStmt, ValuePoint enumeree, LValuePoint keyVar, LValuePoint valVar)
 {
     Foreach  = foreachStmt;
     KeyVar   = keyVar;
     ValVar   = valVar;
     Enumeree = enumeree;
 }
예제 #2
0
 internal StaticVariablePoint(StaticVarDecl staticVarDecl, LValuePoint variable, VariableName variableName, ValuePoint initializer)
 {
     StaticVarDecl = staticVarDecl;
     _variable     = variable;
     _initializer  = initializer;
     _variableName = variableName;
 }
예제 #3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="IncDecExPoint" /> class.
        /// </summary>
        /// <param name="incDecEx">Post/pre increment or decrement expression</param>
        /// <param name="incrementedValue">Program point with increment or decrement expression</param>
        internal IncDecExPoint(IncDecEx incDecEx, ValuePoint incrementedValue)
        {
            IncDecEx         = incDecEx;
            IncrementedValue = incrementedValue;
            IncrementTarget  = incrementedValue as LValuePoint;

            if (IncrementTarget == null)
            {
                throw new NotSupportedException("Given incrementedValue doesn't support incrementation");
            }
        }
예제 #4
0
        internal AssignOperationPoint(ValueAssignEx assign, LValuePoint lOperand, ValuePoint rOperand)
        {
            LOperand = lOperand;
            ROperand = rOperand;
            Assign   = assign;

            AssignTarget = lOperand as LValuePoint;
            if (AssignTarget == null)
            {
                throw new NotSupportedException("Given lOperand cannot be used ass assign target");
            }
        }
예제 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EmptyExPoint" /> class.
 /// </summary>
 /// <param name="emptyEx"><c>empty</c> construct</param>
 /// <param name="variable">Variable to be checked whether it is empty</param>
 internal EmptyExPoint(EmptyEx emptyEx, LValuePoint variable)
 {
     EmptyEx  = emptyEx;
     Variable = variable;
 }
예제 #6
0
 internal AssignPoint(ValueAssignEx assign, LValuePoint lOperand, ValuePoint rOperand)
 {
     LOperand = lOperand;
     ROperand = rOperand;
     Assign   = assign;
 }