# Index

A B C D E F G I J K L M N O P S T U V W
All Classes and Interfaces|All Packages

## A

addJar(String) - Method in interface org.benf.cfr.reader.api.ClassFileSource
  CFR would like to know about all classes contained within the jar at `jarPath`
analyse(List<String>) - Method in interface org.benf.cfr.reader.api.CfrDriver
  Analyse and dump to configured output sink.

## B

build() - Method in class org.benf.cfr.reader.api.CfrDriver.Builder
  Given provided artifacts, build an instance of `CfrDriver`.
Builder() - Constructor for class org.benf.cfr.reader.api.CfrDriver.Builder

## C

CfrDriver - Interface in org.benf.cfr.reader.api
  Main driver for CFR API.
CfrDriver.Builder - Class in org.benf.cfr.reader.api
  Builder for `CfrDriver` Note that *all* parameters are optional.
ClassFileSource - Interface in org.benf.cfr.reader.api
  Implementing your own `ClassFileSource` allows you to override CFR's sourcing of byte code.
ClassFileSource.Factory - Class in org.benf.cfr.reader.api
  Helper to construct "Standard" `ClassFileSource`, which may be useful for delegating to.
COMMENT - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType

## D

DECOMPILED - Enum constant in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkClass
  Sinks will accept `SinkReturns.Decompiled`
DECOMPILED_MULTIVER - Enum constant in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkClass
  Sinks will accept `SinkReturns.DecompiledMultiVer`
DEFINES - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenTypeFlags

## E

EOF - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType
EXCEPTION - Enum constant in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkType
  This sink will receive any exceptions that occur
EXCEPTION_MESSAGE - Enum constant in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkClass
  Sinks will accept `SinkReturns.ExceptionMessage`
EXPLICIT_INDENT - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType

## F

Factory() - Constructor for class org.benf.cfr.reader.api.ClassFileSource.Factory
FIELD - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType

## G

getClassFileContent(String) - Method in interface org.benf.cfr.reader.api.ClassFileSource
  Given a path to a class file, return a pair of * the content, as a byte array.
getClassFileMappings() - Method in interface org.benf.cfr.reader.api.SinkReturns.LineNumberMapping
getClassName() - Method in interface org.benf.cfr.reader.api.SinkReturns.Decompiled
getFlags() - Method in interface org.benf.cfr.reader.api.SinkReturns.Token
getJava() - Method in interface org.benf.cfr.reader.api.SinkReturns.Decompiled
getMappings() - Method in interface org.benf.cfr.reader.api.SinkReturns.LineNumberMapping
getMessage() - Method in interface org.benf.cfr.reader.api.SinkReturns.ExceptionMessage
getPackageName() - Method in interface org.benf.cfr.reader.api.SinkReturns.Decompiled
getPath() - Method in interface org.benf.cfr.reader.api.SinkReturns.ExceptionMessage
getPossiblyRenamedPath(String) - Method in interface org.benf.cfr.reader.api.ClassFileSource
  It's possible that an obfuscator might have generated a bizarre and magic file inside a jar such that it's path is too big to read.
getRawValue() - Method in interface org.benf.cfr.reader.api.SinkReturns.Token
getRuntimeFrom() - Method in interface org.benf.cfr.reader.api.SinkReturns.DecompiledMultiVer
  Returns the version of the runtime that this class is visible from.
getSink(OutputSinkFactory.SinkType, OutputSinkFactory.SinkClass) - Method in interface org.benf.cfr.reader.api.OutputSinkFactory
  CFR wishes to sink output - return an implementation of Sink that takes the appropriate input for the SinkClass being sunk, or null.
getSupportedSinks(OutputSinkFactory.SinkType, Collection<OutputSinkFactory.SinkClass>) - Method in interface org.benf.cfr.reader.api.OutputSinkFactory
  Return the classes of sink that this sink factory can provide for the given sink type.
getText() - Method in interface org.benf.cfr.reader.api.SinkReturns.Token
getThrownException() - Method in interface org.benf.cfr.reader.api.SinkReturns.ExceptionMessage
getTokenType() - Method in interface org.benf.cfr.reader.api.SinkReturns.Token

## I

IDENTIFIER - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType
INDENT - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType
informAnalysisRelativePathDetail(String, String) - Method in interface org.benf.cfr.reader.api.ClassFileSource
  CFR has loaded your class, and it has decided that if it were in the correct location, it would instead be at `classFilePath`.
isControl() - Method in enum class org.benf.cfr.reader.api.SinkReturns.TokenType
  Is this a 'control' token? I.e.

## J

JAVA - Enum constant in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkType
  This sink will receive decompiled class files as java

## K

KEYWORD - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType

## L

LABEL - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType
LINE_NUMBER_MAPPING - Enum constant in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkClass
  Sink will accept `SinkReturns.LineNumberMapping`s This will contain a mapping, per method, of bytecode location in a method to the line number in the generated text.
LINENUMBER - Enum constant in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkType
  This sink will receive line number information
LITERAL - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType

## M

METHOD - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType
methodDescriptor() - Method in interface org.benf.cfr.reader.api.SinkReturns.LineNumberMapping
methodName() - Method in interface org.benf.cfr.reader.api.SinkReturns.LineNumberMapping

## N

NEWLINE - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType

## O

OPERATOR - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType
org.benf.cfr.reader.api - package org.benf.cfr.reader.api
OutputSinkFactory - Interface in org.benf.cfr.reader.api
OutputSinkFactory.Sink<T> - Interface in org.benf.cfr.reader.api
  NB Sink as opposed to a stream, means that implementor has the choice of when to close.
OutputSinkFactory.SinkClass - Enum Class in org.benf.cfr.reader.api
  Defines the kind of object that will arrive on your sink.
  All consumers should accept at least STRING.
  Not all classes are appropriate to all sink types.
  `OutputSinkFactory.Sink` instances are constructed, and used in terms of sink classes so as to ensure easy future expansion of capabilities without breaking the ABI, and without being entirely weakly typed.
OutputSinkFactory.SinkType - Enum Class in org.benf.cfr.reader.api
  Defines the kind of sink this is.

## P

PROGRESS - Enum constant in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkType
  This sink will receive updates on files being processed.

## S

SEPARATOR - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType
sinkClass - Variable in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkClass
  Get the type of message that the sink will be expected to take.
SinkReturns - Interface in org.benf.cfr.reader.api
  Sinks will accept (as defined by `OutputSinkFactory.SinkClass` various types of messages.
SinkReturns.Decompiled - Interface in org.benf.cfr.reader.api
  Fuller decompilation than simply accepting STRING.
SinkReturns.DecompiledMultiVer - Interface in org.benf.cfr.reader.api
  Extends `SinkReturns.Decompiled` to describe which version of JVM this class is visible from.
SinkReturns.ExceptionMessage - Interface in org.benf.cfr.reader.api
  An exception message with more detail.
SinkReturns.LineNumberMapping - Interface in org.benf.cfr.reader.api
SinkReturns.Token - Interface in org.benf.cfr.reader.api
SinkReturns.TokenType - Enum Class in org.benf.cfr.reader.api
SinkReturns.TokenTypeFlags - Enum Class in org.benf.cfr.reader.api
STRING - Enum constant in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkClass
  Sinks will accept a string
SUMMARY - Enum constant in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkType
  This sink will receive a top level summary

## T

TOKEN_STREAM - Enum constant in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkClass
  Sinks will accept a stream of `SinkReturns.Token`, terminating in an EOF token for any given file.

## U

UNCLASSIFIED - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType
UNINDENT - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType

## V

valueOf(String) - Static method in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkClass
  Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkType
  Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.benf.cfr.reader.api.SinkReturns.TokenType
  Returns the enum constant of this class with the specified name.
valueOf(String) - Static method in enum class org.benf.cfr.reader.api.SinkReturns.TokenTypeFlags
  Returns the enum constant of this class with the specified name.
values() - Static method in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkClass
  Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.benf.cfr.reader.api.OutputSinkFactory.SinkType
  Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.benf.cfr.reader.api.SinkReturns.TokenType
  Returns an array containing the constants of this enum class, in the order they are declared.
values() - Static method in enum class org.benf.cfr.reader.api.SinkReturns.TokenTypeFlags
  Returns an array containing the constants of this enum class, in the order they are declared.

## W

WHITESPACE - Enum constant in enum class org.benf.cfr.reader.api.SinkReturns.TokenType
withBuiltOptions(Options) - Method in class org.benf.cfr.reader.api.CfrDriver.Builder
  Note - the `Options` interface is *not* guaranteed to be stable.
withClassFileSource(ClassFileSource) - Method in class org.benf.cfr.reader.api.CfrDriver.Builder
  Overrides where CFR searches for bytecode.
withOptions(Map<String, String>) - Method in class org.benf.cfr.reader.api.CfrDriver.Builder
  A map, equivalent to the command line options that are passed to CFR.
withOutputSink(OutputSinkFactory) - Method in class org.benf.cfr.reader.api.CfrDriver.Builder
  Handle how results / output are provided.
withOverrideClassFileSource(ClassFileSource) - Method in class org.benf.cfr.reader.api.CfrDriver.Builder
  Allows overrides of where CFR searches for bytecode, but will fall back to default behaviour if null is returned.
write(T) - Method in interface org.benf.cfr.reader.api.OutputSinkFactory.Sink
  Consume a message.

A B C D E F G I J K L M N O P S T U V W
All Classes and Interfaces|All Packages