/test/functional/Jsr292/bootstrap_src_80/com/ibm/j9/jsr292/bootstrap/CallerSensitiveClass.java

https://github.com/eclipse/openj9 · Java · 32 lines · 10 code · 1 blank · 21 comment · 2 complexity · c734ed44dba4ce283e72eb8660170789 MD5 · raw file

  1. /*******************************************************************************
  2. * Copyright (c) 2014, 2018 IBM Corp. and others
  3. *
  4. * This program and the accompanying materials are made available under
  5. * the terms of the Eclipse Public License 2.0 which accompanies this
  6. * distribution and is available at https://www.eclipse.org/legal/epl-2.0/
  7. * or the Apache License, Version 2.0 which accompanies this distribution and
  8. * is available at https://www.apache.org/licenses/LICENSE-2.0.
  9. *
  10. * This Source Code may also be made available under the following
  11. * Secondary Licenses when the conditions for such availability set
  12. * forth in the Eclipse Public License, v. 2.0 are satisfied: GNU
  13. * General Public License, version 2 with the GNU Classpath
  14. * Exception [1] and GNU General Public License, version 2 with the
  15. * OpenJDK Assembly Exception [2].
  16. *
  17. * [1] https://www.gnu.org/software/classpath/license.html
  18. * [2] http://openjdk.java.net/legal/assembly-exception.html
  19. *
  20. * SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception
  21. *******************************************************************************/
  22. package com.ibm.j9.jsr292.bootstrap;
  23. public class CallerSensitiveClass extends SecurityManager {
  24. @sun.reflect.CallerSensitive
  25. public void callerSensitiveMethod() {
  26. Class<?> c = sun.reflect.Reflection.getCallerClass();
  27. if (c.getClassLoader() != null) {
  28. throw new SecurityException();
  29. }
  30. }
  31. }