public BasicBlock( int id, IPreCondition[] preConditions, ISymbolTable postConditionSymbolTable, int[] successorKeys, BlockAssignment[] blockAssignments) { _preConditions = ArgumentUtility.CheckNotNull ("preConditions", preConditions); _postConditionSymbolTable = ArgumentUtility.CheckNotNull ("postConditionSymbolTable", postConditionSymbolTable); _successorKeys = ArgumentUtility.CheckNotNull ("successorKeys", successorKeys); _id = id; _blockAssignments = blockAssignments; }
private void CheckPreConditions(IPreCondition[] preconditions, ISymbolTable context) { foreach (IPreCondition preCondition in preconditions) { if(preCondition.IsViolated(context)) { preCondition.HandleViolation (context, _problemPipe); } } }