Path: blob/aarch64-shenandoah-jdk8u272-b10/nashorn/test/script/sandbox/nashorninternals.js
32281 views
/*1* Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*/222324/**25* Test to check that nashorn "internal" classes in codegen, parser, ir26* packages cannot * be accessed from sandbox scripts.27*28* @test29* @run30* @security31*/3233function checkClass(name) {34try {35Java.type(name);36fail("should have thrown exception for: " + name);37} catch (e) {38if (! (e instanceof java.lang.SecurityException)) {39fail("Expected SecurityException, but got " + e);40}41}42}4344// Not exhaustive - but a representative list of classes45checkClass("jdk.nashorn.internal.codegen.Compiler");46checkClass("jdk.nashorn.internal.codegen.types.Type");47checkClass("jdk.nashorn.internal.ir.Node");48checkClass("jdk.nashorn.internal.ir.FunctionNode");49checkClass("jdk.nashorn.internal.ir.debug.JSONWriter");50checkClass("jdk.nashorn.internal.ir.visitor.NodeVisitor");51checkClass("jdk.nashorn.internal.lookup.MethodHandleFactory");52checkClass("jdk.nashorn.internal.objects.Global");53checkClass("jdk.nashorn.internal.parser.AbstractParser");54checkClass("jdk.nashorn.internal.parser.Parser");55checkClass("jdk.nashorn.internal.parser.JSONParser");56checkClass("jdk.nashorn.internal.parser.Lexer");57checkClass("jdk.nashorn.internal.parser.Scanner");58checkClass("jdk.nashorn.internal.runtime.Context");59checkClass("jdk.nashorn.internal.runtime.arrays.ArrayData");60checkClass("jdk.nashorn.internal.runtime.linker.Bootstrap");61checkClass("jdk.nashorn.internal.runtime.options.Option");62checkClass("jdk.nashorn.internal.runtime.regexp.RegExp");63checkClass("jdk.nashorn.internal.scripts.JO");64checkClass("jdk.nashorn.tools.Shell");65checkClass("jdk.internal.dynalink.CallSiteDescriptor");66checkClass("jdk.internal.dynalink.beans.StaticClass");67checkClass("jdk.internal.dynalink.linker.LinkRequest");68checkClass("jdk.internal.dynalink.support.AbstractRelinkableCallSite");697071