/* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved. * * This program and the accompanying materials are made available under * the terms of the Common Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/cpl-v10.html * * $Id: ICoverageData.java,v 1.1.1.1 2004/05/09 16:57:31 vlad_r Exp $ */ package com.vladium.emma.data; // ---------------------------------------------------------------------------- /** * @author Vlad Roubtsov, (C) 2003 */ public interface ICoverageData extends IMergeable { // public: ................................................................ final class DataHolder { public DataHolder (final boolean [][] coverage, final long stamp) { m_coverage = coverage; m_stamp = stamp; } public final boolean [][] m_coverage; public final long m_stamp; } // end of nested class Object lock (); ICoverageData shallowCopy (); int size (); /** * can return null * can return data holder with a different version stamp than cls.getStamp() */ DataHolder getCoverage (ClassDescriptor cls); //void setImmutable (); // TODO: this only disables addClass(), not coverage array updates; rename void addClass (boolean [][] coverage, String classVMName, long stamp); } // end of interface // ----------------------------------------------------------------------------