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; }
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); }
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)); }