1.1 --- a/src/share/vm/oops/instanceKlass.hpp Thu Mar 19 09:13:24 2009 -0700 1.2 +++ b/src/share/vm/oops/instanceKlass.hpp Fri Mar 20 23:19:36 2009 -0700 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved. 1.6 + * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -308,6 +308,22 @@ 1.11 bool is_same_class_package(oop classloader2, symbolOop classname2); 1.12 static bool is_same_class_package(oop class_loader1, symbolOop class_name1, oop class_loader2, symbolOop class_name2); 1.13 1.14 + // find an enclosing class (defined where original code was, in jvm.cpp!) 1.15 + klassOop compute_enclosing_class(symbolOop& simple_name_result, TRAPS) { 1.16 + instanceKlassHandle self(THREAD, this->as_klassOop()); 1.17 + return compute_enclosing_class_impl(self, simple_name_result, THREAD); 1.18 + } 1.19 + static klassOop compute_enclosing_class_impl(instanceKlassHandle self, 1.20 + symbolOop& simple_name_result, TRAPS); 1.21 + 1.22 + // tell if two classes have the same enclosing class (at package level) 1.23 + bool is_same_package_member(klassOop class2, TRAPS) { 1.24 + instanceKlassHandle self(THREAD, this->as_klassOop()); 1.25 + return is_same_package_member_impl(self, class2, THREAD); 1.26 + } 1.27 + static bool is_same_package_member_impl(instanceKlassHandle self, 1.28 + klassOop class2, TRAPS); 1.29 + 1.30 // initialization state 1.31 bool is_loaded() const { return _init_state >= loaded; } 1.32 bool is_linked() const { return _init_state >= linked; }