src/share/vm/runtime/reflection.hpp

changeset 1100
c89f86385056
parent 435
a61af66fc99e
child 1907
c18cbe5936b8
     1.1 --- a/src/share/vm/runtime/reflection.hpp	Thu Mar 19 09:13:24 2009 -0700
     1.2 +++ b/src/share/vm/runtime/reflection.hpp	Fri Mar 20 23:19:36 2009 -0700
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright 1997-2006 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 @@ -87,12 +87,18 @@
    1.11                                        bool classloader_only,
    1.12                                        bool protected_restriction = false);
    1.13    static bool     is_same_class_package(klassOop class1, klassOop class2);
    1.14 +  static bool     is_same_package_member(klassOop class1, klassOop class2, TRAPS);
    1.15  
    1.16    static bool can_relax_access_check_for(
    1.17      klassOop accessor, klassOop accesee, bool classloader_only);
    1.18  
    1.19    // inner class reflection
    1.20 -  static void check_for_inner_class(instanceKlassHandle outer, instanceKlassHandle inner, TRAPS);
    1.21 +  // raise an ICCE unless the required relationship can be proven to hold
    1.22 +  // If inner_is_member, require the inner to be a member of the outer.
    1.23 +  // If !inner_is_member, require the inner to be anonymous (a non-member).
    1.24 +  // Caller is responsible for figuring out in advance which case must be true.
    1.25 +  static void check_for_inner_class(instanceKlassHandle outer, instanceKlassHandle inner,
    1.26 +                                    bool inner_is_member, TRAPS);
    1.27  
    1.28    //
    1.29    // Support for reflection based on dynamic bytecode generation (JDK 1.4)

mercurial