1 /* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved. 2 * 3 * This program and the accompanying materials are made available under 4 * the terms of the Common Public License v1.0 which accompanies this distribution, 5 * and is available at http://www.eclipse.org/legal/cpl-v10.html 6 * 7 * $Id: ICoverageData.java,v 1.1.1.1 2004/05/09 16:57:31 vlad_r Exp $ 8 */ 9 package com.vladium.emma.data; 10 11 // ---------------------------------------------------------------------------- 12 /** 13 * @author Vlad Roubtsov, (C) 2003 14 */ 15 public 16 interface ICoverageData extends IMergeable 17 { 18 // public: ................................................................ 19 20 final class DataHolder 21 { DataHolder(final boolean [][] coverage, final long stamp)22 public DataHolder (final boolean [][] coverage, final long stamp) 23 { 24 m_coverage = coverage; 25 m_stamp = stamp; 26 } 27 28 public final boolean [][] m_coverage; 29 public final long m_stamp; 30 31 } // end of nested class 32 lock()33 Object lock (); 34 shallowCopy()35 ICoverageData shallowCopy (); 36 size()37 int size (); 38 39 /** 40 * can return null 41 * can return data holder with a different version stamp than cls.getStamp() 42 */ getCoverage(ClassDescriptor cls)43 DataHolder getCoverage (ClassDescriptor cls); 44 45 //void setImmutable (); // TODO: this only disables addClass(), not coverage array updates; rename addClass(boolean [][] coverage, String classVMName, long stamp)46 void addClass (boolean [][] coverage, String classVMName, long stamp); 47 48 } // end of interface 49 // ----------------------------------------------------------------------------