• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 // ----------------------------------------------------------------------------