#
# Copyright (c) 2021, 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 jdk/dynalink/CallSiteDescriptor
header extends jdk/dynalink/SecureLookupSupplier flags 21
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

class name jdk/dynalink/DynamicLinker
header extends java/lang/Object flags 31
innerclass innerClass java/lang/StackWalker$StackFrame outerClass java/lang/StackWalker innerClassName StackFrame flags 609
innerclass innerClass java/lang/StackWalker$Option outerClass java/lang/StackWalker innerClassName Option flags 4019
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

class name jdk/dynalink/NamedOperation
header extends java/lang/Object implements jdk/dynalink/Operation flags 31
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

class name jdk/dynalink/Namespace
header extends java/lang/Object flags 601

class name jdk/dynalink/NamespaceOperation
header extends java/lang/Object implements jdk/dynalink/Operation flags 31
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

class name jdk/dynalink/NoSuchDynamicMethodException
header extends java/lang/RuntimeException flags 21

class name jdk/dynalink/Operation
header extends java/lang/Object flags 601

class name jdk/dynalink/RelinkableCallSite
header extends java/lang/Object flags 601

class name jdk/dynalink/SecureLookupSupplier
header extends java/lang/Object flags 21
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

class name jdk/dynalink/StandardNamespace
header extends java/lang/Enum implements jdk/dynalink/Namespace flags 4031 signature Ljava/lang/Enum<Ljdk/dynalink/StandardNamespace;>;Ljdk/dynalink/Namespace;

class name jdk/dynalink/StandardOperation
header extends java/lang/Enum implements jdk/dynalink/Operation flags 4031 signature Ljava/lang/Enum<Ljdk/dynalink/StandardOperation;>;Ljdk/dynalink/Operation;

class name jdk/dynalink/beans/MissingMemberHandlerFactory
header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;

class name jdk/dynalink/linker/GuardedInvocation
header extends java/lang/Object flags 21
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

class name jdk/dynalink/linker/GuardedInvocationTransformer
header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;

class name jdk/dynalink/linker/GuardingDynamicLinker
header extends java/lang/Object flags 601

class name jdk/dynalink/linker/GuardingDynamicLinkerExporter
header extends java/lang/Object implements java/util/function/Supplier flags 421 signature Ljava/lang/Object;Ljava/util/function/Supplier<Ljava/util/List<Ljdk/dynalink/linker/GuardingDynamicLinker;>;>;

class name jdk/dynalink/linker/GuardingTypeConverterFactory
header extends java/lang/Object flags 601
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

class name jdk/dynalink/linker/LinkRequest
header extends java/lang/Object flags 601

class name jdk/dynalink/linker/LinkerServices
header extends java/lang/Object flags 601
innerclass innerClass jdk/dynalink/linker/ConversionComparator$Comparison outerClass jdk/dynalink/linker/ConversionComparator innerClassName Comparison flags 4019

class name jdk/dynalink/linker/MethodHandleTransformer
header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;

class name jdk/dynalink/linker/MethodTypeConversionStrategy
header extends java/lang/Object flags 601 runtimeAnnotations @Ljava/lang/FunctionalInterface;

class name jdk/dynalink/linker/TypeBasedGuardingDynamicLinker
header extends java/lang/Object implements jdk/dynalink/linker/GuardingDynamicLinker flags 601

class name jdk/dynalink/linker/support/CompositeGuardingDynamicLinker
header extends java/lang/Object implements jdk/dynalink/linker/GuardingDynamicLinker flags 21

class name jdk/dynalink/linker/support/DefaultInternalObjectFilter
header extends java/lang/Object implements jdk/dynalink/linker/MethodHandleTransformer flags 21
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

class name jdk/dynalink/linker/support/Guards
header extends java/lang/Object flags 31
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

class name jdk/dynalink/linker/support/Lookup
header extends java/lang/Object flags 31
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

class name jdk/dynalink/linker/support/SimpleLinkRequest
header extends java/lang/Object implements jdk/dynalink/linker/LinkRequest flags 21

class name jdk/dynalink/linker/support/TypeUtilities
header extends java/lang/Object flags 31
innerclass innerClass java/util/Map$Entry outerClass java/util/Map innerClassName Entry flags 609

class name jdk/dynalink/support/AbstractRelinkableCallSite
header extends java/lang/invoke/MutableCallSite implements jdk/dynalink/RelinkableCallSite flags 421

class name jdk/dynalink/support/ChainedCallSite
header extends jdk/dynalink/support/AbstractRelinkableCallSite flags 21
innerclass innerClass java/lang/invoke/MethodHandles$Lookup outerClass java/lang/invoke/MethodHandles innerClassName Lookup flags 19

class name jdk/dynalink/support/SimpleRelinkableCallSite
header extends jdk/dynalink/support/AbstractRelinkableCallSite flags 21

