001 /* 002 * This file is part of the Jikes RVM project (http://jikesrvm.org). 003 * 004 * This file is licensed to You under the Eclipse Public License (EPL); 005 * You may not use this file except in compliance with the License. You 006 * may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/eclipse-1.0.php 009 * 010 * See the COPYRIGHT.txt file distributed with this work for information 011 * regarding copyright ownership. 012 */ 013 package org.jikesrvm.compilers.opt.util; 014 015 /** 016 * An object that implements a bijection between whole numbers and 017 * objects. 018 */ 019 public interface BitSetMapping { 020 /** 021 * Return the object numbered n. 022 */ 023 Object getMappedObject(int n); 024 025 /** 026 * Return the number of a given object. 027 */ 028 int getMappedIndex(Object o); 029 030 /** 031 * Return the size of the domain of the bijection. 032 */ 033 int getMappingSize(); 034 }