#
# Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# ##########################################################
# ### THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. ###
# ##########################################################
#
class name javax/script/AbstractScriptEngine
header extends java/lang/Object implements javax/script/ScriptEngine flags 421 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
field name context descriptor Ljavax/script/ScriptContext; flags 4
method name <init> descriptor ()V flags 1
method name <init> descriptor (Ljavax/script/Bindings;)V flags 1
method name setContext descriptor (Ljavax/script/ScriptContext;)V flags 1
method name getContext descriptor ()Ljavax/script/ScriptContext; flags 1
method name getBindings descriptor (I)Ljavax/script/Bindings; flags 1
method name setBindings descriptor (Ljavax/script/Bindings;I)V flags 1
method name put descriptor (Ljava/lang/String;Ljava/lang/Object;)V flags 1
method name get descriptor (Ljava/lang/String;)Ljava/lang/Object; flags 1
method name eval descriptor (Ljava/io/Reader;Ljavax/script/Bindings;)Ljava/lang/Object; thrownTypes javax/script/ScriptException flags 1
method name eval descriptor (Ljava/lang/String;Ljavax/script/Bindings;)Ljava/lang/Object; thrownTypes javax/script/ScriptException flags 1
method name eval descriptor (Ljava/io/Reader;)Ljava/lang/Object; thrownTypes javax/script/ScriptException flags 1
method name eval descriptor (Ljava/lang/String;)Ljava/lang/Object; thrownTypes javax/script/ScriptException flags 1
method name getScriptContext descriptor (Ljavax/script/Bindings;)Ljavax/script/ScriptContext; flags 4

class name javax/script/Bindings
header extends java/lang/Object implements java/util/Map flags 601 signature Ljava/lang/Object;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>; classAnnotations @Ljdk/Profile+Annotation;(value=I1)
method name put descriptor (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; flags 401
method name putAll descriptor (Ljava/util/Map;)V flags 401 signature (Ljava/util/Map<+Ljava/lang/String;+Ljava/lang/Object;>;)V
method name containsKey descriptor (Ljava/lang/Object;)Z flags 401
method name get descriptor (Ljava/lang/Object;)Ljava/lang/Object; flags 401
method name remove descriptor (Ljava/lang/Object;)Ljava/lang/Object; flags 401
method name put descriptor (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; flags 1041

class name javax/script/Compilable
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
method name compile descriptor (Ljava/lang/String;)Ljavax/script/CompiledScript; thrownTypes javax/script/ScriptException flags 401
method name compile descriptor (Ljava/io/Reader;)Ljavax/script/CompiledScript; thrownTypes javax/script/ScriptException flags 401

class name javax/script/CompiledScript
header extends java/lang/Object flags 421 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
method name <init> descriptor ()V flags 1
method name eval descriptor (Ljavax/script/ScriptContext;)Ljava/lang/Object; thrownTypes javax/script/ScriptException flags 401
method name eval descriptor (Ljavax/script/Bindings;)Ljava/lang/Object; thrownTypes javax/script/ScriptException flags 1
method name eval descriptor ()Ljava/lang/Object; thrownTypes javax/script/ScriptException flags 1
method name getEngine descriptor ()Ljavax/script/ScriptEngine; flags 401

class name javax/script/Invocable
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
method name invokeMethod descriptor (Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object; thrownTypes javax/script/ScriptException,java/lang/NoSuchMethodException flags 481
method name invokeFunction descriptor (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object; thrownTypes javax/script/ScriptException,java/lang/NoSuchMethodException flags 481
method name getInterface descriptor (Ljava/lang/Class;)Ljava/lang/Object; flags 401 signature <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
method name getInterface descriptor (Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object; flags 401 signature <T:Ljava/lang/Object;>(Ljava/lang/Object;Ljava/lang/Class<TT;>;)TT;

class name javax/script/ScriptContext
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
field name ENGINE_SCOPE descriptor I constantValue 100 flags 19
field name GLOBAL_SCOPE descriptor I constantValue 200 flags 19
method name setBindings descriptor (Ljavax/script/Bindings;I)V flags 401
method name getBindings descriptor (I)Ljavax/script/Bindings; flags 401
method name setAttribute descriptor (Ljava/lang/String;Ljava/lang/Object;I)V flags 401
method name getAttribute descriptor (Ljava/lang/String;I)Ljava/lang/Object; flags 401
method name removeAttribute descriptor (Ljava/lang/String;I)Ljava/lang/Object; flags 401
method name getAttribute descriptor (Ljava/lang/String;)Ljava/lang/Object; flags 401
method name getAttributesScope descriptor (Ljava/lang/String;)I flags 401
method name getWriter descriptor ()Ljava/io/Writer; flags 401
method name getErrorWriter descriptor ()Ljava/io/Writer; flags 401
method name setWriter descriptor (Ljava/io/Writer;)V flags 401
method name setErrorWriter descriptor (Ljava/io/Writer;)V flags 401
method name getReader descriptor ()Ljava/io/Reader; flags 401
method name setReader descriptor (Ljava/io/Reader;)V flags 401
method name getScopes descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List<Ljava/lang/Integer;>;

class name javax/script/ScriptEngine
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
field name ARGV descriptor Ljava/lang/String; constantValue javax.script.argv flags 19
field name FILENAME descriptor Ljava/lang/String; constantValue javax.script.filename flags 19
field name ENGINE descriptor Ljava/lang/String; constantValue javax.script.engine flags 19
field name ENGINE_VERSION descriptor Ljava/lang/String; constantValue javax.script.engine_version flags 19
field name NAME descriptor Ljava/lang/String; constantValue javax.script.name flags 19
field name LANGUAGE descriptor Ljava/lang/String; constantValue javax.script.language flags 19
field name LANGUAGE_VERSION descriptor Ljava/lang/String; constantValue javax.script.language_version flags 19
method name eval descriptor (Ljava/lang/String;Ljavax/script/ScriptContext;)Ljava/lang/Object; thrownTypes javax/script/ScriptException flags 401
method name eval descriptor (Ljava/io/Reader;Ljavax/script/ScriptContext;)Ljava/lang/Object; thrownTypes javax/script/ScriptException flags 401
method name eval descriptor (Ljava/lang/String;)Ljava/lang/Object; thrownTypes javax/script/ScriptException flags 401
method name eval descriptor (Ljava/io/Reader;)Ljava/lang/Object; thrownTypes javax/script/ScriptException flags 401
method name eval descriptor (Ljava/lang/String;Ljavax/script/Bindings;)Ljava/lang/Object; thrownTypes javax/script/ScriptException flags 401
method name eval descriptor (Ljava/io/Reader;Ljavax/script/Bindings;)Ljava/lang/Object; thrownTypes javax/script/ScriptException flags 401
method name put descriptor (Ljava/lang/String;Ljava/lang/Object;)V flags 401
method name get descriptor (Ljava/lang/String;)Ljava/lang/Object; flags 401
method name getBindings descriptor (I)Ljavax/script/Bindings; flags 401
method name setBindings descriptor (Ljavax/script/Bindings;I)V flags 401
method name createBindings descriptor ()Ljavax/script/Bindings; flags 401
method name getContext descriptor ()Ljavax/script/ScriptContext; flags 401
method name setContext descriptor (Ljavax/script/ScriptContext;)V flags 401
method name getFactory descriptor ()Ljavax/script/ScriptEngineFactory; flags 401

class name javax/script/ScriptEngineFactory
header extends java/lang/Object flags 601 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
method name getEngineName descriptor ()Ljava/lang/String; flags 401
method name getEngineVersion descriptor ()Ljava/lang/String; flags 401
method name getExtensions descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List<Ljava/lang/String;>;
method name getMimeTypes descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List<Ljava/lang/String;>;
method name getNames descriptor ()Ljava/util/List; flags 401 signature ()Ljava/util/List<Ljava/lang/String;>;
method name getLanguageName descriptor ()Ljava/lang/String; flags 401
method name getLanguageVersion descriptor ()Ljava/lang/String; flags 401
method name getParameter descriptor (Ljava/lang/String;)Ljava/lang/Object; flags 401
method name getMethodCallSyntax descriptor (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String; flags 481
method name getOutputStatement descriptor (Ljava/lang/String;)Ljava/lang/String; flags 401
method name getProgram descriptor ([Ljava/lang/String;)Ljava/lang/String; flags 481
method name getScriptEngine descriptor ()Ljavax/script/ScriptEngine; flags 401

class name javax/script/ScriptEngineManager
header extends java/lang/Object flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
method name <init> descriptor ()V flags 1
method name <init> descriptor (Ljava/lang/ClassLoader;)V flags 1
method name setBindings descriptor (Ljavax/script/Bindings;)V flags 1
method name getBindings descriptor ()Ljavax/script/Bindings; flags 1
method name put descriptor (Ljava/lang/String;Ljava/lang/Object;)V flags 1
method name get descriptor (Ljava/lang/String;)Ljava/lang/Object; flags 1
method name getEngineByName descriptor (Ljava/lang/String;)Ljavax/script/ScriptEngine; flags 1
method name getEngineByExtension descriptor (Ljava/lang/String;)Ljavax/script/ScriptEngine; flags 1
method name getEngineByMimeType descriptor (Ljava/lang/String;)Ljavax/script/ScriptEngine; flags 1
method name getEngineFactories descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljavax/script/ScriptEngineFactory;>;
method name registerEngineName descriptor (Ljava/lang/String;Ljavax/script/ScriptEngineFactory;)V flags 1
method name registerEngineMimeType descriptor (Ljava/lang/String;Ljavax/script/ScriptEngineFactory;)V flags 1
method name registerEngineExtension descriptor (Ljava/lang/String;Ljavax/script/ScriptEngineFactory;)V flags 1

class name javax/script/ScriptException
header extends java/lang/Exception flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
method name <init> descriptor (Ljava/lang/String;)V flags 1
method name <init> descriptor (Ljava/lang/Exception;)V flags 1
method name <init> descriptor (Ljava/lang/String;Ljava/lang/String;I)V flags 1
method name <init> descriptor (Ljava/lang/String;Ljava/lang/String;II)V flags 1
method name getMessage descriptor ()Ljava/lang/String; flags 1
method name getLineNumber descriptor ()I flags 1
method name getColumnNumber descriptor ()I flags 1
method name getFileName descriptor ()Ljava/lang/String; flags 1

class name javax/script/SimpleBindings
header extends java/lang/Object implements javax/script/Bindings flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609
method name <init> descriptor (Ljava/util/Map;)V flags 1 signature (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
method name <init> descriptor ()V flags 1
method name put descriptor (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; flags 1
method name putAll descriptor (Ljava/util/Map;)V flags 1 signature (Ljava/util/Map<+Ljava/lang/String;+Ljava/lang/Object;>;)V
method name clear descriptor ()V flags 1
method name containsKey descriptor (Ljava/lang/Object;)Z flags 1
method name containsValue descriptor (Ljava/lang/Object;)Z flags 1
method name entrySet descriptor ()Ljava/util/Set; flags 1 signature ()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;>;
method name get descriptor (Ljava/lang/Object;)Ljava/lang/Object; flags 1
method name isEmpty descriptor ()Z flags 1
method name keySet descriptor ()Ljava/util/Set; flags 1 signature ()Ljava/util/Set<Ljava/lang/String;>;
method name remove descriptor (Ljava/lang/Object;)Ljava/lang/Object; flags 1
method name size descriptor ()I flags 1
method name values descriptor ()Ljava/util/Collection; flags 1 signature ()Ljava/util/Collection<Ljava/lang/Object;>;
method name put descriptor (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; flags 1041

class name javax/script/SimpleScriptContext
header extends java/lang/Object implements javax/script/ScriptContext flags 21 classAnnotations @Ljdk/Profile+Annotation;(value=I1)
field name writer descriptor Ljava/io/Writer; flags 4
field name errorWriter descriptor Ljava/io/Writer; flags 4
field name reader descriptor Ljava/io/Reader; flags 4
field name engineScope descriptor Ljavax/script/Bindings; flags 4
field name globalScope descriptor Ljavax/script/Bindings; flags 4
method name <init> descriptor ()V flags 1
method name setBindings descriptor (Ljavax/script/Bindings;I)V flags 1
method name getAttribute descriptor (Ljava/lang/String;)Ljava/lang/Object; flags 1
method name getAttribute descriptor (Ljava/lang/String;I)Ljava/lang/Object; flags 1
method name removeAttribute descriptor (Ljava/lang/String;I)Ljava/lang/Object; flags 1
method name setAttribute descriptor (Ljava/lang/String;Ljava/lang/Object;I)V flags 1
method name getWriter descriptor ()Ljava/io/Writer; flags 1
method name getReader descriptor ()Ljava/io/Reader; flags 1
method name setReader descriptor (Ljava/io/Reader;)V flags 1
method name setWriter descriptor (Ljava/io/Writer;)V flags 1
method name getErrorWriter descriptor ()Ljava/io/Writer; flags 1
method name setErrorWriter descriptor (Ljava/io/Writer;)V flags 1
method name getAttributesScope descriptor (Ljava/lang/String;)I flags 1
method name getBindings descriptor (I)Ljavax/script/Bindings; flags 1
method name getScopes descriptor ()Ljava/util/List; flags 1 signature ()Ljava/util/List<Ljava/lang/Integer;>;

