Fixes to contracts

This commit is contained in:
Mark DePristo 2011-11-18 14:18:53 -05:00
parent 660d6009a2
commit a2e79fbe8a
1 changed files with 4 additions and 4 deletions

View File

@ -246,19 +246,19 @@ public class GenotypesContext implements List<Genotype> {
// //
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
@Ensures({"cacheIsInvalid = true"}) @Ensures({"cacheIsInvalid == true"})
private void invalidateCaches() { private synchronized void invalidateCaches() {
cacheIsInvalid = true; cacheIsInvalid = true;
sampleNamesInOrder = null; sampleNamesInOrder = null;
sampleNameToOffset = null; sampleNameToOffset = null;
} }
@Ensures({"cacheIsInvalid = false", @Ensures({"cacheIsInvalid == false",
"sampleNamesInOrder != null", "sampleNamesInOrder != null",
"sampleNameToOffset != null", "sampleNameToOffset != null",
"sameSamples(genotypes, sampleNamesInOrder)", "sameSamples(genotypes, sampleNamesInOrder)",
"sameSamples(genotypes, sampleNameToOffset.keySet())"}) "sameSamples(genotypes, sampleNameToOffset.keySet())"})
private void buildCache() { private synchronized void buildCache() {
if ( cacheIsInvalid ) { if ( cacheIsInvalid ) {
cacheIsInvalid = false; cacheIsInvalid = false;
sampleNamesInOrder = new ArrayList<String>(genotypes.size()); sampleNamesInOrder = new ArrayList<String>(genotypes.size());