/* * This file is part of the Jikes RVM project (http://jikesrvm.org). * * This file is licensed to You under the Eclipse Public License (EPL); * You may not use this file except in compliance with the License. You * may obtain a copy of the License at * * http://www.opensource.org/licenses/eclipse-1.0.php * * See the COPYRIGHT.txt file distributed with this work for information * regarding copyright ownership. */ package java.lang.ref; import org.jikesrvm.mm.mminterface.MemoryManager; import org.vmmagic.pragma.ReferenceFieldsVary; /** * Implementation of java.lang.ref.PhantomReference for JikesRVM. */ @ReferenceFieldsVary public class PhantomReference<T> extends Reference<T> { public PhantomReference(T referent, ReferenceQueue<T> q) { super(referent, q); MemoryManager.addPhantomReference(this,referent); } /** * Returns the object this reference refers to. Phantom references * always return <code>null</code>. * @return <code>null</code> */ @Override public T get() { return null; } }