META-INF/
META-INF/MANIFEST.MF
org/
org/jetbrains/
org/jetbrains/kotlin/
org/jetbrains/kotlin/preloading/
org/jetbrains/kotlin/preloading/ResourceData.class
ResourceData.java
package org.jetbrains.kotlin.preloading
public final org.jetbrains.kotlin.preloading.ResourceData extends java.lang.Object {
public final java.io.File jarFile
public final String resourceName
public final byte[] bytes
public void <init> (java.io.File, java.lang.String, byte[])
java.io.File jarFile
String resourceName
byte[] bytes
public java.net.URL getURL ()
String path
java.net.MalformedURLException e
}
org/jetbrains/kotlin/preloading/ProfilingInstrumenterExample$TotalTime.class
ProfilingInstrumenterExample.java
package org.jetbrains.kotlin.preloading
public org.jetbrains.kotlin.preloading.ProfilingInstrumenterExample$TotalTime extends java.lang.Object {
private long time
private long start
private boolean started
public void <init> ()
public void enter ()
public void exit ()
public void dump (java.io.PrintStream)
java.io.PrintStream out
}
org/jetbrains/kotlin/preloading/Preloader.class
Preloader.java
package org.jetbrains.kotlin.preloading
public org.jetbrains.kotlin.preloading.Preloader extends java.lang.Object {
public static final int DEFAULT_CLASS_NUMBER_ESTIMATE
public void <init> ()
public static void main (java.lang.String[]) throws java.lang.Exception
org.jetbrains.kotlin.preloading.Preloader$PreloaderException e
String[] args
String javaVersion
private static void run (java.lang.String[]) throws java.lang.Exception
String[] args
long startTime
org.jetbrains.kotlin.preloading.Preloader$Options options
ClassLoader classLoader
org.jetbrains.kotlin.preloading.Preloader$Handler handler
ClassLoader preloaded
Class mainClass
java.lang.reflect.Method mainMethod
private static java.lang.ClassLoader createClassLoader (org.jetbrains.kotlin.preloading.Preloader$Options) throws java.net.MalformedURLException
java.io.File toolsJar
int i
org.jetbrains.kotlin.preloading.Preloader$Options options
ClassLoader parent
java.util.List instrumenters
java.net.URL[] classpath
private static java.io.File getJdkToolsJar ()
String javaHomePath
java.io.File javaHome
java.io.File toolsJar
private static org.jetbrains.kotlin.preloading.Preloader$Options parseOptions (java.lang.String[]) throws java.lang.Exception
String arg
boolean end
int i
String[] args
java.util.List classpath
boolean measure
java.util.List instrumenters
int estimate
String mainClass
java.util.List arguments
private static java.util.List parseClassPath (java.lang.String)
java.io.File file
String path
String classpath
String[] paths
java.util.List files
private static org.jetbrains.kotlin.preloading.Preloader$Handler getHandler (org.jetbrains.kotlin.preloading.Preloader$Options, java.lang.ClassLoader)
org.jetbrains.kotlin.preloading.Preloader$Options options
ClassLoader withInstrumenter
org.jetbrains.kotlin.preloading.instrumentation.Instrumenter instrumenter
int[] counter
int[] size
private static org.jetbrains.kotlin.preloading.instrumentation.Instrumenter loadInstrumenter (java.lang.ClassLoader)
org.jetbrains.kotlin.preloading.instrumentation.Instrumenter instrumenter
ClassLoader withInstrumenter
java.util.ServiceLoader loader
java.util.Iterator instrumenters
private static void printUsage (java.io.PrintStream)
java.io.PrintStream out
}
org/jetbrains/kotlin/preloading/ProfilingInstrumenterExample$InvocationCount.class
ProfilingInstrumenterExample.java
package org.jetbrains.kotlin.preloading
public org.jetbrains.kotlin.preloading.ProfilingInstrumenterExample$InvocationCount extends java.lang.Object {
private int count
public void <init> ()
public void enter ()
public void dump (java.io.PrintStream)
java.io.PrintStream out
}
org/jetbrains/kotlin/preloading/Preloader$PreloaderException.class
Preloader.java
package org.jetbrains.kotlin.preloading
public org.jetbrains.kotlin.preloading.Preloader$PreloaderException extends java.lang.RuntimeException {
public void <init> (java.lang.String)
String message
public void <init> (java.lang.String, java.lang.Throwable)
String message
Throwable cause
}
org/jetbrains/kotlin/preloading/ProfilingInstrumenterExample$CollectFirstArguments.class
ProfilingInstrumenterExample.java
package org.jetbrains.kotlin.preloading
public org.jetbrains.kotlin.preloading.ProfilingInstrumenterExample$CollectFirstArguments extends java.lang.Object {
private final java.util.List arguments
public void <init> ()
public void enter (java.lang.Object)
Object arg
public void dump (java.io.PrintStream)
java.io.PrintStream out
}
org/jetbrains/kotlin/preloading/ClassPreloadingUtils.class
ClassPreloadingUtils.java
package org.jetbrains.kotlin.preloading
public org.jetbrains.kotlin.preloading.ClassPreloadingUtils extends java.lang.Object {
static final synthetic boolean $assertionsDisabled
public void <init> ()
public static java.lang.ClassLoader preloadClasses (java.util.Collection, int, java.lang.ClassLoader, org.jetbrains.kotlin.preloading.ClassCondition, org.jetbrains.kotlin.preloading.ClassHandler) throws java.io.IOException
java.util.Collection jarFiles
int classCountEstimation
ClassLoader parentClassLoader
org.jetbrains.kotlin.preloading.ClassCondition classesToLoadByParent
org.jetbrains.kotlin.preloading.ClassHandler handler
java.util.Map entries
java.util.Collection classpath
private static java.net.URLClassLoader createFallbackClassLoader (java.util.Collection) throws java.io.IOException
java.io.File file
java.util.Collection files
java.util.List urls
public static java.lang.ClassLoader preloadClasses (java.util.Collection, int, java.lang.ClassLoader, org.jetbrains.kotlin.preloading.ClassCondition) throws java.io.IOException
java.util.Collection jarFiles
int classCountEstimation
ClassLoader parentClassLoader
org.jetbrains.kotlin.preloading.ClassCondition classesToLoadByParent
private static java.util.Collection mergeClasspathFromManifests (java.util.Map) throws java.io.IOException
org.jetbrains.kotlin.preloading.ResourceData data
java.util.List result
java.util.Map preloadedResources
Object manifest
private static java.util.Collection extractManifestClasspath (org.jetbrains.kotlin.preloading.ResourceData) throws java.io.IOException
String jar
org.jetbrains.kotlin.preloading.ResourceData manifestData
java.util.jar.Manifest manifest
String classpathSpaceSeparated
java.util.Collection classpath
private static java.util.Map loadAllClassesFromJars (java.util.Collection, int, org.jetbrains.kotlin.preloading.ClassHandler) throws java.io.IOException
java.util.List list
java.util.zip.ZipEntry entry
int size
int effectiveSize
java.io.ByteArrayOutputStream bytes
int count
String name
byte[] data
org.jetbrains.kotlin.preloading.ResourceData resourceData
Object previous
byte[] buffer
java.util.zip.ZipInputStream stream
java.io.FileInputStream fileInputStream
java.io.File jarFile
Object value
java.util.Collection jarFiles
int classNumberEstimate
org.jetbrains.kotlin.preloading.ClassHandler handler
java.util.Map resources
static void <clinit> ()
}
org/jetbrains/kotlin/preloading/Preloader$1.class
Preloader.java
package org.jetbrains.kotlin.preloading
final org.jetbrains.kotlin.preloading.Preloader$1 extends java.lang.Object implements java.lang.Runnable {
final synthetic org.jetbrains.kotlin.preloading.Preloader$Options val$options
final synthetic long val$startTime
final synthetic org.jetbrains.kotlin.preloading.Preloader$Handler val$handler
void <init> (org.jetbrains.kotlin.preloading.Preloader$Options, long, org.jetbrains.kotlin.preloading.Preloader$Handler)
public void run ()
}
org/jetbrains/kotlin/preloading/ProfilingInstrumenterExample$1.class
ProfilingInstrumenterExample.java
package org.jetbrains.kotlin.preloading
final org.jetbrains.kotlin.preloading.ProfilingInstrumenterExample$1 extends org.jetbrains.kotlin.preloading.ProfilingInstrumenterExample$FirstArgumentCollector {
void <init> ()
protected boolean accept (java.lang.Object)
Object arg
}
org/jetbrains/kotlin/preloading/instrumentation/
org/jetbrains/kotlin/preloading/instrumentation/FieldData.class
FieldData.java
package org.jetbrains.kotlin.preloading.instrumentation
org.jetbrains.kotlin.preloading.instrumentation.FieldData extends org.jetbrains.kotlin.preloading.instrumentation.MemberData {
private final org.jetbrains.org.objectweb.asm.Type runtimeType
public void <init> (java.lang.String, java.lang.String, java.lang.String, org.jetbrains.org.objectweb.asm.Type)
String declaringClass
String name
String desc
org.jetbrains.org.objectweb.asm.Type runtimeType
public org.jetbrains.org.objectweb.asm.Type getRuntimeType ()
}
org/jetbrains/kotlin/preloading/instrumentation/InterceptionInstrumenter$1$1.class
InterceptionInstrumenter.java
package org.jetbrains.kotlin.preloading.instrumentation
org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$1$1 extends org.jetbrains.org.objectweb.asm.MethodVisitor {
private org.jetbrains.org.objectweb.asm.commons.InstructionAdapter ia
final synthetic int val$maxStackDepth
final synthetic java.util.List val$enterData
final synthetic int val$access
final synthetic String val$name
final synthetic String val$desc
final synthetic boolean val$isConstructor
final synthetic java.util.List val$normalReturnData
final synthetic java.util.List val$exceptionData
final synthetic org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$1 this$1
void <init> (org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$1, int, org.jetbrains.org.objectweb.asm.MethodVisitor, int, java.util.List, int, java.lang.String, java.lang.String, boolean, java.util.List, java.util.List)
org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$1 this$1
int x0
org.jetbrains.org.objectweb.asm.MethodVisitor x1
private org.jetbrains.org.objectweb.asm.commons.InstructionAdapter getInstructionAdapter ()
public void visitMaxs (int, int)
int maxStack
int maxLocals
public void visitCode ()
org.jetbrains.kotlin.preloading.instrumentation.MethodData methodData
public void visitInsn (int)
org.jetbrains.kotlin.preloading.instrumentation.MethodData methodData
org.jetbrains.kotlin.preloading.instrumentation.MethodData methodData
int opcode
}
org/jetbrains/kotlin/preloading/instrumentation/InterceptionInstrumenter.class
InterceptionInstrumenter.java
package org.jetbrains.kotlin.preloading.instrumentation
public org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter extends java.lang.Object {
private static final java.util.regex.Pattern ANYTHING
private static final org.jetbrains.org.objectweb.asm.Type OBJECT_TYPE
private final java.util.Map classPatterns
private final java.util.Set neverMatchedClassPatterns
private final java.util.Set neverMatchedInstrumenters
private final java.util.List dumpTasks
public void <init> (java.util.List)
Class handlerClass
java.util.List handlerClasses
private void addHandlerClass (java.lang.Class)
Class[] parameterTypes
String name
org.jetbrains.kotlin.preloading.instrumentation.MethodData methodData
java.lang.reflect.Method method
java.lang.reflect.Method dumpMethod
Object interceptor
Class interceptorClass
org.jetbrains.kotlin.preloading.instrumentation.FieldData fieldData
java.util.List enterData
java.util.List normalReturnData
java.util.List exceptionData
java.util.List dumpMethods
String nameFromAnnotation
String methodName
org.jetbrains.kotlin.preloading.instrumentation.MethodInstrumenter instrumenter
IllegalAccessException e
org.jetbrains.kotlin.preloading.instrumentation.annotations.MethodInterceptor annotation
java.util.regex.Pattern classPattern
java.util.List instrumenters
java.lang.reflect.Field field
Class handlerClass
private java.util.List addClassPattern (java.util.regex.Pattern)
java.util.regex.Pattern classPattern
org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$ClassMatcher classMatcher
private static org.jetbrains.kotlin.preloading.instrumentation.FieldData getFieldData (java.lang.reflect.Field, java.lang.Class)
java.lang.reflect.Field field
Class runtimeType
private static org.jetbrains.kotlin.preloading.instrumentation.MethodData getMethodData (org.jetbrains.kotlin.preloading.instrumentation.FieldData, java.lang.reflect.Method)
java.lang.annotation.Annotation annotation
int i
org.jetbrains.kotlin.preloading.instrumentation.FieldData interceptorField
java.lang.reflect.Method method
java.lang.annotation.Annotation[][] parameterAnnotations
int thisParameterIndex
int classNameParameterIndex
int methodNameParameterIndex
int methodDescParameterIndex
int allArgsParameterIndex
private void addDumpTask (java.lang.Object, java.lang.reflect.Method, org.jetbrains.kotlin.preloading.instrumentation.MethodInstrumenter)
Object interceptor
java.lang.reflect.Method method
org.jetbrains.kotlin.preloading.instrumentation.MethodInstrumenter instrumenter
public byte[] instrument (java.lang.String, byte[])
String classPattern
org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$ClassMatcher classMatcher
java.util.Map$Entry classPatternEntry
String className
java.util.List applicableInstrumenters
Throwable e
String resourceName
byte[] data
private static java.lang.String stripClassSuffix (java.lang.String)
String name
String suffix
private byte[] instrument (byte[], java.util.List)
byte[] classData
java.util.List instrumenters
org.jetbrains.org.objectweb.asm.ClassReader cr
org.jetbrains.org.objectweb.asm.ClassWriter cw
private static org.jetbrains.org.objectweb.asm.commons.Method getAsmMethod (org.jetbrains.kotlin.preloading.instrumentation.MethodData)
org.jetbrains.kotlin.preloading.instrumentation.MethodData methodData
private static void invokeMethod (int, java.lang.String, java.lang.String, java.lang.String, org.jetbrains.org.objectweb.asm.commons.InstructionAdapter, org.jetbrains.kotlin.preloading.instrumentation.MethodData, boolean)
org.jetbrains.org.objectweb.asm.Type type
int parameterIndex
int offset
org.jetbrains.org.objectweb.asm.Type type
int i
org.jetbrains.org.objectweb.asm.Type[] instrumentedMethodParameterTypes
boolean isStatic
int base
int instrumentedMethodParameterIndex
int instrumentedMethodParameterOffset
int instrumentedMethodAccess
String instrumentedClassName
String instrumentedMethodName
String instrumentedMethodDesc
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter ia
org.jetbrains.kotlin.preloading.instrumentation.MethodData methodData
boolean thisUnavailable
org.jetbrains.kotlin.preloading.instrumentation.FieldData field
org.jetbrains.org.objectweb.asm.commons.Method asmMethod
org.jetbrains.org.objectweb.asm.Type[] interceptingMethodParameterTypes
int parameterCount
org.jetbrains.org.objectweb.asm.Type type
private static void boxOrCastIfNeeded (org.jetbrains.org.objectweb.asm.commons.InstructionAdapter, org.jetbrains.org.objectweb.asm.Type, org.jetbrains.org.objectweb.asm.Type)
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter ia
org.jetbrains.org.objectweb.asm.Type from
org.jetbrains.org.objectweb.asm.Type to
private static boolean isPrimitive (org.jetbrains.org.objectweb.asm.Type)
org.jetbrains.org.objectweb.asm.Type to
private static void box (org.jetbrains.org.objectweb.asm.commons.InstructionAdapter, org.jetbrains.org.objectweb.asm.Type, java.lang.Class)
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter ia
org.jetbrains.org.objectweb.asm.Type from
Class boxedClass
org.jetbrains.org.objectweb.asm.Type boxedType
public void dump (java.io.PrintStream)
org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$DumpAction task
String classPattern
org.jetbrains.kotlin.preloading.instrumentation.MethodInstrumenter instrumenter
java.io.PrintStream out
private static java.util.regex.Pattern compilePattern (java.lang.String)
String regex
private static synthetic void lambda$addDumpTask$1 (org.jetbrains.kotlin.preloading.instrumentation.MethodInstrumenter, java.lang.Object, java.lang.reflect.Method, java.io.PrintStream)
ReflectiveOperationException e
org.jetbrains.kotlin.preloading.instrumentation.MethodInstrumenter instrumenter
Object interceptor
java.lang.reflect.Method method
java.io.PrintStream out
private static synthetic void lambda$addHandlerClass$0 (java.lang.reflect.Field, java.lang.Class, java.io.PrintStream)
java.lang.reflect.Field field
Class interceptorClass
java.io.PrintStream out
static synthetic java.util.Set access$300 (org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter)
org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter x0
static synthetic void access$400 (int, java.lang.String, java.lang.String, java.lang.String, org.jetbrains.org.objectweb.asm.commons.InstructionAdapter, org.jetbrains.kotlin.preloading.instrumentation.MethodData, boolean)
int x0
String x1
String x2
String x3
org.jetbrains.org.objectweb.asm.commons.InstructionAdapter x4
org.jetbrains.kotlin.preloading.instrumentation.MethodData x5
boolean x6
static synthetic org.jetbrains.org.objectweb.asm.commons.Method access$500 (org.jetbrains.kotlin.preloading.instrumentation.MethodData)
org.jetbrains.kotlin.preloading.instrumentation.MethodData x0
static void <clinit> ()
}
org/jetbrains/kotlin/preloading/instrumentation/InterceptionInstrumenter$ClassMatcher.class
InterceptionInstrumenter.java
package org.jetbrains.kotlin.preloading.instrumentation
org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$ClassMatcher extends java.lang.Object {
private final java.util.regex.Pattern classPattern
private final java.util.List instrumenters
private void <init> (java.util.regex.Pattern)
java.util.regex.Pattern classPattern
synthetic void <init> (java.util.regex.Pattern, org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$1)
java.util.regex.Pattern x0
org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$1 x1
static synthetic java.util.List access$100 (org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$ClassMatcher)
org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$ClassMatcher x0
static synthetic java.util.regex.Pattern access$200 (org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$ClassMatcher)
org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$ClassMatcher x0
}
org/jetbrains/kotlin/preloading/instrumentation/InterceptionInstrumenter$1$2.class
InterceptionInstrumenter.java
package org.jetbrains.kotlin.preloading.instrumentation
org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$1$2 extends org.jetbrains.org.objectweb.asm.util.Textifier {
final synthetic String val$methodName
final synthetic String val$methodDesc
final synthetic org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$1 this$1
void <init> (org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$1, int, java.lang.String, java.lang.String)
org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$1 this$1
int x0
public void visitMethodEnd ()
Object line
}
org/jetbrains/kotlin/preloading/instrumentation/MemberData.class
MemberData.java
package org.jetbrains.kotlin.preloading.instrumentation
org.jetbrains.kotlin.preloading.instrumentation.MemberData extends java.lang.Object {
private final String declaringClass
private final String name
private final String desc
public void <init> (java.lang.String, java.lang.String, java.lang.String)
String declaringClass
String name
String desc
public java.lang.String getDeclaringClass ()
public java.lang.String getName ()
public java.lang.String getDesc ()
}
org/jetbrains/kotlin/preloading/instrumentation/InterceptionInstrumenter$DumpAction.class
InterceptionInstrumenter.java
package org.jetbrains.kotlin.preloading.instrumentation
abstract org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$DumpAction extends java.lang.Object {
public abstract void dump (java.io.PrintStream)
}
org/jetbrains/kotlin/preloading/instrumentation/InterceptionInstrumenterAdaptor.class
InterceptionInstrumenterAdaptor.java
package org.jetbrains.kotlin.preloading.instrumentation
public abstract org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenterAdaptor extends java.lang.Object implements org.jetbrains.kotlin.preloading.instrumentation.Instrumenter {
private final org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter instrumenter
public void <init> ()
public byte[] instrument (java.lang.String, byte[])
String resourceName
byte[] data
public void dump (java.io.PrintStream)
java.io.PrintStream out
}
org/jetbrains/kotlin/preloading/instrumentation/MethodData.class
MethodData.java
package org.jetbrains.kotlin.preloading.instrumentation
public org.jetbrains.kotlin.preloading.instrumentation.MethodData extends org.jetbrains.kotlin.preloading.instrumentation.MemberData {
private final org.jetbrains.kotlin.preloading.instrumentation.FieldData ownerField
private final int thisParameterIndex
private final int classNameParameterIndex
private final int methodNameParameterIndex
private final int methodDescParameterIndex
private final int allArgsParameterIndex
void <init> (org.jetbrains.kotlin.preloading.instrumentation.FieldData, java.lang.String, java.lang.String, java.lang.String, int, int, int, int, int)
org.jetbrains.kotlin.preloading.instrumentation.FieldData ownerField
String declaringClass
String name
String desc
int thisParameterIndex
int classNameParameterIndex
int methodNameParameterIndex
int methodDescParameterIndex
int allArgsParameterIndex
public org.jetbrains.kotlin.preloading.instrumentation.FieldData getOwnerField ()
public int getThisParameterIndex ()
public int getClassNameParameterIndex ()
public int getMethodNameParameterIndex ()
public int getMethodDescParameterIndex ()
public int getAllArgsParameterIndex ()
public volatile synthetic java.lang.String getDesc ()
public volatile synthetic java.lang.String getName ()
public volatile synthetic java.lang.String getDeclaringClass ()
}
org/jetbrains/kotlin/preloading/instrumentation/MethodInstrumenter.class
MethodInstrumenter.java
package org.jetbrains.kotlin.preloading.instrumentation
org.jetbrains.kotlin.preloading.instrumentation.MethodInstrumenter extends java.lang.Object {
private final String debugName
private final java.util.regex.Pattern classPattern
private final java.util.regex.Pattern namePattern
private final java.util.regex.Pattern descPattern
private final boolean allowMultipleMatches
private final java.util.List enterData
private final java.util.List normalReturnData
private final java.util.List exceptionData
private final boolean logApplications
private final boolean dumpByteCode
public void <init> (java.lang.String, java.util.regex.Pattern, java.util.regex.Pattern, java.util.regex.Pattern, boolean, java.util.List, java.util.List, java.util.List, boolean, boolean)
String debugName
java.util.regex.Pattern classPattern
java.util.regex.Pattern namePattern
java.util.regex.Pattern descPattern
boolean allowMultipleMatches
java.util.List enterData
java.util.List normalReturnData
java.util.List exceptionData
boolean logApplications
boolean dumpByteCode
public boolean allowsMultipleMatches ()
public void reportApplication (java.lang.String, java.lang.String, java.lang.String)
String className
String methodName
String methodDesc
public boolean isApplicable (java.lang.String, java.lang.String)
String name
String desc
public java.util.List getEnterData ()
public java.util.List getNormalReturnData ()
public java.util.List getExceptionData ()
boolean shouldDumpByteCode ()
public java.lang.String toString ()
}
org/jetbrains/kotlin/preloading/instrumentation/InterceptionInstrumenter$1.class
InterceptionInstrumenter.java
package org.jetbrains.kotlin.preloading.instrumentation
org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter$1 extends org.jetbrains.org.objectweb.asm.ClassVisitor {
private final java.util.Map matchedMethods
final synthetic java.util.List val$instrumenters
final synthetic org.jetbrains.org.objectweb.asm.ClassReader val$cr
final synthetic org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter this$0
void <init> (org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter, int, org.jetbrains.org.objectweb.asm.ClassVisitor, java.util.List, org.jetbrains.org.objectweb.asm.ClassReader)
org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenter this$0
int x0
org.jetbrains.org.objectweb.asm.ClassVisitor x1
public org.jetbrains.org.objectweb.asm.MethodVisitor visitMethod (int, java.lang.String, java.lang.String, java.lang.String, java.lang.String[])
org.jetbrains.kotlin.preloading.instrumentation.MethodInstrumenter instrumenter
org.jetbrains.kotlin.preloading.instrumentation.MethodInstrumenter instrumenter
int access
String name
String desc
String signature
String[] exceptions
org.jetbrains.org.objectweb.asm.MethodVisitor mv
java.util.List applicableInstrumenters
boolean dumpByteCode
java.util.List normalReturnData
java.util.List enterData
java.util.List exceptionData
int maxStackDepth
boolean isConstructor
private int getMaxStackDepth (java.lang.String, java.lang.String, java.util.List, java.util.List, java.util.List)
int depth
org.jetbrains.kotlin.preloading.instrumentation.MethodData methodData
String name
String desc
java.util.List normalReturnData
java.util.List enterData
java.util.List exceptionData
org.jetbrains.org.objectweb.asm.commons.Method methodBeingInstrumented
java.util.List allData
int maxStackDepth
private int stackDepth (org.jetbrains.kotlin.preloading.instrumentation.MethodData, org.jetbrains.org.objectweb.asm.commons.Method)
org.jetbrains.org.objectweb.asm.Type type
org.jetbrains.kotlin.preloading.instrumentation.MethodData methodData
org.jetbrains.org.objectweb.asm.commons.Method methodBeingInstrumented
org.jetbrains.org.objectweb.asm.commons.Method method
int allArgsStackDepth
int argsSize
int receiverSize
int exceptionSize
int returnValueSize
private void checkMultipleMatches (org.jetbrains.kotlin.preloading.instrumentation.MethodInstrumenter, java.lang.String, java.lang.String)
String erasedSignature
String alreadyMatched
org.jetbrains.kotlin.preloading.instrumentation.MethodInstrumenter instrumenter
String name
String desc
private org.jetbrains.org.objectweb.asm.util.TraceMethodVisitor getDumpingVisitorWrapper (org.jetbrains.org.objectweb.asm.MethodVisitor, java.lang.String, java.lang.String)
org.jetbrains.org.objectweb.asm.MethodVisitor mv
String methodName
String methodDesc
}
org/jetbrains/kotlin/preloading/instrumentation/Instrumenter$1.class
Instrumenter.java
package org.jetbrains.kotlin.preloading.instrumentation
final org.jetbrains.kotlin.preloading.instrumentation.Instrumenter$1 extends java.lang.Object implements org.jetbrains.kotlin.preloading.instrumentation.Instrumenter {
void <init> ()
public byte[] instrument (java.lang.String, byte[])
String resourceName
byte[] data
public void dump (java.io.PrintStream)
java.io.PrintStream out
}
org/jetbrains/kotlin/preloading/instrumentation/Instrumenter.class
Instrumenter.java
package org.jetbrains.kotlin.preloading.instrumentation
public abstract org.jetbrains.kotlin.preloading.instrumentation.Instrumenter extends java.lang.Object {
public static final org.jetbrains.kotlin.preloading.instrumentation.Instrumenter DO_NOTHING
public abstract byte[] instrument (java.lang.String, byte[])
public abstract void dump (java.io.PrintStream)
static void <clinit> ()
}
org/jetbrains/kotlin/preloading/instrumentation/annotations/
org/jetbrains/kotlin/preloading/instrumentation/annotations/MethodName.class
MethodName.java
package org.jetbrains.kotlin.preloading.instrumentation.annotations
public abstract annotation org.jetbrains.kotlin.preloading.instrumentation.annotations.MethodName extends java.lang.Object implements java.lang.annotation.Annotation {
}
org/jetbrains/kotlin/preloading/instrumentation/annotations/MethodInterceptor.class
MethodInterceptor.java
package org.jetbrains.kotlin.preloading.instrumentation.annotations
public abstract annotation org.jetbrains.kotlin.preloading.instrumentation.annotations.MethodInterceptor extends java.lang.Object implements java.lang.annotation.Annotation {
public abstract java.lang.String className ()
public abstract java.lang.String methodName ()
public abstract java.lang.String methodDesc ()
public abstract boolean allowMultipleMatches ()
public abstract boolean logInterceptions ()
public abstract boolean dumpByteCode ()
}
org/jetbrains/kotlin/preloading/instrumentation/annotations/This.class
This.java
package org.jetbrains.kotlin.preloading.instrumentation.annotations
public abstract annotation org.jetbrains.kotlin.preloading.instrumentation.annotations.This extends java.lang.Object implements java.lang.annotation.Annotation {
}
org/jetbrains/kotlin/preloading/instrumentation/annotations/AllArgs.class
AllArgs.java
package org.jetbrains.kotlin.preloading.instrumentation.annotations
public abstract annotation org.jetbrains.kotlin.preloading.instrumentation.annotations.AllArgs extends java.lang.Object implements java.lang.annotation.Annotation {
}
org/jetbrains/kotlin/preloading/instrumentation/annotations/MethodDesc.class
MethodDesc.java
package org.jetbrains.kotlin.preloading.instrumentation.annotations
public abstract annotation org.jetbrains.kotlin.preloading.instrumentation.annotations.MethodDesc extends java.lang.Object implements java.lang.annotation.Annotation {
}
org/jetbrains/kotlin/preloading/instrumentation/annotations/ClassName.class
ClassName.java
package org.jetbrains.kotlin.preloading.instrumentation.annotations
public abstract annotation org.jetbrains.kotlin.preloading.instrumentation.annotations.ClassName extends java.lang.Object implements java.lang.annotation.Annotation {
}
org/jetbrains/kotlin/preloading/ClassCondition.class
ClassCondition.java
package org.jetbrains.kotlin.preloading
public abstract org.jetbrains.kotlin.preloading.ClassCondition extends java.lang.Object {
public abstract boolean accept (java.lang.String)
}
org/jetbrains/kotlin/preloading/ResourceData$1$1.class
ResourceData.java
package org.jetbrains.kotlin.preloading
org.jetbrains.kotlin.preloading.ResourceData$1$1 extends java.net.URLConnection {
final synthetic org.jetbrains.kotlin.preloading.ResourceData$1 this$1
void <init> (org.jetbrains.kotlin.preloading.ResourceData$1, java.net.URL)
org.jetbrains.kotlin.preloading.ResourceData$1 this$1
java.net.URL x0
public void connect () throws java.io.IOException
public java.io.InputStream getInputStream () throws java.io.IOException
}
org/jetbrains/kotlin/preloading/Preloader$Handler.class
Preloader.java
package org.jetbrains.kotlin.preloading
org.jetbrains.kotlin.preloading.Preloader$Handler extends org.jetbrains.kotlin.preloading.ClassHandler {
private void <init> ()
public void done ()
synthetic void <init> (org.jetbrains.kotlin.preloading.Preloader$1)
org.jetbrains.kotlin.preloading.Preloader$1 x0
}
org/jetbrains/kotlin/preloading/ProfilingInstrumenterExample.class
ProfilingInstrumenterExample.java
package org.jetbrains.kotlin.preloading
public org.jetbrains.kotlin.preloading.ProfilingInstrumenterExample extends org.jetbrains.kotlin.preloading.instrumentation.InterceptionInstrumenterAdaptor {
public static final Object a
public static final Object b
public static Object c
public static Object d
public static Object e
public void <init> ()
static void <clinit> ()
}
org/jetbrains/kotlin/preloading/ClassHandler.class
ClassHandler.java
package org.jetbrains.kotlin.preloading
public abstract org.jetbrains.kotlin.preloading.ClassHandler extends java.lang.Object {
public void <init> ()
public byte[] instrument (java.lang.String, byte[])
String resourceName
byte[] data
public void beforeDefineClass (java.lang.String, int)
String name
int sizeInBytes
public void afterDefineClass (java.lang.String)
String name
public void beforeLoadJar (java.io.File)
java.io.File jarFile
public void afterLoadJar (java.io.File)
java.io.File jarFile
}
org/jetbrains/kotlin/preloading/Preloader$Options.class
Preloader.java
package org.jetbrains.kotlin.preloading
org.jetbrains.kotlin.preloading.Preloader$Options extends java.lang.Object {
public final java.util.List classpath
public final boolean measure
public final java.util.List instrumenters
public final int estimate
public final String mainClass
public final java.util.List arguments
private void <init> (java.util.List, boolean, java.util.List, int, java.lang.String, java.util.List)
java.util.List classpath
boolean measure
java.util.List instrumenters
int estimate
String mainClass
java.util.List arguments
synthetic void <init> (java.util.List, boolean, java.util.List, int, java.lang.String, java.util.List, org.jetbrains.kotlin.preloading.Preloader$1)
java.util.List x0
boolean x1
java.util.List x2
int x3
String x4
java.util.List x5
org.jetbrains.kotlin.preloading.Preloader$1 x6
}
org/jetbrains/kotlin/preloading/Preloader$2.class
Preloader.java
package org.jetbrains.kotlin.preloading
final org.jetbrains.kotlin.preloading.Preloader$2 extends org.jetbrains.kotlin.preloading.Preloader$Handler {
final synthetic int[] val$counter
final synthetic int[] val$size
final synthetic org.jetbrains.kotlin.preloading.instrumentation.Instrumenter val$instrumenter
void <init> (int[], int[], org.jetbrains.kotlin.preloading.instrumentation.Instrumenter)
public void beforeDefineClass (java.lang.String, int)
String name
int sizeInBytes
public void done ()
public byte[] instrument (java.lang.String, byte[])
String resourceName
byte[] data
}
org/jetbrains/kotlin/preloading/ProfilingInstrumenterExample$MethodCollector.class
ProfilingInstrumenterExample.java
package org.jetbrains.kotlin.preloading
public org.jetbrains.kotlin.preloading.ProfilingInstrumenterExample$MethodCollector extends java.lang.Object {
private final java.util.Collection collected
public void <init> ()
public void enter (java.lang.String, java.lang.String, java.lang.String)
String className
String name
String desc
public void dump (java.io.PrintStream)
String s
java.io.PrintStream out
}
org/jetbrains/kotlin/preloading/ResourceData$1.class
ResourceData.java
package org.jetbrains.kotlin.preloading
org.jetbrains.kotlin.preloading.ResourceData$1 extends java.net.URLStreamHandler {
final synthetic org.jetbrains.kotlin.preloading.ResourceData this$0
void <init> (org.jetbrains.kotlin.preloading.ResourceData)
org.jetbrains.kotlin.preloading.ResourceData this$0
protected java.net.URLConnection openConnection (java.net.URL) throws java.io.IOException
java.net.URL u
}
org/jetbrains/kotlin/preloading/MemoryBasedClassLoader.class
MemoryBasedClassLoader.java
package org.jetbrains.kotlin.preloading
public org.jetbrains.kotlin.preloading.MemoryBasedClassLoader extends java.lang.ClassLoader {
private final org.jetbrains.kotlin.preloading.ClassCondition classesToLoadByParent
private final ClassLoader parent
private final java.util.Map preloadedResources
private final org.jetbrains.kotlin.preloading.ClassHandler handler
private final ClassLoader fallbackResourceLoader
static final synthetic boolean $assertionsDisabled
public void <init> (org.jetbrains.kotlin.preloading.ClassCondition, java.lang.ClassLoader, java.util.Map, org.jetbrains.kotlin.preloading.ClassHandler, java.lang.ClassLoader)
org.jetbrains.kotlin.preloading.ClassCondition classesToLoadByParent
ClassLoader parent
java.util.Map preloadedResources
org.jetbrains.kotlin.preloading.ClassHandler handler
ClassLoader fallbackResourceLoader
protected synchronized java.lang.Class loadClass (java.lang.String, boolean) throws java.lang.ClassNotFoundException
ClassNotFoundException e
String name
boolean resolve
Class aClass
public java.lang.Class loadClass (java.lang.String) throws java.lang.ClassNotFoundException
String name
protected java.lang.Class findClass (java.lang.String) throws java.lang.ClassNotFoundException
String name
String internalName
Object resources
org.jetbrains.kotlin.preloading.ResourceData resourceData
int sizeInBytes
Class definedClass
public java.net.URL getResource (java.lang.String)
String name
java.net.URL resource
protected java.net.URL findResource (java.lang.String)
String name
java.util.Enumeration resources
public java.util.Enumeration getResources (java.lang.String) throws java.io.IOException
String name
java.util.Enumeration own
java.util.Enumeration fromParent
java.util.List result
protected java.util.Enumeration findResources (java.lang.String)
org.jetbrains.kotlin.preloading.ResourceData data
java.util.List resourceDatas
java.util.List urls
String name
Object resources
static void <clinit> ()
}
org/jetbrains/kotlin/preloading/ProfilingInstrumenterExample$FirstArgumentCollector.class
ProfilingInstrumenterExample.java
package org.jetbrains.kotlin.preloading
public abstract org.jetbrains.kotlin.preloading.ProfilingInstrumenterExample$FirstArgumentCollector extends java.lang.Object {
private final java.util.Collection collected
public void <init> ()
protected abstract boolean accept (java.lang.Object)
public void enter (java.lang.Object)
Object arg
public void dump (java.io.PrintStream)
java.io.PrintStream out
}