/* 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
// ---------------------------------------------------------------------------- |