Example #1
0
                public ArrayState(
                    ArraySegmentationEnvironment <NonRelationalValueAbstraction <BoxedVariable <Variable>, BoxedExpression>, BoxedVariable <Variable>, BoxedExpression> array,
                    INumericalAbstractDomain <BoxedVariable <Variable>, BoxedExpression> numerical,
                    Analyzers.NonNull.TypeBindings <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable> .Domain?nonnull,
                    IAbstractDomainForEnvironments <BoxedVariable <Variable>, BoxedExpression>[] otherStates,
                    int[] mappings)
                {
                    Contract.Requires(array != null);
                    Contract.Requires(numerical != null);
                    Contract.Requires(otherStates != null);
                    Contract.Requires(mappings != null);
                    Contract.Requires(Contract.ForAll(otherStates, x => x != null));

                    Contract.Ensures(this.arrayState == array);
                    Contract.Ensures(this.numericalState == numerical);
                    Contract.Ensures(this.nonnullState.Equals(nonnull));
                    Contract.Ensures(this.otherStates == otherStates);
                    Contract.Ensures(this.mappings == mappings);

                    this.arrayState     = array;
                    this.numericalState = numerical;
                    this.nonnullState   = nonnull;

                    this.otherStates = otherStates;
                    this.mappings    = mappings;
                }
Example #2
0
 public ArrayState(
     ArraySegmentationEnvironment <NonRelationalValueAbstraction <BoxedVariable <Variable>, BoxedExpression>, BoxedVariable <Variable>, BoxedExpression> array,
     INumericalAbstractDomain <BoxedVariable <Variable>, BoxedExpression> numerical,
     Analyzers.NonNull.TypeBindings <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable> .Domain?nonnull = null
     )
     : this(array, numerical, nonnull, new IAbstractDomainForEnvironments <BoxedVariable <Variable>, BoxedExpression> [0], new int[0])
 {
     Contract.Requires(array != null);
     Contract.Requires(numerical != null);
 }
Example #3
0
                public ArrayState UpdateNonNull(Analyzers.NonNull.TypeBindings <Local, Parameter, Method, Field, Property, Event, Type, Attribute, Assembly, Expression, Variable> .Domain newNonNull)
                {
                    Contract.Ensures(Contract.Result <ArrayState>() != null);

                    return(new ArrayState(this.arrayState, this.numericalState, newNonNull, this.otherStates, this.mappings));
                }